Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2018-11-06 08:45:59 +0000
committerVincent Lorenzo2018-11-28 14:56:45 +0000
commit6e99889b81f2ce61920c24ac0f5233e8db82ed57 (patch)
tree488a6c3228544c695c0f0243bab0aa3c20b55118
parent6326a3ec71938d190d57f2e2dbc0f622ee3551f7 (diff)
downloadorg.eclipse.papyrus-collaborativemodeling-6e99889b81f2ce61920c24ac0f5233e8db82ed57.tar.gz
org.eclipse.papyrus-collaborativemodeling-6e99889b81f2ce61920c24ac0f5233e8db82ed57.tar.xz
org.eclipse.papyrus-collaborativemodeling-6e99889b81f2ce61920c24ac0f5233e8db82ed57.zip
Bug [540814]: Provide a CDO-native implementation of UML2
+ contribute to feature + add pom.xml TODO in another commit: provided JUnit tests are not yet included into the build Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=540814 Change-Id: I26dba58f7b2804abe895e6c75fb8bfddbcea895b Signed-off-by: Eike Stepper <stepper@esc-net.de> Signed-off-by: Vincent Lorenzo <vincent.lorenzo@cea.fr>
-rw-r--r--cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/plugin.xml4
-rwxr-xr-xcdo/bundles/pom.xml1
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.classpath7
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.gitignore2
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.project38
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.settings/org.eclipse.jdt.core.prefs430
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.settings/org.eclipse.jdt.ui.prefs131
-rwxr-xr-xcdo/bundles/uml/org.eclipse.uml2.uml.cdo/META-INF/MANIFEST.MF24
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/Migrate UML2.launch20
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/UML Explorer.launch36
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/UML2CDOConfiguration.setup93
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/about.html28
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/build.properties32
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/migrate.ant212
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/plugin.properties14
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/plugin.xml54
-rwxr-xr-xcdo/bundles/uml/org.eclipse.uml2.uml.cdo/pom.xml16
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/UMLCDOPlugin.java51
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AbstractionImpl.java420
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AcceptCallActionImpl.java826
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AcceptEventActionImpl.java973
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActionExecutionSpecificationImpl.java482
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActionImpl.java1010
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActionInputPinImpl.java909
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityEdgeImpl.java1297
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityFinalNodeImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityGroupImpl.java834
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityImpl.java2153
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityNodeImpl.java1110
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityParameterNodeImpl.java676
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityPartitionImpl.java1095
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActorImpl.java382
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AddStructuralFeatureValueActionImpl.java899
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AddVariableValueActionImpl.java848
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AnyReceiveEventImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ArtifactImpl.java1501
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AssociationClassImpl.java1956
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AssociationImpl.java1644
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehaviorExecutionSpecificationImpl.java319
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehaviorImpl.java1994
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehavioralFeatureImpl.java1519
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehavioredClassifierImpl.java1336
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BroadcastSignalActionImpl.java654
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallActionImpl.java878
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallBehaviorActionImpl.java708
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallEventImpl.java261
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallOperationActionImpl.java904
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CentralBufferNodeImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ChangeEventImpl.java386
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClassImpl.java2265
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClassifierImpl.java3268
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClassifierTemplateParameterImpl.java680
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClauseImpl.java601
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClearAssociationActionImpl.java809
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClearStructuralFeatureActionImpl.java792
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClearVariableActionImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CollaborationImpl.java1594
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CollaborationUseImpl.java592
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CombinedFragmentImpl.java721
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CommentImpl.java230
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CommunicationPathImpl.java385
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ComponentImpl.java1591
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ComponentRealizationImpl.java642
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConditionalNodeImpl.java1255
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectableElementImpl.java758
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectableElementTemplateParameterImpl.java374
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectionPointReferenceImpl.java674
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectorEndImpl.java544
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectorImpl.java766
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConsiderIgnoreFragmentImpl.java518
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConstraintImpl.java759
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ContinuationImpl.java472
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ControlFlowImpl.java231
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ControlNodeImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CreateLinkActionImpl.java684
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CreateLinkObjectActionImpl.java817
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CreateObjectActionImpl.java826
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DataStoreNodeImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DataTypeImpl.java1288
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DecisionNodeImpl.java684
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DependencyImpl.java544
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeployedArtifactImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeploymentImpl.java746
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeploymentSpecificationImpl.java1278
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeploymentTargetImpl.java429
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DestroyLinkActionImpl.java482
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DestroyObjectActionImpl.java851
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DestructionOccurrenceSpecificationImpl.java225
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeviceImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DirectedRelationshipImpl.java238
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationConstraintImpl.java601
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationImpl.java633
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationIntervalImpl.java352
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationObservationImpl.java465
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ElementImpl.java1023
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ElementImportImpl.java731
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EncapsulatedClassifierImpl.java691
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EnumerationImpl.java1081
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EnumerationLiteralImpl.java713
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EventImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExceptionHandlerImpl.java659
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutableNodeImpl.java481
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutionEnvironmentImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutionOccurrenceSpecificationImpl.java318
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutionSpecificationImpl.java493
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExpansionNodeImpl.java777
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExpansionRegionImpl.java814
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExpressionImpl.java460
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtendImpl.java959
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtensionEndImpl.java977
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtensionImpl.java1197
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtensionPointImpl.java549
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FeatureImpl.java358
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FinalNodeImpl.java230
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FinalStateImpl.java383
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FlowFinalNodeImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ForkNodeImpl.java243
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FunctionBehaviorImpl.java442
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GateImpl.java415
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GeneralOrderingImpl.java523
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GeneralizationImpl.java570
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GeneralizationSetImpl.java665
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ImageImpl.java329
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/IncludeImpl.java619
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InformationFlowImpl.java986
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InformationItemImpl.java862
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InitialNodeImpl.java244
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InputPinImpl.java295
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InstanceSpecificationImpl.java1143
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InstanceValueImpl.java451
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionConstraintImpl.java756
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionFragmentImpl.java633
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionImpl.java2104
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionOperandImpl.java1170
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionUseImpl.java898
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InterfaceImpl.java1687
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InterfaceRealizationImpl.java625
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InterruptibleActivityRegionImpl.java615
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/IntervalConstraintImpl.java380
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/IntervalImpl.java319
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InvocationActionImpl.java604
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/JoinNodeImpl.java718
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LifelineImpl.java844
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkActionImpl.java887
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkEndCreationDataImpl.java438
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkEndDataImpl.java556
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkEndDestructionDataImpl.java441
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralBooleanImpl.java468
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralIntegerImpl.java467
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralNullImpl.java237
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralRealImpl.java471
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralSpecificationImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralStringImpl.java499
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralUnlimitedNaturalImpl.java468
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LoopNodeImpl.java1699
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ManifestationImpl.java376
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MergeNodeImpl.java243
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageEndImpl.java447
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageEventImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageImpl.java1014
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageOccurrenceSpecificationImpl.java594
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ModelImpl.java710
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MultiplicityElementImpl.java827
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/NamedElementImpl.java969
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/NamespaceImpl.java1063
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/NodeImpl.java1523
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ObjectFlowImpl.java792
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ObjectNodeImpl.java958
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ObservationImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OccurrenceSpecificationImpl.java639
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OpaqueActionImpl.java973
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OpaqueBehaviorImpl.java792
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OpaqueExpressionImpl.java669
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OperationImpl.java2529
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OperationTemplateParameterImpl.java496
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OutputPinImpl.java295
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageImpl.java2190
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageImportImpl.java642
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageMergeImpl.java472
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageableElementImpl.java769
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ParameterImpl.java1761
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ParameterSetImpl.java622
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ParameterableElementImpl.java551
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PartDecompositionImpl.java261
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PinImpl.java1310
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PortImpl.java1357
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PrimitiveTypeImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProfileApplicationImpl.java658
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProfileImpl.java1177
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PropertyImpl.java2764
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProtocolConformanceImpl.java482
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProtocolStateMachineImpl.java1511
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProtocolTransitionImpl.java1087
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PseudostateImpl.java786
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/QualifierValueImpl.java386
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RaiseExceptionActionImpl.java560
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadExtentActionImpl.java797
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadIsClassifiedObjectActionImpl.java1026
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadLinkActionImpl.java847
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadLinkObjectEndActionImpl.java1013
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadLinkObjectEndQualifierActionImpl.java1039
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadSelfActionImpl.java774
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadStructuralFeatureActionImpl.java797
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadVariableActionImpl.java767
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RealizationImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReceptionImpl.java635
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReclassifyObjectActionImpl.java930
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RedefinableElementImpl.java631
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RedefinableTemplateSignatureImpl.java1161
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReduceActionImpl.java984
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RegionImpl.java1380
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RelationshipImpl.java144
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RemoveStructuralFeatureValueActionImpl.java886
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RemoveVariableValueActionImpl.java835
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReplyActionImpl.java893
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SendObjectActionImpl.java887
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SendSignalActionImpl.java846
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SequenceNodeImpl.java750
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SignalEventImpl.java261
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SignalImpl.java1032
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SlotImpl.java482
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StartClassifierBehaviorActionImpl.java763
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StartObjectBehaviorActionImpl.java903
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StateImpl.java2161
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StateInvariantImpl.java502
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StateMachineImpl.java1773
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StereotypeImpl.java1391
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StringExpressionImpl.java1072
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuralFeatureActionImpl.java855
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuralFeatureImpl.java1181
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuredActivityNodeImpl.java2604
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuredClassifierImpl.java1432
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SubstitutionImpl.java621
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateBindingImpl.java704
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateParameterImpl.java831
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateParameterSubstitutionImpl.java699
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateSignatureImpl.java640
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateableElementImpl.java562
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TestIdentityActionImpl.java983
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeConstraintImpl.java600
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeEventImpl.java594
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeExpressionImpl.java636
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeIntervalImpl.java352
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeObservationImpl.java307
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TransitionImpl.java1629
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TriggerImpl.java446
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TypeImpl.java539
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TypedElementImpl.java236
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UMLFactoryImpl.java3065
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UMLPackageImpl.java17573
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UnmarshallActionImpl.java984
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UsageImpl.java50
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UseCaseImpl.java1372
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ValuePinImpl.java892
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ValueSpecificationActionImpl.java892
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ValueSpecificationImpl.java541
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/VariableActionImpl.java599
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/VariableImpl.java1305
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/VertexImpl.java620
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/WriteLinkActionImpl.java249
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/WriteStructuralFeatureActionImpl.java969
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/WriteVariableActionImpl.java773
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/CDOCacheAdapter.java301
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/CDOElementImpl.java52
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEDataTypeEList.java258
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEDataTypeUniqueEList.java55
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectContainmentEList.java146
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectContainmentWithInverseEList.java142
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectEList.java259
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectResolvingEList.java82
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectWithInverseEList.java135
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectWithInverseResolvingEList.java120
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/basicSetGenFeature.post.insert.javajetinc40
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/basicSetGenFeature.post.insert.javajetinc.orig38
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/dynamicDelegation.javajetinc.does-not-work30
-rw-r--r--cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/dynamicSetGenFeature.post.insert.javajetinc1
-rwxr-xr-xcdo/bundles/uml/pom.xml20
-rwxr-xr-xcdo/features/org.eclipse.papyrus.cdo.feature/feature.xml2
-rwxr-xr-xcdo/features/org.eclipse.papyrus.cdo.models.feature/feature.xml6
-rwxr-xr-xcdo/releng/targetplatforms/eclipse/org.eclipse.papyrus.cdo.targetplatform.target12
-rwxr-xr-xcdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.target12
-rwxr-xr-xcdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.tpd14
-rwxr-xr-xcdo/tests/pom.xml3
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.classpath7
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.gitignore4
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.project38
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.settings/org.eclipse.jdt.core.prefs430
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.settings/org.eclipse.jdt.ui.prefs131
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/META-INF/MANIFEST.MF26
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Bug Tests (CDO).launch45
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Bug Tests (EMF).launch21
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Cache Adapter Test (CDO).launch20
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Cache Adapter Test (EMF).launch20
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Compliance Tests (CDO).launch20
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Compliance Tests (EMF).launch20
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Self Test.launch20
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/about.html28
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/build.properties33
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/plugin.properties14
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/pom.xml16
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/AbstractUMLTest.java291
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/CacheAdapterTest.java192
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/UMLSelfTest.java130
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AbstractionTest.java2152
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AcceptCallActionTest.java771
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AcceptEventActionTest.java762
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActionExecutionSpecificationTest.java523
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActionInputPinTest.java1524
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityFinalNodeTest.java627
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityParameterNodeTest.java1027
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityPartitionTest.java1815
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityTest.java1513
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActorTest.java554
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AddStructuralFeatureValueActionTest.java942
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AddVariableValueActionTest.java838
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AnyReceiveEventTest.java98
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ArtifactTest.java578
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AssociationClassTest.java952
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AssociationTest.java610
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/BehaviorExecutionSpecificationTest.java222
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/BroadcastSignalActionTest.java818
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CallBehaviorActionTest.java801
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CallEventTest.java105
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CallOperationActionTest.java850
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CentralBufferNodeTest.java967
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ChangeEventTest.java218
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClassTest.java854
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClassifierTemplateParameterTest.java412
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClauseTest.java521
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClearAssociationActionTest.java831
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClearStructuralFeatureActionTest.java870
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClearVariableActionTest.java780
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CollaborationTest.java676
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CollaborationUseTest.java155
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CombinedFragmentTest.java143
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CommentTest.java1068
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CommunicationPathTest.java641
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ComponentRealizationTest.java2496
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ComponentTest.java1255
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConditionalNodeTest.java1401
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectableElementTemplateParameterTest.java882
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectionPointReferenceTest.java134
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectorEndTest.java347
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectorTest.java172
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConsiderIgnoreFragmentTest.java1051
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConstraintTest.java1506
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ContinuationTest.java119
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ControlFlowTest.java1162
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CreateLinkActionTest.java780
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CreateLinkObjectActionTest.java829
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CreateObjectActionTest.java941
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DataStoreNodeTest.java949
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DataTypeTest.java550
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DecisionNodeTest.java635
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DependencyTest.java2133
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DeploymentSpecificationTest.java684
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DeploymentTest.java2238
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DestroyLinkActionTest.java781
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DestroyObjectActionTest.java795
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DestructionOccurrenceSpecificationTest.java168
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DeviceTest.java851
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationConstraintTest.java1453
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationIntervalTest.java299
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationObservationTest.java1225
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationTest.java408
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ElementImportTest.java974
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/EnumerationLiteralTest.java418
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/EnumerationTest.java574
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExceptionHandlerTest.java854
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExecutionEnvironmentTest.java984
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExecutionOccurrenceSpecificationTest.java177
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExpansionNodeTest.java967
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExpansionRegionTest.java1400
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExpressionTest.java375
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtendTest.java173
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtensionEndTest.java722
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtensionPointTest.java108
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtensionTest.java579
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/FinalStateTest.java362
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/FlowFinalNodeTest.java613
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ForkNodeTest.java598
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/FunctionBehaviorTest.java992
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GateTest.java84
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GeneralOrderingTest.java136
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GeneralizationSetTest.java290
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GeneralizationTest.java513
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ImageTest.java54
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/IncludeTest.java120
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InformationFlowTest.java2477
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InformationItemTest.java660
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InitialNodeTest.java609
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InputPinTest.java1131
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InstanceSpecificationTest.java428
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InstanceValueTest.java294
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionConstraintTest.java1857
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionOperandTest.java337
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionTest.java1443
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionUseTest.java381
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InterfaceRealizationTest.java2480
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InterfaceTest.java740
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InterruptibleActivityRegionTest.java570
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/IntervalConstraintTest.java1468
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/IntervalTest.java463
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/JoinNodeTest.java715
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LifelineTest.java328
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LinkEndCreationDataTest.java143
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LinkEndDataTest.java111
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LinkEndDestructionDataTest.java143
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralBooleanTest.java278
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralIntegerTest.java278
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralNullTest.java277
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralRealTest.java277
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralStringTest.java278
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralUnlimitedNaturalTest.java302
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LoopNodeTest.java1924
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ManifestationTest.java2658
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/MergeNodeTest.java601
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/MessageOccurrenceSpecificationTest.java167
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/MessageTest.java1362
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ModelTest.java678
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/NodeTest.java844
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ObjectFlowTest.java1187
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OccurrenceSpecificationTest.java152
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OpaqueActionTest.java752
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OpaqueBehaviorTest.java975
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OpaqueExpressionTest.java316
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OperationTemplateParameterTest.java91
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OperationTest.java725
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OutputPinTest.java1143
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PackageImportTest.java478
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PackageMergeTest.java129
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PackageTest.java687
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ParameterSetTest.java125
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ParameterTest.java623
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PartDecompositionTest.java388
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PortTest.java872
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PrimitiveTypeTest.java572
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProfileApplicationTest.java116
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProfileTest.java705
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PropertyTest.java844
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProtocolConformanceTest.java113
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProtocolStateMachineTest.java1199
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProtocolTransitionTest.java438
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PseudostateTest.java121
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/QualifierValueTest.java100
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RaiseExceptionActionTest.java797
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadExtentActionTest.java931
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadIsClassifiedObjectActionTest.java1040
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadLinkActionTest.java790
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadLinkObjectEndActionTest.java842
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadLinkObjectEndQualifierActionTest.java891
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadSelfActionTest.java743
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadStructuralFeatureActionTest.java863
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadVariableActionTest.java765
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RealizationTest.java2152
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReceptionTest.java394
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReclassifyObjectActionTest.java1061
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RedefinableTemplateSignatureTest.java444
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReduceActionTest.java771
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RegionTest.java272
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RemoveStructuralFeatureValueActionTest.java956
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RemoveVariableValueActionTest.java856
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReplyActionTest.java772
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SendObjectActionTest.java802
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SendSignalActionTest.java803
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SequenceNodeTest.java1085
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SignalEventTest.java106
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SignalTest.java536
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SlotTest.java192
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StartClassifierBehaviorActionTest.java838
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StartObjectBehaviorActionTest.java864
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StateInvariantTest.java165
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StateMachineTest.java994
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StateTest.java353
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StereotypeTest.java883
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StringExpressionTest.java432
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StructuredActivityNodeTest.java1460
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SubstitutionTest.java2561
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateBindingTest.java158
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateParameterSubstitutionTest.java850
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateParameterTest.java1886
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateSignatureTest.java164
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TestIdentityActionTest.java803
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeConstraintTest.java1425
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeEventTest.java106
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeExpressionTest.java421
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeIntervalTest.java297
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeObservationTest.java1241
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TransitionTest.java335
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TriggerTest.java120
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/UnmarshallActionTest.java954
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/UsageTest.java2104
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/UseCaseTest.java710
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ValuePinTest.java1234
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ValueSpecificationActionTest.java937
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/VariableTest.java553
-rwxr-xr-xcdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/_Abstract_Compliance_Test_.java52
-rwxr-xr-xcdo/tests/uml/pom.xml15
498 files changed, 359334 insertions, 9 deletions
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/plugin.xml b/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/plugin.xml
index 9f7232e9..db9b626f 100644
--- a/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/plugin.xml
+++ b/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/plugin.xml
@@ -5,6 +5,6 @@
<factory
uri="http://www.eclipse.org/gmf/runtime/1.0.2/notation"
class="org.eclipse.papyrus.infra.gmfdiag.css.cdo.factory.CSSNotationFactory"
- predecessor="org.eclipse.papyrus.infra.gmfdiag.css.factory.CSSNotationFactory" />
- </extension>
+ predecessor="org.eclipse.emf.cdo.gmf.notation.impl.NotationFactoryImpl org.eclipse.papyrus.infra.gmfdiag.css.factory.CSSNotationFactory" />
+ </extension>
</plugin>
diff --git a/cdo/bundles/pom.xml b/cdo/bundles/pom.xml
index 3326adb8..b1b8eeaf 100755
--- a/cdo/bundles/pom.xml
+++ b/cdo/bundles/pom.xml
@@ -29,6 +29,7 @@
<module>org.eclipse.papyrus.infra.gmfdiag.css.cdo</module>
<module>org.eclipse.papyrus.infra.gmfdiag.style.cdo</module>
+ <module>uml</module>
</modules>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.classpath b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.classpath
new file mode 100644
index 00000000..304e8618
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.gitignore b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.gitignore
new file mode 100644
index 00000000..8000a78c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.gitignore
@@ -0,0 +1,2 @@
+bin
+/target/
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.project b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.project
new file mode 100644
index 00000000..00579f87
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.project
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.uml2.uml.cdo</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <!--
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ -->
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <!--
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ -->
+ </natures>
+</projectDescription>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.settings/org.eclipse.jdt.core.prefs b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..b0f04eed
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,430 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=ignore
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=ignore
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
+org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
+org.eclipse.jdt.core.formatter.align_with_spaces=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=20
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=20
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=20
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=20
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=53
+org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=53
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=20
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=20
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=33
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=33
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=33
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=17
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=33
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=false
+org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=80
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.settings/org.eclipse.jdt.ui.prefs b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000..d4efc62b
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,131 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=false
+cleanup.remove_redundant_type_arguments=false
+cleanup.remove_trailing_whitespaces=false
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=false
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=org.eclipse.jdt.ui.default.eclipse_clean_up_profile
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=false
+formatter_profile=_UML2CodeFormatter.profile
+formatter_settings_version=14
+org.eclipse.jdt.ui.exception.name=e
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.staticondemandthreshold=99
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=false
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/META-INF/MANIFEST.MF b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/META-INF/MANIFEST.MF
new file mode 100755
index 00000000..9520e97c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.uml2.uml.cdo; singleton:=true
+Bundle-Version: 5.4.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.uml2.uml.cdo.internal.UMLCDOPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.uml2.uml.cdo.internal.impl;x-friends:="org.eclipse.uml2.uml.cdo.tests",
+ org.eclipse.uml2.uml.cdo.internal.util;x-friends:="org.eclipse.uml2.uml.cdo.tests"
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)";resolution:=optional;x-installation:=greedy,
+ org.eclipse.emf.ecore;bundle-version="[2.14.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.14.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.common;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.types;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.mapping.ecore2xml;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="[5.5.0,5.6.0)";visibility:=reexport,
+ org.eclipse.emf.cdo;bundle-version="[4.5.0,5.0.0)",
+ org.eclipse.emf.cdo.ecore;bundle-version="[1.0.0,2.0.0)"
+Eclipse-LazyStart: true
+Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.uml2.uml.cdo
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/Migrate UML2.launch b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/Migrate UML2.launch
new file mode 100644
index 00000000..5551c6ea
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/Migrate UML2.launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType">
+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;resources&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.uml2.uml.cdo&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;/resources&gt;}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.uml2.uml.cdo/migrate.ant"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.uml2.uml.cdo"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.uml2.uml.cdo/migrate.ant}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-Dgit.clone.uml2=${git.clone.uml2}"/>
+<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
+</launchConfiguration>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/UML Explorer.launch b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/UML Explorer.launch
new file mode 100644
index 00000000..7c8f9d24
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/UML Explorer.launch
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="true"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="true"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<booleanAttribute key="clearws" value="false"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/UML Explorer"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../runtime-New_configuration"/>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.eclipse.emf.cdo.ui.team.history.test=false"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
+<stringAttribute key="selected_target_plugins" value="com.db4o@default:default,com.google.guava@default:default,com.ibm.icu@default:default,com.jcraft.jsch@default:default,com.mysql.jdbc@default:default,com.sun.el@default:default,javax.activation@default:default,javax.annotation@default:default,javax.el@default:default,javax.inject@default:default,javax.persistence@default:default,javax.servlet.jsp@default:default,javax.servlet@default:default,javax.xml@default:default,lpg.runtime.java@default:default,oracle.database.driver@default:default,org.apache.ant@default:default,org.apache.batik.constants@default:default,org.apache.batik.css@default:default,org.apache.batik.i18n@default:default,org.apache.batik.util@default:default,org.apache.commons.codec@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.io@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.derby@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.felix.scr@1:true,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.jasper.glassfish@default:default,org.apache.log4j@default:default,org.apache.lucene.analyzers-common@default:default,org.apache.lucene.analyzers-smartcn@default:default,org.apache.lucene.core@default:default,org.apache.xmlgraphics@default:default,org.apiguardian@default:default,org.aspectj.runtime@default:default,org.aspectj.weaver@default:default,org.eclipse.ant.core@default:default,org.eclipse.ant.launching@default:default,org.eclipse.ant.ui@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare.win32@default:default,org.eclipse.compare@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86_64@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.debug.core@default:default,org.eclipse.debug.ui@default:default,org.eclipse.draw2d@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.dialogs@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer.httpclient4.ssl@default:false,org.eclipse.ecf.provider.filetransfer.httpclient4@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf@default:default,org.eclipse.emf.ant@default:default,org.eclipse.emf.cheatsheets@default:default,org.eclipse.emf.codegen.ecore.ui@default:default,org.eclipse.emf.codegen.ui@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.compare.edit@default:default,org.eclipse.emf.compare.ide.ui@default:default,org.eclipse.emf.compare.ide@default:default,org.eclipse.emf.compare.rcp.ui@default:default,org.eclipse.emf.compare.rcp@default:default,org.eclipse.emf.compare@default:default,org.eclipse.emf.converter@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.doc@default:default,org.eclipse.emf.ecore.change.edit@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.example.installer@default:default,org.eclipse.emf.exporter@default:default,org.eclipse.emf.importer.ecore@default:default,org.eclipse.emf.importer.java@default:default,org.eclipse.emf.importer.rose@default:default,org.eclipse.emf.importer@default:default,org.eclipse.emf.mapping.ecore.editor@default:default,org.eclipse.emf.mapping.ecore2ecore.editor@default:default,org.eclipse.emf.mapping.ecore2ecore@default:default,org.eclipse.emf.mapping.ecore2xml.ui@default:default,org.eclipse.emf.mapping.ecore2xml@default:default,org.eclipse.emf.mapping.ecore@default:default,org.eclipse.emf.mapping.ui@default:default,org.eclipse.emf.mapping@default:default,org.eclipse.emf.teneo.annotations@default:default,org.eclipse.emf.teneo.hibernate.mapper@default:default,org.eclipse.emf.teneo.hibernate@default:default,org.eclipse.emf.teneo@default:default,org.eclipse.emf.transaction@default:default,org.eclipse.emf.validation@default:default,org.eclipse.emf.workspace@default:default,org.eclipse.emf@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.concurrent@default:default,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.equinox.launcher.win32.win32.x86_64@default:false,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.equinox.p2.publisher.eclipse@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.p2.transport.ecf@default:default,org.eclipse.equinox.p2.ui.importexport@default:default,org.eclipse.equinox.p2.ui.sdk.scheduler@default:default,org.eclipse.equinox.p2.ui.sdk@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.aspectj@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.gef@default:default,org.eclipse.gmf.runtime.common.core@default:default,org.eclipse.gmf.runtime.common.ui.action@default:default,org.eclipse.gmf.runtime.common.ui.services.action@default:default,org.eclipse.gmf.runtime.common.ui.services.properties@default:default,org.eclipse.gmf.runtime.common.ui.services@default:default,org.eclipse.gmf.runtime.common.ui@default:default,org.eclipse.gmf.runtime.diagram.core@default:default,org.eclipse.gmf.runtime.diagram.ui.actions@default:default,org.eclipse.gmf.runtime.diagram.ui.properties@default:default,org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide@default:default,org.eclipse.gmf.runtime.diagram.ui.resources.editor@default:default,org.eclipse.gmf.runtime.diagram.ui@default:default,org.eclipse.gmf.runtime.draw2d.ui.render@default:default,org.eclipse.gmf.runtime.draw2d.ui@default:default,org.eclipse.gmf.runtime.emf.clipboard.core@default:default,org.eclipse.gmf.runtime.emf.commands.core@default:default,org.eclipse.gmf.runtime.emf.core@default:default,org.eclipse.gmf.runtime.emf.type.core@default:default,org.eclipse.gmf.runtime.emf.ui.properties@default:default,org.eclipse.gmf.runtime.emf.ui@default:default,org.eclipse.gmf.runtime.gef.ui@default:default,org.eclipse.gmf.runtime.notation.edit@default:default,org.eclipse.gmf.runtime.notation.providers@default:default,org.eclipse.gmf.runtime.notation@default:default,org.eclipse.graphiti.mm@default:default,org.eclipse.graphiti.ui@default:default,org.eclipse.graphiti@default:default,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help.webapp@default:default,org.eclipse.help@default:default,org.eclipse.jdt.annotation*1.1.300.v20180905-0314@default:default,org.eclipse.jdt.annotation*2.2.100.v20180905-0314@default:default,org.eclipse.jdt.apt.core@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.jdt.apt.ui@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.jdt.doc.user@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.jdt.junit5.runtime@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.jdt@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.jsch.core@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.nebula.cwt@default:default,org.eclipse.nebula.widgets.cdatetime@default:default,org.eclipse.nebula.widgets.gallery@default:default,org.eclipse.nebula.widgets.pshelf@default:default,org.eclipse.ocl.common@default:default,org.eclipse.ocl.ecore@default:default,org.eclipse.ocl@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.pde.api.tools.annotations@default:default,org.eclipse.pde.api.tools.ui@default:default,org.eclipse.pde.api.tools@default:default,org.eclipse.pde.build@default:default,org.eclipse.pde.core@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.pde.ds.annotations@default:default,org.eclipse.pde.ds.core@default:default,org.eclipse.pde.ds.lib@default:default,org.eclipse.pde.ds.ui@default:default,org.eclipse.pde.ds1_2.lib@default:default,org.eclipse.pde.genericeditor.extension@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.pde.launching@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.pde.ua.core@default:default,org.eclipse.pde.ua.ui@default:default,org.eclipse.pde.ui.templates@default:default,org.eclipse.pde.ui@default:default,org.eclipse.pde@default:default,org.eclipse.platform.doc.isv@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.platform@default:default,org.eclipse.rcp@default:default,org.eclipse.sdk@default:default,org.eclipse.search@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.team.genericeditor.diff.extension@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.tools.layout.spy@default:default,org.eclipse.ui.browser@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.console@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.genericeditor@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro.quicklinks@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.monitoring@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.net@default:default,org.eclipse.ui.themes@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@default:default,org.eclipse.urischeme@default:default,org.h2@default:default,org.hamcrest.core@default:default,org.hibernate@default:default,org.hsqldb@default:default,org.junit.jupiter.api@default:default,org.junit.jupiter.engine@default:default,org.junit.jupiter.migrationsupport@default:default,org.junit.jupiter.params@default:default,org.junit.platform.commons@default:default,org.junit.platform.engine@default:default,org.junit.platform.launcher@default:default,org.junit.platform.runner@default:default,org.junit.platform.suite.api@default:default,org.junit.vintage.engine@default:default,org.junit@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.opentest4j@default:default,org.postgresql@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.slf4j.api@default:default,org.tukaani.xz@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.cdo.admin@default:default,org.eclipse.emf.cdo.common@default:default,org.eclipse.emf.cdo.compare@default:default,org.eclipse.emf.cdo.ecore@default:default,org.eclipse.emf.cdo.edit@default:default,org.eclipse.emf.cdo.explorer.ui@default:default,org.eclipse.emf.cdo.explorer@default:default,org.eclipse.emf.cdo.expressions@default:default,org.eclipse.emf.cdo.net4j@default:default,org.eclipse.emf.cdo.security@default:default,org.eclipse.emf.cdo.server.admin@default:default,org.eclipse.emf.cdo.server.db@default:default,org.eclipse.emf.cdo.server.embedded@default:default,org.eclipse.emf.cdo.server.net4j@default:default,org.eclipse.emf.cdo.server.ocl@default:default,org.eclipse.emf.cdo.server.security@default:default,org.eclipse.emf.cdo.server@default:default,org.eclipse.emf.cdo.transfer.repository@default:default,org.eclipse.emf.cdo.transfer.ui@default:default,org.eclipse.emf.cdo.transfer.workspace.ui@default:default,org.eclipse.emf.cdo.transfer.workspace@default:default,org.eclipse.emf.cdo.transfer@default:default,org.eclipse.emf.cdo.ui.admin@default:default,org.eclipse.emf.cdo.ui.compare@default:default,org.eclipse.emf.cdo.ui.shared@default:default,org.eclipse.emf.cdo.ui.team@default:default,org.eclipse.emf.cdo.workspace@default:default,org.eclipse.emf.cdo@default:default,org.eclipse.emf.codegen.ecore@default:default,org.eclipse.net4j.db.h2@default:default,org.eclipse.net4j.db.jdbc@default:default,org.eclipse.net4j.db@default:default,org.eclipse.net4j.jvm@default:default,org.eclipse.net4j.tcp@default:default,org.eclipse.net4j.trace@default:default,org.eclipse.net4j.ui.shared@default:default,org.eclipse.net4j.ui@default:default,org.eclipse.net4j.util.ui@default:default,org.eclipse.net4j.util@default:default,org.eclipse.net4j@default:default,org.eclipse.uml2.common@default:default,org.eclipse.uml2.types@default:default,org.eclipse.uml2.uml.cdo@default:default,org.eclipse.uml2.uml@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="true"/>
+</launchConfiguration>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/UML2CDOConfiguration.setup b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/UML2CDOConfiguration.setup
new file mode 100644
index 00000000..4f623c76
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/UML2CDOConfiguration.setup
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<setup:Configuration
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:git="http://www.eclipse.org/oomph/setup/git/1.0"
+ xmlns:predicates="http://www.eclipse.org/oomph/predicates/1.0"
+ xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
+ xmlns:setup.targlets="http://www.eclipse.org/oomph/setup/targlets/1.0"
+ xmlns:setup.workingsets="http://www.eclipse.org/oomph/setup/workingsets/1.0"
+ xsi:schemaLocation="http://www.eclipse.org/oomph/setup/git/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Git.ecore http://www.eclipse.org/oomph/predicates/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Predicates.ecore http://www.eclipse.org/oomph/setup/targlets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupTarglets.ecore http://www.eclipse.org/oomph/setup/workingsets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupWorkingSets.ecore"
+ label="UML2CDO">
+ <installation
+ name="uml2cdo.installation"
+ label="UML2CDO Installation">
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="installation.id.default"
+ value="uml2cdo"/>
+ <productVersion
+ href="index:/org.eclipse.setup#//@productCatalogs[name='org.eclipse.products']/@products[name='epp.package.committers']/@versions[name='latest']"/>
+ <description>The UML2CDO installation provides the automated migration of the UML2 model to CDO.</description>
+ </installation>
+ <workspace
+ name="uml2cdo.workspace"
+ label="UML2CDO Workspace">
+ <setupTask
+ xsi:type="setup:RedirectionTask"
+ sourceURL="http://download.eclipse.org/modeling/emf/validation/updates/interim"
+ targetURL="http://download.eclipse.org/modeling/emf/validation/updates/interim/I201810221554">
+ <description>The composite repo under the source URI is way to large (currently 44 children)</description>
+ </setupTask>
+ <setupTask
+ xsi:type="git:GitCloneTask"
+ id="git.clone.papyruscollaborativemodeling"
+ remoteURI="papyrus/org.eclipse.papyrus-collaborativemodeling"
+ pushURI=""
+ checkoutBranch="master">
+ <annotation
+ source="http://www.eclipse.org/oomph/setup/InducedChoices">
+ <detail
+ key="inherit">
+ <value>eclipse.git.gerrit.remoteURIs</value>
+ </detail>
+ <detail
+ key="label">
+ <value>Papyrus Git or Gerrit Repository</value>
+ </detail>
+ <detail
+ key="target">
+ <value>remoteURI</value>
+ </detail>
+ </annotation>
+ <description>Papyrus Collaborative Modeling</description>
+ </setupTask>
+ <setupTask
+ xsi:type="setup:StringSubstitutionTask"
+ name="git.clone.papyruscollaborativemodeling"
+ value="${git.clone.papyruscollaborativemodeling}"/>
+ <setupTask
+ xsi:type="setup:StringSubstitutionTask"
+ name="git.clone.uml2"
+ value="${git.clone.uml2}"/>
+ <setupTask
+ xsi:type="setup.targlets:TargletTask">
+ <targlet
+ name="UML2CDO"
+ activeRepositoryList="${eclipse.target.platform}">
+ <requirement
+ name="org.eclipse.uml2.uml.cdo"/>
+ <sourceLocator
+ rootFolder="${git.clone.papyruscollaborativemodeling/cdo/bundles/uml}"/>
+ </targlet>
+ </setupTask>
+ <setupTask
+ xsi:type="setup.workingsets:WorkingSetTask"
+ prefix="org.eclipse.uml2-">
+ <workingSet
+ name="UML2CDO">
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="org.eclipse.uml2.uml.cdo"/>
+ </workingSet>
+ <description>The dynamic working sets for ${scope.project.label}</description>
+ </setupTask>
+ <stream
+ href="index:/org.eclipse.setup#//@projectCatalogs[name='org.eclipse']/@projects[name='uml2']/@streams[name='master']"/>
+ <stream
+ href="index:/org.eclipse.setup#//@projectCatalogs[name='org.eclipse']/@projects[name='cdo']/@streams[name='master']"/>
+ <description>The UML2CDO workspace provides the automated migration of the UML2 model to CDO.</description>
+ </workspace>
+ <description>The UML2CDO configuration provides the automated migration of the UML2 model to CDO.</description>
+</setup:Configuration>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/about.html b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/about.html
new file mode 100644
index 00000000..598b3684
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>May 12, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/build.properties b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/build.properties
new file mode 100644
index 00000000..26daba68
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/build.properties
@@ -0,0 +1,32 @@
+# Copyright (c) 2005, 2013 IBM Corporation, CEA, and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# IBM - initial API and implementation
+# Kenn Hussey (CEA) - 327039
+# Christian W. Damus (CEA) - 227616
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+source.. = src/
+output.. = bin/
+bin.includes = about.*,\
+ plugin.*,\
+ .,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+src.includes = about.html,\
+ migrate.ant,\
+ Migrate UML2.launch,\
+ templates/,\
+ UML2CDOConfiguration.setup,\
+ UML Explorer.launch
+exclude.. = **/doc-files/**
+javacSource = 1.5
+javacTarget = 1.5
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/migrate.ant b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/migrate.ant
new file mode 100644
index 00000000..32718a65
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/migrate.ant
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<!--
+ Copyright (c) 2018 CEA LIST and others.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-2.0/
+
+ SPDX-License-Identifier: EPL-2.0
+
+ Contributors:
+ Eike Stepper - initial API and implementation
+-->
+<project name="migrate" default="migrate">
+
+ <!--
+ The migration of the UML2 model to CDO is completely automated.
+ The following preconditions must be met before executing the 'migrate.ant' script:
+
+ 1. A recent 'EMF SDK' feature must be installed into the Eclipse IDE.
+
+ 2. The 'org.eclipse.emf.cdo.migrator' plugin must be installed into the Eclipse IDE.
+
+ 3. UML2's Git repository must be cloned from
+ https://git.eclipse.org/r/uml2/org.eclipse.uml2
+ to the local disk. Its disk location must then be passed into this script
+ through the 'git.clone.uml2' property.
+
+ 4. This Ant script must be executed in the JRE of the running IDE!
+
+ Ideally this script is executed via the accompanying 'Migrate UML2.launch'.
+
+ Do NOT apply hand-written changes to the classes in the
+ org.eclipse.uml2.uml.cdo.internal.impl package.
+ This script will eventually overwrite them!
+ Rather modify the underlying UML2 code or this script.
+ -->
+ <target name="migrate">
+ <property name="project.name" value="org.eclipse.uml2.uml" />
+
+ <!--
+ Ensure that UML2's Git clone exists and is reachable.
+ -->
+ <fail unless="git.clone.uml2" message="Property 'git.clone.uml2' is undefined!" />
+ <property name="uml" location="${git.clone.uml2}/plugins/${project.name}" />
+ <fail message="The directory '${uml}' does not exist!">
+ <condition>
+ <not>
+ <available file="${uml}" type="dir" />
+ </not>
+ </condition>
+ </fail>
+
+ <property name="uml.tmp" location="${basedir}/target/${project.name}" />
+ <echo message="Migrating in ${uml.tmp} ..." />
+
+ <cdo.automaticBuild enable="false" />
+ <cdo.deleteProject projectname=".JETEmitters" deletecontent="true" />
+
+ <backup.project project.name="${project.name}" />
+ <backup.project project.name="org.eclipse.uml2" />
+
+ <copy todir="${basedir}/target/org.eclipse.uml2/templates" overwrite="true" verbose="true">
+ <fileset dir="${basedir}/templates">
+ <include name="**/*.javajet" />
+ <include name="**/*.javajetinc" />
+ </fileset>
+ </copy>
+
+ <!--
+ Migrate the 'UML.genmodel' to CDO and regenerate the model within the
+ imported 'org.eclipse.uml2.uml' project.
+ -->
+ <property name="model.path" value="/${project.name}/model/UML.genmodel" />
+ <cdo.migrateModel modelpath="${model.path}" dynamicfeaturedelegation="true" />
+ <cdo.generateModel modelpath="${model.path}" />
+
+ <!--
+ Copy all Java files from the generated 'impl' folder to the 'impl' folder of the
+ 'org.eclipse.uml2.uml.cdo' project.
+ -->
+ <property name="impl" location="${basedir}/src/org/eclipse/uml2/uml/cdo/internal/impl" />
+ <delete>
+ <fileset dir="${impl}">
+ <include name="*.java" />
+ </fileset>
+ </delete>
+ <copy todir="${impl}">
+ <fileset dir="${uml.tmp}/src/org/eclipse/uml2/uml/internal/impl">
+ <include name="*.java" />
+ </fileset>
+
+ <!--
+ Apply the following refactorings:
+ -->
+ <filterchain>
+ <!--
+ Rename the Java package to 'org.eclipse.uml2.uml.cdo.internal.impl'.
+ -->
+ <replacestring from="org.eclipse.uml2.uml.internal.impl" to="org.eclipse.uml2.uml.cdo.internal.impl" />
+
+ <!--
+ Replace EMF's EModelElementImpl base class with CDO's variant of that class.
+ -->
+ <replacestring from="extends EModelElementImpl" to="extends org.eclipse.uml2.uml.cdo.internal.util.CDOElementImpl" />
+
+ <!--
+ Replace the eAnnotations field accesses that the generator has left in some
+ eIsSet() methods with calls to the getEAnnotations() method.
+ -->
+ <replacestring from="eAnnotations != null &amp;&amp; !eAnnotations.isEmpty()" to="!getEAnnotations().isEmpty()" />
+
+ <!--
+ Decrease the generated ESTATIC_FEATURE_COUNT from 1 to 0 because the inherited
+ EModelElement.eAnnotations feature is implemented dynamically, too.
+ -->
+ <replacestring from="ESTATIC_FEATURE_COUNT = 1" to="ESTATIC_FEATURE_COUNT = 0" />
+
+ <!--
+ Fix hand-written code around ElementImpl.eAdapters() to not refer to eFlags anymore.
+ -->
+ <replacestring from="private static final int ADAPTING = 1 &lt;&lt; 7;" to="private boolean adapting;" />
+ <replacestring from="(eFlags &amp; ADAPTING) == 0" to="!adapting" />
+ <replacestring from="eFlags |= ADAPTING;" to="adapting = true;" />
+ <replacestring from="eFlags &amp;= ~ADAPTING;" to="adapting = false;" />
+
+ <tokenfilter>
+ <filetokenizer />
+ <!--
+ Fix generated type mismatches:
+ * CreateLinkActionImpl.getEndData()
+ * DestroyLinkActionImpl.getEndData()
+ * ExtensionImpl.getOwnedEndsGen() ### UNUSED?!
+ -->
+ <replaceregex pattern="(public\s+EList&lt;([^>]+)>\s*get[^(]+\(\)\s*\{\s*return\s*\(EList&lt;)[^>]+(>\)\s*eDynamicGet)" replace="\1\2\3" flags="sg" />
+
+ <!--
+ Replace all SubsetSuperset lists with CDO-specific variants.
+ -->
+ <replaceregex pattern="org.eclipse.uml2.common.util.SubsetSuperset([^;]+)EList;" replace="org.eclipse.uml2.uml.cdo.internal.util.SubsetSuperset\1EList;" flags="sg" />
+
+ <!--
+ Insert the createList() method into all classes that contain a createSpecialList() method.
+ -->
+ <replaceregex pattern="@SuppressWarnings\(&quot;unused&quot;\)([\r\n]+[ \t]*?)private EList&lt;\?> createSpecialList\(EStructuralFeature eStructuralFeature\)" replace="@Override\1protected EList&lt;?> createList(EStructuralFeature eStructuralFeature) {\1&#x9;EList&lt;?> result = createSpecialList(eStructuralFeature);\1&#x9;if (result != null) {\1&#x9;&#x9;return result;\1&#x9;}\1&#x9;\1&#x9;return super.createList(eStructuralFeature);\1}\1\1private EList&lt;?> createSpecialList(EStructuralFeature eStructuralFeature)" flags="sg" />
+ </tokenfilter>
+ </filterchain>
+ </copy>
+
+ <!--
+ Special persistence handling in:
+ * ActivityImpl.groups
+ * ActivityImpl.nodes
+ -->
+ <replaceregexp file="${impl}/ActivityImpl.java" match="([\r\n]+[ \t]*?)public EList&lt;ActivityGroup> getGroups\(\)[^}]+?}[^}]+?}" replace="\1@SuppressWarnings(&quot;unchecked&quot;)\1public EList&lt;ActivityGroup> getGroups() {\1&#x9;return (EList&lt;ActivityGroup>) eDynamicGet(\1&#x9;&#x9;UMLPackage.ACTIVITY__GROUP - ESTATIC_FEATURE_COUNT,\1&#x9;&#x9;UMLPackage.Literals.ACTIVITY__GROUP, true, true);\1}" flags="sg" />
+ <replaceregexp file="${impl}/ActivityImpl.java" match="([\r\n]+[ \t]*?)public EList&lt;ActivityNode> getNodes\(\)[^}]+?}[^}]+?}" replace="\1@SuppressWarnings(&quot;unchecked&quot;)\1public EList&lt;ActivityNode> getNodes() {\1&#x9;return (EList&lt;ActivityNode>) eDynamicGet(\1&#x9;&#x9;UMLPackage.ACTIVITY__NODE - ESTATIC_FEATURE_COUNT,\1&#x9;&#x9;UMLPackage.Literals.ACTIVITY__NODE, true, true);\1}" flags="sg" />
+
+ <restore.project project.name="org.eclipse.uml2" />
+ <restore.project project.name="${project.name}" />
+
+ <!--
+ Apply source cleanup to the 'org.eclipse.uml2.uml.cdo' project.
+ This ensures that only relevant changes appear in the Git history.
+ -->
+ <cdo.cleanupProject projectname="org.eclipse.uml2.uml.cdo" />
+ <cdo.automaticBuild enable="true" />
+ </target>
+
+
+ <!--
+ This macro copies a project from the UML2 Git repository to the
+ 'target' folder of the 'org.eclipse.uml2.uml.cdo' project and then
+ re-imports it from the new, temporary location into the workspace.
+ -->
+ <macrodef name="backup.project">
+ <attribute name="project.name" />
+ <sequential>
+ <echo message="Backing up project @{project.name}" />
+ <delete failonerror="false" includeemptydirs="true">
+ <fileset dir="${basedir}/target/@{project.name}">
+ <include name="**" />
+ </fileset>
+ </delete>
+ <copy todir="${basedir}/target/@{project.name}" verbose="false" failonerror="true" overwrite="true" includeemptydirs="false">
+ <fileset dir="${git.clone.uml2}/plugins/@{project.name}" defaultexcludes="true">
+ <include name="**/*" />
+ <exclude name="bin/**" />
+ </fileset>
+ </copy>
+ <replace dir="${basedir}/target/@{project.name}" token="@generated NOT_CDO" value="@generated">
+ <include name="**/*.java" />
+ </replace>
+ <cdo.deleteProject projectname="@{project.name}" />
+ <cdo.importProject projectname="@{project.name}" fromlocation="${basedir}/target/@{project.name}" />
+ </sequential>
+ </macrodef>
+
+ <!--
+ This macro reverts the effect of the "backup.project" macro for
+ the given workspace project, i.e., it re-imports the project from
+ its original location in the UML2 Git repository.
+ -->
+ <macrodef name="restore.project">
+ <attribute name="project.name" />
+ <sequential>
+ <echo message="Restoring project @{project.name}" />
+ <cdo.deleteProject projectname="@{project.name}" />
+ <cdo.importProject projectname="@{project.name}" fromlocation="${git.clone.uml2}/plugins/@{project.name}" />
+ </sequential>
+ </macrodef>
+
+</project>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/plugin.properties b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/plugin.properties
new file mode 100644
index 00000000..190e0807
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/plugin.properties
@@ -0,0 +1,14 @@
+# Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Eike Stepper - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+pluginName = UML2 UML Model (CDO Version)
+providerName = Eclipse Modeling Project
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/plugin.xml b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/plugin.xml
new file mode 100644
index 00000000..b34ad04e
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/plugin.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2018 CEA LIST and others.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-2.0/
+
+ SPDX-License-Identifier: EPL-2.0
+
+ Contributors:
+ Eike Stepper - initial API and implementation
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/uml2/2.0.0/UML"
+ class="org.eclipse.uml2.uml.cdo.internal.impl.UMLFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/uml2/2.1.0/UML"
+ class="org.eclipse.uml2.uml.cdo.internal.impl.UMLFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/uml2/3.0.0/UML"
+ class="org.eclipse.uml2.uml.cdo.internal.impl.UMLFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/uml2/4.0.0/UML"
+ class="org.eclipse.uml2.uml.cdo.internal.impl.UMLFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/uml2/5.0.0/UML"
+ class="org.eclipse.uml2.uml.cdo.internal.impl.UMLFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.uml2.common.cache_adapter_override">
+ <cacheAdapter
+ class="org.eclipse.uml2.uml.cdo.internal.util.CDOCacheAdapter"/>
+ </extension>
+
+</plugin>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/pom.xml b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/pom.xml
new file mode 100755
index 00000000..8dae97fb
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <artifactId>uml</artifactId>
+ <groupId>org.eclipse.papyrus.cdo</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.uml2.uml.cdo</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <version>5.4.0-SNAPSHOT</version>
+</project>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/UMLCDOPlugin.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/UMLCDOPlugin.java
new file mode 100644
index 00000000..969a82be
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/UMLCDOPlugin.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.internal;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.uml2.uml.UMLPlugin;
+
+/**
+ * This is the central singleton for the UML CDO plugin.
+ *
+ * @author Eike Stepper
+ */
+public final class UMLCDOPlugin
+ extends EMFPlugin {
+
+ public static final UMLCDOPlugin INSTANCE = new UMLCDOPlugin();
+
+ private static Implementation plugin;
+
+ public UMLCDOPlugin() {
+ super(new ResourceLocator[]{UMLPlugin.INSTANCE});
+ }
+
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ public static class Implementation
+ extends EclipsePlugin {
+
+ public Implementation() {
+ super();
+ plugin = this;
+ }
+ }
+
+}
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AbstractionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AbstractionImpl.java
new file mode 100644
index 00000000..02a73222
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AbstractionImpl.java
@@ -0,0 +1,420 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstraction</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AbstractionImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AbstractionImpl#getMapping <em>Mapping</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AbstractionImpl
+ extends DependencyImpl
+ implements Abstraction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ABSTRACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.ABSTRACTION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.ABSTRACTION__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueExpression getMapping() {
+ return (OpaqueExpression) eDynamicGet(
+ UMLPackage.ABSTRACTION__MAPPING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ABSTRACTION__MAPPING, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueExpression basicGetMapping() {
+ return (OpaqueExpression) eDynamicGet(
+ UMLPackage.ABSTRACTION__MAPPING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ABSTRACTION__MAPPING, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMapping(OpaqueExpression newMapping,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newMapping,
+ UMLPackage.ABSTRACTION__MAPPING, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMapping(OpaqueExpression newMapping) {
+ eDynamicSet(UMLPackage.ABSTRACTION__MAPPING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ABSTRACTION__MAPPING, newMapping);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueExpression createMapping(String name, Type type) {
+ OpaqueExpression newMapping = (OpaqueExpression) create(
+ UMLPackage.Literals.OPAQUE_EXPRESSION);
+ setMapping(newMapping);
+ if (name != null)
+ newMapping.setName(name);
+ if (type != null)
+ newMapping.setType(type);
+ return newMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ABSTRACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ABSTRACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ABSTRACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ABSTRACTION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.ABSTRACTION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.ABSTRACTION__MAPPING :
+ return basicSetMapping(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ABSTRACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ABSTRACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ABSTRACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ABSTRACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ABSTRACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ABSTRACTION__NAME :
+ return getName();
+ case UMLPackage.ABSTRACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ABSTRACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ABSTRACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ABSTRACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ABSTRACTION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.ABSTRACTION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.ABSTRACTION__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.ABSTRACTION__SOURCE :
+ return getSources();
+ case UMLPackage.ABSTRACTION__TARGET :
+ return getTargets();
+ case UMLPackage.ABSTRACTION__CLIENT :
+ return getClients();
+ case UMLPackage.ABSTRACTION__SUPPLIER :
+ return getSuppliers();
+ case UMLPackage.ABSTRACTION__MAPPING :
+ if (resolve)
+ return getMapping();
+ return basicGetMapping();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ABSTRACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ABSTRACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ABSTRACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ABSTRACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ABSTRACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ABSTRACTION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ABSTRACTION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ABSTRACTION__CLIENT :
+ getClients().clear();
+ getClients()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.ABSTRACTION__SUPPLIER :
+ getSuppliers().clear();
+ getSuppliers()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.ABSTRACTION__MAPPING :
+ setMapping((OpaqueExpression) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ABSTRACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ABSTRACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ABSTRACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ABSTRACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ABSTRACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ABSTRACTION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ABSTRACTION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ABSTRACTION__CLIENT :
+ getClients().clear();
+ return;
+ case UMLPackage.ABSTRACTION__SUPPLIER :
+ getSuppliers().clear();
+ return;
+ case UMLPackage.ABSTRACTION__MAPPING :
+ setMapping((OpaqueExpression) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ABSTRACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ABSTRACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ABSTRACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ABSTRACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.ABSTRACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ABSTRACTION__NAME :
+ return isSetName();
+ case UMLPackage.ABSTRACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ABSTRACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ABSTRACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ABSTRACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ABSTRACTION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.ABSTRACTION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.ABSTRACTION__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.ABSTRACTION__SOURCE :
+ return isSetSources();
+ case UMLPackage.ABSTRACTION__TARGET :
+ return isSetTargets();
+ case UMLPackage.ABSTRACTION__CLIENT :
+ return !getClients().isEmpty();
+ case UMLPackage.ABSTRACTION__SUPPLIER :
+ return !getSuppliers().isEmpty();
+ case UMLPackage.ABSTRACTION__MAPPING :
+ return basicGetMapping() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.ABSTRACTION__OWNED_COMMENT,
+ UMLPackage.ABSTRACTION__NAME_EXPRESSION,
+ UMLPackage.ABSTRACTION__MAPPING};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.ABSTRACTION__MAPPING);
+ }
+
+} //AbstractionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AcceptCallActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AcceptCallActionImpl.java
new file mode 100644
index 00000000..6e6749bc
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AcceptCallActionImpl.java
@@ -0,0 +1,826 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.AcceptCallActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Accept Call Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AcceptCallActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AcceptCallActionImpl#getReturnInformation <em>Return Information</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AcceptCallActionImpl
+ extends AcceptEventActionImpl
+ implements AcceptCallAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AcceptCallActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ACCEPT_CALL_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.ACCEPT_CALL_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.ACCEPT_CALL_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getReturnInformation() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.ACCEPT_CALL_ACTION__RETURN_INFORMATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACCEPT_CALL_ACTION__RETURN_INFORMATION, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetReturnInformation() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.ACCEPT_CALL_ACTION__RETURN_INFORMATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACCEPT_CALL_ACTION__RETURN_INFORMATION, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetReturnInformation(
+ OutputPin newReturnInformation, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newReturnInformation,
+ UMLPackage.ACCEPT_CALL_ACTION__RETURN_INFORMATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReturnInformation(OutputPin newReturnInformation) {
+ eDynamicSet(
+ UMLPackage.ACCEPT_CALL_ACTION__RETURN_INFORMATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACCEPT_CALL_ACTION__RETURN_INFORMATION,
+ newReturnInformation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createReturnInformation(String name, Type type) {
+ OutputPin newReturnInformation = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setReturnInformation(newReturnInformation);
+ if (name != null)
+ newReturnInformation.setName(name);
+ if (type != null)
+ newReturnInformation.setType(type);
+ return newReturnInformation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResultPins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AcceptCallActionOperations.validateResultPins(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTriggerCallEvent(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AcceptCallActionOperations.validateTriggerCallEvent(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUnmarshall(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AcceptCallActionOperations.validateUnmarshall(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ACCEPT_CALL_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACCEPT_CALL_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACCEPT_CALL_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.ACCEPT_CALL_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACCEPT_CALL_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACCEPT_CALL_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACCEPT_CALL_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACCEPT_CALL_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACCEPT_CALL_ACTION__RESULT :
+ return ((InternalEList<?>) getResults()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACCEPT_CALL_ACTION__TRIGGER :
+ return ((InternalEList<?>) getTriggers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACCEPT_CALL_ACTION__RETURN_INFORMATION :
+ return basicSetReturnInformation(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ACCEPT_CALL_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ACCEPT_CALL_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ACCEPT_CALL_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ACCEPT_CALL_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ACCEPT_CALL_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ACCEPT_CALL_ACTION__NAME :
+ return getName();
+ case UMLPackage.ACCEPT_CALL_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ACCEPT_CALL_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ACCEPT_CALL_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACCEPT_CALL_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ACCEPT_CALL_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ACCEPT_CALL_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ACCEPT_CALL_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ACCEPT_CALL_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.ACCEPT_CALL_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.ACCEPT_CALL_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.ACCEPT_CALL_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.ACCEPT_CALL_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.ACCEPT_CALL_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.ACCEPT_CALL_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.ACCEPT_CALL_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.ACCEPT_CALL_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.ACCEPT_CALL_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.ACCEPT_CALL_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.ACCEPT_CALL_ACTION__IS_UNMARSHALL :
+ return isUnmarshall();
+ case UMLPackage.ACCEPT_CALL_ACTION__RESULT :
+ return getResults();
+ case UMLPackage.ACCEPT_CALL_ACTION__TRIGGER :
+ return getTriggers();
+ case UMLPackage.ACCEPT_CALL_ACTION__RETURN_INFORMATION :
+ if (resolve)
+ return getReturnInformation();
+ return basicGetReturnInformation();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ACCEPT_CALL_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__IS_UNMARSHALL :
+ setIsUnmarshall((Boolean) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__RESULT :
+ getResults().clear();
+ getResults().addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__TRIGGER :
+ getTriggers().clear();
+ getTriggers().addAll((Collection<? extends Trigger>) newValue);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__RETURN_INFORMATION :
+ setReturnInformation((OutputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACCEPT_CALL_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__IS_UNMARSHALL :
+ setIsUnmarshall(IS_UNMARSHALL_EDEFAULT);
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__RESULT :
+ getResults().clear();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__TRIGGER :
+ getTriggers().clear();
+ return;
+ case UMLPackage.ACCEPT_CALL_ACTION__RETURN_INFORMATION :
+ setReturnInformation((OutputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACCEPT_CALL_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ACCEPT_CALL_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ACCEPT_CALL_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ACCEPT_CALL_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.ACCEPT_CALL_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ACCEPT_CALL_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.ACCEPT_CALL_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ACCEPT_CALL_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ACCEPT_CALL_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ACCEPT_CALL_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ACCEPT_CALL_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ACCEPT_CALL_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ACCEPT_CALL_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ACCEPT_CALL_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.ACCEPT_CALL_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.ACCEPT_CALL_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.ACCEPT_CALL_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.ACCEPT_CALL_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.ACCEPT_CALL_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.ACCEPT_CALL_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.ACCEPT_CALL_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.ACCEPT_CALL_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.ACCEPT_CALL_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.ACCEPT_CALL_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.ACCEPT_CALL_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.ACCEPT_CALL_ACTION__IS_UNMARSHALL :
+ return isUnmarshall() != IS_UNMARSHALL_EDEFAULT;
+ case UMLPackage.ACCEPT_CALL_ACTION__RESULT :
+ return !getResults().isEmpty();
+ case UMLPackage.ACCEPT_CALL_ACTION__TRIGGER :
+ return !getTriggers().isEmpty();
+ case UMLPackage.ACCEPT_CALL_ACTION__RETURN_INFORMATION :
+ return basicGetReturnInformation() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ACCEPT_CALL_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ACCEPT_CALL_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ACCEPT_CALL_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ACCEPT_CALL_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ACCEPT_CALL_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACCEPT_CALL_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ACCEPT_CALL_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.ACCEPT_CALL_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.ACCEPT_CALL_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.ACCEPT_CALL_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.ACCEPT_CALL_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_ONE_OUTPUT_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateOneOutputPin((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateNoInputPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_NO_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateNoOutputPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_UNMARSHALL_SIGNAL_EVENTS__DIAGNOSTICCHAIN_MAP :
+ return validateUnmarshallSignalEvents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_CONFORMING_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateConformingType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_RESULT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateResultPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_TRIGGER_CALL_EVENT__DIAGNOSTICCHAIN_MAP :
+ return validateTriggerCallEvent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_UNMARSHALL__DIAGNOSTICCHAIN_MAP :
+ return validateUnmarshall((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.ACCEPT_CALL_ACTION__RESULT,
+ UMLPackage.ACCEPT_CALL_ACTION__RETURN_INFORMATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.ACCEPT_CALL_ACTION__RETURN_INFORMATION);
+ }
+
+} //AcceptCallActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AcceptEventActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AcceptEventActionImpl.java
new file mode 100644
index 00000000..88f56c34
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AcceptEventActionImpl.java
@@ -0,0 +1,973 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.AcceptEventActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Accept Event Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AcceptEventActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AcceptEventActionImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AcceptEventActionImpl#isUnmarshall <em>Is Unmarshall</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AcceptEventActionImpl#getResults <em>Result</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AcceptEventActionImpl#getTriggers <em>Trigger</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AcceptEventActionImpl
+ extends ActionImpl
+ implements AcceptEventAction {
+
+ /**
+ * The default value of the '{@link #isUnmarshall() <em>Is Unmarshall</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnmarshall()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_UNMARSHALL_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AcceptEventActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ACCEPT_EVENT_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.ACCEPT_EVENT_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.ACCEPT_EVENT_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnmarshall() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.ACCEPT_EVENT_ACTION__IS_UNMARSHALL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACCEPT_EVENT_ACTION__IS_UNMARSHALL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsUnmarshall(boolean newIsUnmarshall) {
+ eDynamicSet(
+ UMLPackage.ACCEPT_EVENT_ACTION__IS_UNMARSHALL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACCEPT_EVENT_ACTION__IS_UNMARSHALL,
+ newIsUnmarshall);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputPin> getResults() {
+ return (EList<OutputPin>) eDynamicGet(
+ UMLPackage.ACCEPT_EVENT_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACCEPT_EVENT_ACTION__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ getResults().add(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult(String name, Type type) {
+ return getResult(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult(String name, Type type, boolean ignoreCase,
+ boolean createOnDemand) {
+ resultLoop : for (OutputPin result : getResults()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(result.getName())
+ : name.equals(result.getName())))
+ continue resultLoop;
+ if (type != null && !type.equals(result.getType()))
+ continue resultLoop;
+ return result;
+ }
+ return createOnDemand
+ ? createResult(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public OutputPin getResult(String name, Type type, boolean ignoreCase) {
+ return getResult(name, type, ignoreCase, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Trigger> getTriggers() {
+ return (EList<Trigger>) eDynamicGet(
+ UMLPackage.ACCEPT_EVENT_ACTION__TRIGGER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACCEPT_EVENT_ACTION__TRIGGER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Trigger createTrigger(String name) {
+ Trigger newTrigger = (Trigger) create(UMLPackage.Literals.TRIGGER);
+ getTriggers().add(newTrigger);
+ if (name != null)
+ newTrigger.setName(name);
+ return newTrigger;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Trigger getTrigger(String name) {
+ return getTrigger(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Trigger getTrigger(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ triggerLoop : for (Trigger trigger : getTriggers()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(trigger.getName())
+ : name.equals(trigger.getName())))
+ continue triggerLoop;
+ return trigger;
+ }
+ return createOnDemand
+ ? createTrigger(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneOutputPin(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AcceptEventActionOperations.validateOneOutputPin(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoInputPins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AcceptEventActionOperations.validateNoInputPins(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoOutputPins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AcceptEventActionOperations.validateNoOutputPins(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUnmarshallSignalEvents(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AcceptEventActionOperations.validateUnmarshallSignalEvents(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConformingType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AcceptEventActionOperations.validateConformingType(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ACCEPT_EVENT_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACCEPT_EVENT_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACCEPT_EVENT_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.ACCEPT_EVENT_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACCEPT_EVENT_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACCEPT_EVENT_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACCEPT_EVENT_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACCEPT_EVENT_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACCEPT_EVENT_ACTION__RESULT :
+ return ((InternalEList<?>) getResults()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACCEPT_EVENT_ACTION__TRIGGER :
+ return ((InternalEList<?>) getTriggers()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ACCEPT_EVENT_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ACCEPT_EVENT_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ACCEPT_EVENT_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ACCEPT_EVENT_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ACCEPT_EVENT_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ACCEPT_EVENT_ACTION__NAME :
+ return getName();
+ case UMLPackage.ACCEPT_EVENT_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ACCEPT_EVENT_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ACCEPT_EVENT_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACCEPT_EVENT_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ACCEPT_EVENT_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ACCEPT_EVENT_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ACCEPT_EVENT_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ACCEPT_EVENT_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.ACCEPT_EVENT_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.ACCEPT_EVENT_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.ACCEPT_EVENT_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.ACCEPT_EVENT_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.ACCEPT_EVENT_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.ACCEPT_EVENT_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.ACCEPT_EVENT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.ACCEPT_EVENT_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.ACCEPT_EVENT_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.ACCEPT_EVENT_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.ACCEPT_EVENT_ACTION__IS_UNMARSHALL :
+ return isUnmarshall();
+ case UMLPackage.ACCEPT_EVENT_ACTION__RESULT :
+ return getResults();
+ case UMLPackage.ACCEPT_EVENT_ACTION__TRIGGER :
+ return getTriggers();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ACCEPT_EVENT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__IS_UNMARSHALL :
+ setIsUnmarshall((Boolean) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__RESULT :
+ getResults().clear();
+ getResults().addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__TRIGGER :
+ getTriggers().clear();
+ getTriggers().addAll((Collection<? extends Trigger>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACCEPT_EVENT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__IS_UNMARSHALL :
+ setIsUnmarshall(IS_UNMARSHALL_EDEFAULT);
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__RESULT :
+ getResults().clear();
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__TRIGGER :
+ getTriggers().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACCEPT_EVENT_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ACCEPT_EVENT_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ACCEPT_EVENT_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ACCEPT_EVENT_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.ACCEPT_EVENT_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ACCEPT_EVENT_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.ACCEPT_EVENT_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ACCEPT_EVENT_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ACCEPT_EVENT_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ACCEPT_EVENT_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ACCEPT_EVENT_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ACCEPT_EVENT_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ACCEPT_EVENT_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ACCEPT_EVENT_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.ACCEPT_EVENT_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.ACCEPT_EVENT_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.ACCEPT_EVENT_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.ACCEPT_EVENT_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.ACCEPT_EVENT_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.ACCEPT_EVENT_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.ACCEPT_EVENT_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.ACCEPT_EVENT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.ACCEPT_EVENT_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.ACCEPT_EVENT_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.ACCEPT_EVENT_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.ACCEPT_EVENT_ACTION__IS_UNMARSHALL :
+ return isUnmarshall() != IS_UNMARSHALL_EDEFAULT;
+ case UMLPackage.ACCEPT_EVENT_ACTION__RESULT :
+ return !getResults().isEmpty();
+ case UMLPackage.ACCEPT_EVENT_ACTION__TRIGGER :
+ return !getTriggers().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ACCEPT_EVENT_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ACCEPT_EVENT_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ACCEPT_EVENT_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ACCEPT_EVENT_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ACCEPT_EVENT_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACCEPT_EVENT_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ACCEPT_EVENT_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.ACCEPT_EVENT_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.ACCEPT_EVENT_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.ACCEPT_EVENT_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.ACCEPT_EVENT_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_ONE_OUTPUT_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateOneOutputPin((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateNoInputPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_NO_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateNoOutputPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_UNMARSHALL_SIGNAL_EVENTS__DIAGNOSTICCHAIN_MAP :
+ return validateUnmarshallSignalEvents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_CONFORMING_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateConformingType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.ACCEPT_EVENT_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.ACCEPT_EVENT_ACTION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.ACCEPT_EVENT_ACTION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.ACCEPT_EVENT_ACTION__OWNED_COMMENT,
+ UMLPackage.ACCEPT_EVENT_ACTION__NAME_EXPRESSION,
+ UMLPackage.ACCEPT_EVENT_ACTION__HANDLER,
+ UMLPackage.ACCEPT_EVENT_ACTION__INPUT,
+ UMLPackage.ACCEPT_EVENT_ACTION__LOCAL_POSTCONDITION,
+ UMLPackage.ACCEPT_EVENT_ACTION__LOCAL_PRECONDITION,
+ UMLPackage.ACCEPT_EVENT_ACTION__OUTPUT,
+ UMLPackage.ACCEPT_EVENT_ACTION__TRIGGER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.ACCEPT_EVENT_ACTION__RESULT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.ACCEPT_EVENT_ACTION__TRIGGER);
+ }
+
+} //AcceptEventActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActionExecutionSpecificationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActionExecutionSpecificationImpl.java
new file mode 100644
index 00000000..efffc054
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActionExecutionSpecificationImpl.java
@@ -0,0 +1,482 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ActionExecutionSpecificationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Action Execution Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActionExecutionSpecificationImpl#getAction <em>Action</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ActionExecutionSpecificationImpl
+ extends ExecutionSpecificationImpl
+ implements ActionExecutionSpecification {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActionExecutionSpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ACTION_EXECUTION_SPECIFICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Action getAction() {
+ return (Action) eDynamicGet(
+ UMLPackage.ACTION_EXECUTION_SPECIFICATION__ACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTION_EXECUTION_SPECIFICATION__ACTION, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Action basicGetAction() {
+ return (Action) eDynamicGet(
+ UMLPackage.ACTION_EXECUTION_SPECIFICATION__ACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTION_EXECUTION_SPECIFICATION__ACTION, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAction(Action newAction) {
+ eDynamicSet(
+ UMLPackage.ACTION_EXECUTION_SPECIFICATION__ACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTION_EXECUTION_SPECIFICATION__ACTION,
+ newAction);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateActionReferenced(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActionExecutionSpecificationOperations
+ .validateActionReferenced(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__NAME :
+ return getName();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__COVERED :
+ return getCovereds();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__FINISH :
+ if (resolve)
+ return getFinish();
+ return basicGetFinish();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__START :
+ if (resolve)
+ return getStart();
+ return basicGetStart();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__ACTION :
+ if (resolve)
+ return getAction();
+ return basicGetAction();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__FINISH :
+ setFinish((OccurrenceSpecification) newValue);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__START :
+ setStart((OccurrenceSpecification) newValue);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__ACTION :
+ setAction((Action) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__FINISH :
+ setFinish((OccurrenceSpecification) null);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__START :
+ setStart((OccurrenceSpecification) null);
+ return;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__ACTION :
+ setAction((Action) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__NAME :
+ return isSetName();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__COVERED :
+ return !getCovereds().isEmpty();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__FINISH :
+ return basicGetFinish() != null;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__START :
+ return basicGetStart() != null;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION__ACTION :
+ return basicGetAction() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___SEPARATOR :
+ return separator();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___VALIDATE_SAME_LIFELINE__DIAGNOSTICCHAIN_MAP :
+ return validateSameLifeline((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION___VALIDATE_ACTION_REFERENCED__DIAGNOSTICCHAIN_MAP :
+ return validateActionReferenced(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ActionExecutionSpecificationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActionImpl.java
new file mode 100644
index 00000000..d2c25bbc
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActionImpl.java
@@ -0,0 +1,1010 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ * Kenn Hussey - 519572
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.ActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActionImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActionImpl#getContext <em>Context</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActionImpl#isLocallyReentrant <em>Is Locally Reentrant</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActionImpl#getLocalPostconditions <em>Local Postcondition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActionImpl#getLocalPreconditions <em>Local Precondition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ActionImpl
+ extends ExecutableNodeImpl
+ implements Action {
+
+ /**
+ * The default value of the '{@link #isLocallyReentrant() <em>Is Locally Reentrant</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLocallyReentrant()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_LOCALLY_REENTRANT_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this, UMLPackage.ACTION__OUTPUT,
+ null));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.ACTION__OUTPUT, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getOutput(String name, Type type) {
+ return getOutput(name, type, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getOutput(String name, Type type, boolean ignoreCase) {
+ outputLoop : for (OutputPin output : getOutputs()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(output.getName())
+ : name.equals(output.getName())))
+ continue outputLoop;
+ if (type != null && !type.equals(output.getType()))
+ continue outputLoop;
+ return output;
+ }
+ return null;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.ACTION__OWNED_COMMENT, UMLPackage.ACTION__NAME_EXPRESSION,
+ UMLPackage.ACTION__HANDLER, UMLPackage.ACTION__INPUT,
+ UMLPackage.ACTION__LOCAL_POSTCONDITION,
+ UMLPackage.ACTION__LOCAL_PRECONDITION, UMLPackage.ACTION__OUTPUT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.ACTION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.ACTION__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache
+ .put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this, UMLPackage.ACTION__INPUT,
+ null));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.ACTION__INPUT, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getInput(String name, Type type) {
+ return getInput(name, type, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getInput(String name, Type type, boolean ignoreCase,
+ EClass eClass) {
+ inputLoop : for (InputPin input : getInputs()) {
+ if (eClass != null && !eClass.isInstance(input))
+ continue inputLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(input.getName())
+ : name.equals(input.getName())))
+ continue inputLoop;
+ if (type != null && !type.equals(input.getType()))
+ continue inputLoop;
+ return input;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getContext() {
+ Classifier context = basicGetContext();
+ return context != null && context.eIsProxy()
+ ? (Classifier) eResolveProxy((InternalEObject) context)
+ : context;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Classifier basicGetContext() {
+ return ActionOperations.getContext(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isLocallyReentrant() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.ACTION__IS_LOCALLY_REENTRANT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTION__IS_LOCALLY_REENTRANT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsLocallyReentrant(boolean newIsLocallyReentrant) {
+ eDynamicSet(
+ UMLPackage.ACTION__IS_LOCALLY_REENTRANT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTION__IS_LOCALLY_REENTRANT,
+ newIsLocallyReentrant);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getLocalPreconditions() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.ACTION__LOCAL_PRECONDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTION__LOCAL_PRECONDITION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createLocalPrecondition(String name, EClass eClass) {
+ Constraint newLocalPrecondition = (Constraint) create(eClass);
+ getLocalPreconditions().add(newLocalPrecondition);
+ if (name != null)
+ newLocalPrecondition.setName(name);
+ return newLocalPrecondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createLocalPrecondition(String name) {
+ return createLocalPrecondition(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getLocalPrecondition(String name) {
+ return getLocalPrecondition(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getLocalPrecondition(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ localPreconditionLoop : for (Constraint localPrecondition : getLocalPreconditions()) {
+ if (eClass != null && !eClass.isInstance(localPrecondition))
+ continue localPreconditionLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(localPrecondition.getName())
+ : name.equals(localPrecondition.getName())))
+ continue localPreconditionLoop;
+ return localPrecondition;
+ }
+ return createOnDemand && eClass != null
+ ? createLocalPrecondition(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Action> allActions() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Action> result = (EList<Action>) cache.get(this,
+ UMLPackage.Literals.ACTION___ALL_ACTIONS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.ACTION___ALL_ACTIONS,
+ result = ActionOperations.allActions(this));
+ }
+ return result;
+ }
+ return ActionOperations.allActions(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ActivityNode> allOwnedNodes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<ActivityNode> result = (EList<ActivityNode>) cache.get(this,
+ UMLPackage.Literals.ACTION___ALL_OWNED_NODES);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.ACTION___ALL_OWNED_NODES,
+ result = ActionOperations.allOwnedNodes(this));
+ }
+ return result;
+ }
+ return ActionOperations.allOwnedNodes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior containingBehavior() {
+ return ActionOperations.containingBehavior(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getLocalPostconditions() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.ACTION__LOCAL_POSTCONDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTION__LOCAL_POSTCONDITION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createLocalPostcondition(String name, EClass eClass) {
+ Constraint newLocalPostcondition = (Constraint) create(eClass);
+ getLocalPostconditions().add(newLocalPostcondition);
+ if (name != null)
+ newLocalPostcondition.setName(name);
+ return newLocalPostcondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createLocalPostcondition(String name) {
+ return createLocalPostcondition(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getLocalPostcondition(String name) {
+ return getLocalPostcondition(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getLocalPostcondition(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ localPostconditionLoop : for (Constraint localPostcondition : getLocalPostconditions()) {
+ if (eClass != null && !eClass.isInstance(localPostcondition))
+ continue localPostconditionLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(localPostcondition.getName())
+ : name.equals(localPostcondition.getName())))
+ continue localPostconditionLoop;
+ return localPostcondition;
+ }
+ return createOnDemand && eClass != null
+ ? createLocalPostcondition(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ACTION__NAME :
+ return getName();
+ case UMLPackage.ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.ACTION__OUTPUT :
+ return getOutputs();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ACTION__NAME :
+ return isSetName();
+ case UMLPackage.ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.ACTION__OUTPUT :
+ return isSetOutputs();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetOutputs() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements() || isSetInputs()
+ || eIsSet(UMLPackage.ACTION__LOCAL_POSTCONDITION)
+ || eIsSet(UMLPackage.ACTION__LOCAL_PRECONDITION) || isSetOutputs();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetInputs() {
+ return false;
+ }
+
+} //ActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActionInputPinImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActionInputPinImpl.java
new file mode 100644
index 00000000..22a50c16
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActionInputPinImpl.java
@@ -0,0 +1,909 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ObjectNodeOrderingKind;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ActionInputPinOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Action Input Pin</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActionInputPinImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActionInputPinImpl#getFromAction <em>From Action</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ActionInputPinImpl
+ extends InputPinImpl
+ implements ActionInputPin {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActionInputPinImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ACTION_INPUT_PIN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.ACTION_INPUT_PIN__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.ACTION_INPUT_PIN__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Action getFromAction() {
+ return (Action) eDynamicGet(
+ UMLPackage.ACTION_INPUT_PIN__FROM_ACTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTION_INPUT_PIN__FROM_ACTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Action basicGetFromAction() {
+ return (Action) eDynamicGet(
+ UMLPackage.ACTION_INPUT_PIN__FROM_ACTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTION_INPUT_PIN__FROM_ACTION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFromAction(Action newFromAction,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newFromAction,
+ UMLPackage.ACTION_INPUT_PIN__FROM_ACTION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFromAction(Action newFromAction) {
+ eDynamicSet(
+ UMLPackage.ACTION_INPUT_PIN__FROM_ACTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTION_INPUT_PIN__FROM_ACTION, newFromAction);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Action createFromAction(String name, EClass eClass) {
+ Action newFromAction = (Action) create(eClass);
+ setFromAction(newFromAction);
+ if (name != null)
+ newFromAction.setName(name);
+ return newFromAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneOutputPin(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActionInputPinOperations.validateOneOutputPin(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoControlOrObjectFlow(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActionInputPinOperations.validateNoControlOrObjectFlow(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInputPin(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActionInputPinOperations.validateInputPin(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ACTION_INPUT_PIN__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTION_INPUT_PIN__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTION_INPUT_PIN__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ACTION_INPUT_PIN__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTION_INPUT_PIN__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.ACTION_INPUT_PIN__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACTION_INPUT_PIN__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACTION_INPUT_PIN__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTION_INPUT_PIN__UPPER_BOUND :
+ return basicSetUpperBound(null, msgs);
+ case UMLPackage.ACTION_INPUT_PIN__LOWER_VALUE :
+ return basicSetLowerValue(null, msgs);
+ case UMLPackage.ACTION_INPUT_PIN__UPPER_VALUE :
+ return basicSetUpperValue(null, msgs);
+ case UMLPackage.ACTION_INPUT_PIN__FROM_ACTION :
+ return basicSetFromAction(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ACTION_INPUT_PIN__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ACTION_INPUT_PIN__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ACTION_INPUT_PIN__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ACTION_INPUT_PIN__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ACTION_INPUT_PIN__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ACTION_INPUT_PIN__NAME :
+ return getName();
+ case UMLPackage.ACTION_INPUT_PIN__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ACTION_INPUT_PIN__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ACTION_INPUT_PIN__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTION_INPUT_PIN__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ACTION_INPUT_PIN__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ACTION_INPUT_PIN__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ACTION_INPUT_PIN__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ACTION_INPUT_PIN__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.ACTION_INPUT_PIN__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.ACTION_INPUT_PIN__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.ACTION_INPUT_PIN__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.ACTION_INPUT_PIN__INCOMING :
+ return getIncomings();
+ case UMLPackage.ACTION_INPUT_PIN__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.ACTION_INPUT_PIN__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.ACTION_INPUT_PIN__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.ACTION_INPUT_PIN__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.ACTION_INPUT_PIN__IN_STATE :
+ return getInStates();
+ case UMLPackage.ACTION_INPUT_PIN__IS_CONTROL_TYPE :
+ return isControlType();
+ case UMLPackage.ACTION_INPUT_PIN__ORDERING :
+ return getOrdering();
+ case UMLPackage.ACTION_INPUT_PIN__SELECTION :
+ if (resolve)
+ return getSelection();
+ return basicGetSelection();
+ case UMLPackage.ACTION_INPUT_PIN__UPPER_BOUND :
+ if (resolve)
+ return getUpperBound();
+ return basicGetUpperBound();
+ case UMLPackage.ACTION_INPUT_PIN__IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.ACTION_INPUT_PIN__IS_UNIQUE :
+ return isUnique();
+ case UMLPackage.ACTION_INPUT_PIN__LOWER :
+ return getLower();
+ case UMLPackage.ACTION_INPUT_PIN__LOWER_VALUE :
+ if (resolve)
+ return getLowerValue();
+ return basicGetLowerValue();
+ case UMLPackage.ACTION_INPUT_PIN__UPPER :
+ return getUpper();
+ case UMLPackage.ACTION_INPUT_PIN__UPPER_VALUE :
+ if (resolve)
+ return getUpperValue();
+ return basicGetUpperValue();
+ case UMLPackage.ACTION_INPUT_PIN__IS_CONTROL :
+ return isControl();
+ case UMLPackage.ACTION_INPUT_PIN__FROM_ACTION :
+ if (resolve)
+ return getFromAction();
+ return basicGetFromAction();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ACTION_INPUT_PIN__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IN_STATE :
+ getInStates().clear();
+ getInStates().addAll((Collection<? extends State>) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IS_CONTROL_TYPE :
+ setIsControlType((Boolean) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__ORDERING :
+ setOrdering((ObjectNodeOrderingKind) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__SELECTION :
+ setSelection((Behavior) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__UPPER_BOUND :
+ setUpperBound((ValueSpecification) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IS_ORDERED :
+ setIsOrdered((Boolean) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IS_UNIQUE :
+ setIsUnique((Boolean) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__LOWER :
+ setLower((Integer) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__LOWER_VALUE :
+ setLowerValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__UPPER :
+ setUpper((Integer) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__UPPER_VALUE :
+ setUpperValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IS_CONTROL :
+ setIsControl((Boolean) newValue);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__FROM_ACTION :
+ setFromAction((Action) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTION_INPUT_PIN__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IN_STATE :
+ getInStates().clear();
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IS_CONTROL_TYPE :
+ setIsControlType(IS_CONTROL_TYPE_EDEFAULT);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__ORDERING :
+ setOrdering(ORDERING_EDEFAULT);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__SELECTION :
+ setSelection((Behavior) null);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__UPPER_BOUND :
+ setUpperBound((ValueSpecification) null);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IS_ORDERED :
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IS_UNIQUE :
+ setIsUnique(IS_UNIQUE_EDEFAULT);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__LOWER :
+ setLower(LOWER_EDEFAULT);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__LOWER_VALUE :
+ setLowerValue((ValueSpecification) null);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__UPPER :
+ setUpper(UPPER_EDEFAULT);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__UPPER_VALUE :
+ setUpperValue((ValueSpecification) null);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__IS_CONTROL :
+ setIsControl(IS_CONTROL_EDEFAULT);
+ return;
+ case UMLPackage.ACTION_INPUT_PIN__FROM_ACTION :
+ setFromAction((Action) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTION_INPUT_PIN__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ACTION_INPUT_PIN__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ACTION_INPUT_PIN__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ACTION_INPUT_PIN__OWNER :
+ return isSetOwner();
+ case UMLPackage.ACTION_INPUT_PIN__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ACTION_INPUT_PIN__NAME :
+ return isSetName();
+ case UMLPackage.ACTION_INPUT_PIN__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ACTION_INPUT_PIN__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ACTION_INPUT_PIN__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ACTION_INPUT_PIN__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ACTION_INPUT_PIN__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ACTION_INPUT_PIN__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ACTION_INPUT_PIN__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ACTION_INPUT_PIN__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.ACTION_INPUT_PIN__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.ACTION_INPUT_PIN__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.ACTION_INPUT_PIN__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.ACTION_INPUT_PIN__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.ACTION_INPUT_PIN__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.ACTION_INPUT_PIN__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.ACTION_INPUT_PIN__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.ACTION_INPUT_PIN__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.ACTION_INPUT_PIN__IN_STATE :
+ return !getInStates().isEmpty();
+ case UMLPackage.ACTION_INPUT_PIN__IS_CONTROL_TYPE :
+ return isControlType() != IS_CONTROL_TYPE_EDEFAULT;
+ case UMLPackage.ACTION_INPUT_PIN__ORDERING :
+ return getOrdering() != ORDERING_EDEFAULT;
+ case UMLPackage.ACTION_INPUT_PIN__SELECTION :
+ return basicGetSelection() != null;
+ case UMLPackage.ACTION_INPUT_PIN__UPPER_BOUND :
+ return basicGetUpperBound() != null;
+ case UMLPackage.ACTION_INPUT_PIN__IS_ORDERED :
+ return isOrdered() != IS_ORDERED_EDEFAULT;
+ case UMLPackage.ACTION_INPUT_PIN__IS_UNIQUE :
+ return isUnique() != IS_UNIQUE_EDEFAULT;
+ case UMLPackage.ACTION_INPUT_PIN__LOWER :
+ return getLower() != LOWER_EDEFAULT;
+ case UMLPackage.ACTION_INPUT_PIN__LOWER_VALUE :
+ return basicGetLowerValue() != null;
+ case UMLPackage.ACTION_INPUT_PIN__UPPER :
+ return getUpper() != UPPER_EDEFAULT;
+ case UMLPackage.ACTION_INPUT_PIN__UPPER_VALUE :
+ return basicGetUpperValue() != null;
+ case UMLPackage.ACTION_INPUT_PIN__IS_CONTROL :
+ return isControl() != IS_CONTROL_EDEFAULT;
+ case UMLPackage.ACTION_INPUT_PIN__FROM_ACTION :
+ return basicGetFromAction() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ACTION_INPUT_PIN___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ACTION_INPUT_PIN___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ACTION_INPUT_PIN___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ACTION_INPUT_PIN___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ACTION_INPUT_PIN___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___GET_MODEL :
+ return getModel();
+ case UMLPackage.ACTION_INPUT_PIN___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ACTION_INPUT_PIN___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ACTION_INPUT_PIN___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ACTION_INPUT_PIN___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ACTION_INPUT_PIN___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ACTION_INPUT_PIN___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ACTION_INPUT_PIN___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ACTION_INPUT_PIN___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ACTION_INPUT_PIN___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ACTION_INPUT_PIN___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ACTION_INPUT_PIN___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ACTION_INPUT_PIN___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ACTION_INPUT_PIN___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTION_INPUT_PIN___SEPARATOR :
+ return separator();
+ case UMLPackage.ACTION_INPUT_PIN___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validateInputOutputParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateSelectionBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateObjectFlowEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return validateUpperGeLower((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return validateLowerGe0((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationNoSideEffects(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationConstant(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return validateLowerIsInteger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return validateUpperIsUnlimitedNatural(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.ACTION_INPUT_PIN___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.ACTION_INPUT_PIN___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return compatibleWith((MultiplicityElement) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return includesMultiplicity(
+ (MultiplicityElement) arguments.get(0));
+ case UMLPackage.ACTION_INPUT_PIN___IS__INT_INT :
+ return is((Integer) arguments.get(0),
+ (Integer) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___IS_MULTIVALUED :
+ return isMultivalued();
+ case UMLPackage.ACTION_INPUT_PIN___GET_LOWER :
+ return getLower();
+ case UMLPackage.ACTION_INPUT_PIN___LOWER_BOUND :
+ return lowerBound();
+ case UMLPackage.ACTION_INPUT_PIN___GET_UPPER :
+ return getUpper();
+ case UMLPackage.ACTION_INPUT_PIN___UPPER_BOUND :
+ return upperBound();
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_CONTROL_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateControlPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_NOT_UNIQUE__DIAGNOSTICCHAIN_MAP :
+ return validateNotUnique((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_OUTGOING_EDGES_STRUCTURED_ONLY__DIAGNOSTICCHAIN_MAP :
+ return validateOutgoingEdgesStructuredOnly(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateInputPin((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_ONE_OUTPUT_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateOneOutputPin((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTION_INPUT_PIN___VALIDATE_NO_CONTROL_OR_OBJECT_FLOW__DIAGNOSTICCHAIN_MAP :
+ return validateNoControlOrObjectFlow(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.ACTION_INPUT_PIN__OWNED_COMMENT,
+ UMLPackage.ACTION_INPUT_PIN__NAME_EXPRESSION,
+ UMLPackage.ACTION_INPUT_PIN__UPPER_BOUND,
+ UMLPackage.ACTION_INPUT_PIN__LOWER_VALUE,
+ UMLPackage.ACTION_INPUT_PIN__UPPER_VALUE,
+ UMLPackage.ACTION_INPUT_PIN__FROM_ACTION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.ACTION_INPUT_PIN__FROM_ACTION);
+ }
+
+} //ActionInputPinImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityEdgeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityEdgeImpl.java
new file mode 100644
index 00000000..b548dcf3
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityEdgeImpl.java
@@ -0,0 +1,1297 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ActivityEdgeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Activity Edge</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityEdgeImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityEdgeImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityEdgeImpl#getInGroups <em>In Group</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityEdgeImpl#getRedefinedElements <em>Redefined Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityEdgeImpl#getActivity <em>Activity</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityEdgeImpl#getGuard <em>Guard</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityEdgeImpl#getInPartitions <em>In Partition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityEdgeImpl#getInterrupts <em>Interrupts</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityEdgeImpl#getInStructuredNode <em>In Structured Node</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityEdgeImpl#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityEdgeImpl#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityEdgeImpl#getRedefinedEdges <em>Redefined Edge</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityEdgeImpl#getWeight <em>Weight</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ActivityEdgeImpl
+ extends RedefinableElementImpl
+ implements ActivityEdge {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActivityEdgeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ACTIVITY_EDGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ActivityGroup> getInGroups() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ActivityGroup> inGroups = (EList<ActivityGroup>) cache.get(
+ eResource, this, UMLPackage.Literals.ACTIVITY_EDGE__IN_GROUP);
+ if (inGroups == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ACTIVITY_EDGE__IN_GROUP,
+ inGroups = new DerivedUnionEObjectEList<ActivityGroup>(
+ ActivityGroup.class, this,
+ UMLPackage.ACTIVITY_EDGE__IN_GROUP, IN_GROUP_ESUBSETS));
+ }
+ return inGroups;
+ }
+ return new DerivedUnionEObjectEList<ActivityGroup>(ActivityGroup.class,
+ this, UMLPackage.ACTIVITY_EDGE__IN_GROUP, IN_GROUP_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<RedefinableElement> getRedefinedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<RedefinableElement> redefinedElements = (EList<RedefinableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT);
+ if (redefinedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT,
+ redefinedElements = new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.ACTIVITY_EDGE__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS));
+ }
+ return redefinedElements;
+ }
+ return new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.ACTIVITY_EDGE__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.ACTIVITY_EDGE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.ACTIVITY_EDGE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity getActivity() {
+ return (Activity) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__ACTIVITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__ACTIVITY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity basicGetActivity() {
+ return (Activity) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__ACTIVITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__ACTIVITY, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetActivity(Activity newActivity,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newActivity,
+ UMLPackage.ACTIVITY_EDGE__ACTIVITY, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActivity(Activity newActivity) {
+ eDynamicSet(UMLPackage.ACTIVITY_EDGE__ACTIVITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__ACTIVITY, newActivity);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityPartition> getInPartitions() {
+ return (EList<ActivityPartition>) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__IN_PARTITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__IN_PARTITION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition getInPartition(String name) {
+ return getInPartition(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition getInPartition(String name, boolean ignoreCase) {
+ inPartitionLoop : for (ActivityPartition inPartition : getInPartitions()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(inPartition.getName())
+ : name.equals(inPartition.getName())))
+ continue inPartitionLoop;
+ return inPartition;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode getInStructuredNode() {
+ return (StructuredActivityNode) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__IN_STRUCTURED_NODE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode basicGetInStructuredNode() {
+ return (StructuredActivityNode) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__IN_STRUCTURED_NODE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInStructuredNode(
+ StructuredActivityNode newInStructuredNode,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newInStructuredNode,
+ UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInStructuredNode(
+ StructuredActivityNode newInStructuredNode) {
+ eDynamicSet(
+ UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__IN_STRUCTURED_NODE,
+ newInStructuredNode);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getTarget() {
+ return (ActivityNode) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__TARGET, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode basicGetTarget() {
+ return (ActivityNode) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__TARGET, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTarget(ActivityNode newTarget,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newTarget,
+ UMLPackage.ACTIVITY_EDGE__TARGET, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTarget(ActivityNode newTarget) {
+ eDynamicSet(UMLPackage.ACTIVITY_EDGE__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__TARGET, newTarget);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityEdge> getRedefinedEdges() {
+ return (EList<ActivityEdge>) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__REDEFINED_EDGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__REDEFINED_EDGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getRedefinedEdge(String name) {
+ return getRedefinedEdge(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getRedefinedEdge(String name, boolean ignoreCase,
+ EClass eClass) {
+ redefinedEdgeLoop : for (ActivityEdge redefinedEdge : getRedefinedEdges()) {
+ if (eClass != null && !eClass.isInstance(redefinedEdge))
+ continue redefinedEdgeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedEdge.getName())
+ : name.equals(redefinedEdge.getName())))
+ continue redefinedEdgeLoop;
+ return redefinedEdge;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getGuard() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__GUARD - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__GUARD, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetGuard() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__GUARD - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__GUARD, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetGuard(ValueSpecification newGuard,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newGuard,
+ UMLPackage.ACTIVITY_EDGE__GUARD, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGuard(ValueSpecification newGuard) {
+ eDynamicSet(UMLPackage.ACTIVITY_EDGE__GUARD - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__GUARD, newGuard);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createGuard(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newGuard = (ValueSpecification) create(eClass);
+ setGuard(newGuard);
+ if (name != null)
+ newGuard.setName(name);
+ if (type != null)
+ newGuard.setType(type);
+ return newGuard;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getWeight() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__WEIGHT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__WEIGHT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetWeight() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__WEIGHT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__WEIGHT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetWeight(ValueSpecification newWeight,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newWeight,
+ UMLPackage.ACTIVITY_EDGE__WEIGHT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWeight(ValueSpecification newWeight) {
+ eDynamicSet(UMLPackage.ACTIVITY_EDGE__WEIGHT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__WEIGHT, newWeight);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createWeight(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newWeight = (ValueSpecification) create(eClass);
+ setWeight(newWeight);
+ if (name != null)
+ newWeight.setName(name);
+ if (type != null)
+ newWeight.setType(type);
+ return newWeight;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterruptibleActivityRegion getInterrupts() {
+ return (InterruptibleActivityRegion) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__INTERRUPTS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__INTERRUPTS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterruptibleActivityRegion basicGetInterrupts() {
+ return (InterruptibleActivityRegion) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__INTERRUPTS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__INTERRUPTS, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInterrupts(
+ InterruptibleActivityRegion newInterrupts, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newInterrupts,
+ UMLPackage.ACTIVITY_EDGE__INTERRUPTS, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInterrupts(InterruptibleActivityRegion newInterrupts) {
+ eDynamicSet(
+ UMLPackage.ACTIVITY_EDGE__INTERRUPTS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__INTERRUPTS, newInterrupts);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getSource() {
+ return (ActivityNode) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__SOURCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__SOURCE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode basicGetSource() {
+ return (ActivityNode) eDynamicGet(
+ UMLPackage.ACTIVITY_EDGE__SOURCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__SOURCE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSource(ActivityNode newSource,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newSource,
+ UMLPackage.ACTIVITY_EDGE__SOURCE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSource(ActivityNode newSource) {
+ eDynamicSet(UMLPackage.ACTIVITY_EDGE__SOURCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_EDGE__SOURCE, newSource);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSourceAndTarget(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityEdgeOperations.validateSourceAndTarget(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isConsistentWith(RedefinableElement redefiningElement) {
+ return ActivityEdgeOperations.isConsistentWith(this, redefiningElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_EDGE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetActivity((Activity) otherEnd, msgs);
+ case UMLPackage.ACTIVITY_EDGE__IN_PARTITION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInPartitions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_EDGE__INTERRUPTS :
+ InterruptibleActivityRegion interrupts = basicGetInterrupts();
+ if (interrupts != null)
+ msgs = ((InternalEObject) interrupts).eInverseRemove(this,
+ UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE,
+ InterruptibleActivityRegion.class, msgs);
+ return basicSetInterrupts(
+ (InterruptibleActivityRegion) otherEnd, msgs);
+ case UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetInStructuredNode(
+ (StructuredActivityNode) otherEnd, msgs);
+ case UMLPackage.ACTIVITY_EDGE__TARGET :
+ ActivityNode target = basicGetTarget();
+ if (target != null)
+ msgs = ((InternalEObject) target).eInverseRemove(this,
+ UMLPackage.ACTIVITY_NODE__INCOMING, ActivityNode.class,
+ msgs);
+ return basicSetTarget((ActivityNode) otherEnd, msgs);
+ case UMLPackage.ACTIVITY_EDGE__SOURCE :
+ ActivityNode source = basicGetSource();
+ if (source != null)
+ msgs = ((InternalEObject) source).eInverseRemove(this,
+ UMLPackage.ACTIVITY_NODE__OUTGOING, ActivityNode.class,
+ msgs);
+ return basicSetSource((ActivityNode) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_EDGE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_EDGE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_EDGE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+ return basicSetActivity(null, msgs);
+ case UMLPackage.ACTIVITY_EDGE__GUARD :
+ return basicSetGuard(null, msgs);
+ case UMLPackage.ACTIVITY_EDGE__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_EDGE__INTERRUPTS :
+ return basicSetInterrupts(null, msgs);
+ case UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.ACTIVITY_EDGE__TARGET :
+ return basicSetTarget(null, msgs);
+ case UMLPackage.ACTIVITY_EDGE__SOURCE :
+ return basicSetSource(null, msgs);
+ case UMLPackage.ACTIVITY_EDGE__WEIGHT :
+ return basicSetWeight(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.ACTIVITY__EDGE, Activity.class, msgs);
+ case UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE,
+ StructuredActivityNode.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_EDGE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ACTIVITY_EDGE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ACTIVITY_EDGE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ACTIVITY_EDGE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ACTIVITY_EDGE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ACTIVITY_EDGE__NAME :
+ return getName();
+ case UMLPackage.ACTIVITY_EDGE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ACTIVITY_EDGE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ACTIVITY_EDGE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTIVITY_EDGE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ACTIVITY_EDGE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ACTIVITY_EDGE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ACTIVITY_EDGE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.ACTIVITY_EDGE__GUARD :
+ if (resolve)
+ return getGuard();
+ return basicGetGuard();
+ case UMLPackage.ACTIVITY_EDGE__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.ACTIVITY_EDGE__INTERRUPTS :
+ if (resolve)
+ return getInterrupts();
+ return basicGetInterrupts();
+ case UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.ACTIVITY_EDGE__TARGET :
+ if (resolve)
+ return getTarget();
+ return basicGetTarget();
+ case UMLPackage.ACTIVITY_EDGE__SOURCE :
+ if (resolve)
+ return getSource();
+ return basicGetSource();
+ case UMLPackage.ACTIVITY_EDGE__REDEFINED_EDGE :
+ return getRedefinedEdges();
+ case UMLPackage.ACTIVITY_EDGE__WEIGHT :
+ if (resolve)
+ return getWeight();
+ return basicGetWeight();
+ case UMLPackage.ACTIVITY_EDGE__IN_GROUP :
+ return getInGroups();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_EDGE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__GUARD :
+ setGuard((ValueSpecification) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__INTERRUPTS :
+ setInterrupts((InterruptibleActivityRegion) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__TARGET :
+ setTarget((ActivityNode) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__SOURCE :
+ setSource((ActivityNode) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__REDEFINED_EDGE :
+ getRedefinedEdges().clear();
+ getRedefinedEdges()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__WEIGHT :
+ setWeight((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_EDGE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ACTIVITY_EDGE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ACTIVITY_EDGE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ACTIVITY_EDGE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ACTIVITY_EDGE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__GUARD :
+ setGuard((ValueSpecification) null);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.ACTIVITY_EDGE__INTERRUPTS :
+ setInterrupts((InterruptibleActivityRegion) null);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__TARGET :
+ setTarget((ActivityNode) null);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__SOURCE :
+ setSource((ActivityNode) null);
+ return;
+ case UMLPackage.ACTIVITY_EDGE__REDEFINED_EDGE :
+ getRedefinedEdges().clear();
+ return;
+ case UMLPackage.ACTIVITY_EDGE__WEIGHT :
+ setWeight((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_EDGE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ACTIVITY_EDGE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ACTIVITY_EDGE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ACTIVITY_EDGE__OWNER :
+ return isSetOwner();
+ case UMLPackage.ACTIVITY_EDGE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ACTIVITY_EDGE__NAME :
+ return isSetName();
+ case UMLPackage.ACTIVITY_EDGE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ACTIVITY_EDGE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ACTIVITY_EDGE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ACTIVITY_EDGE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ACTIVITY_EDGE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ACTIVITY_EDGE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ACTIVITY_EDGE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.ACTIVITY_EDGE__GUARD :
+ return basicGetGuard() != null;
+ case UMLPackage.ACTIVITY_EDGE__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.ACTIVITY_EDGE__INTERRUPTS :
+ return basicGetInterrupts() != null;
+ case UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.ACTIVITY_EDGE__TARGET :
+ return basicGetTarget() != null;
+ case UMLPackage.ACTIVITY_EDGE__SOURCE :
+ return basicGetSource() != null;
+ case UMLPackage.ACTIVITY_EDGE__REDEFINED_EDGE :
+ return !getRedefinedEdges().isEmpty();
+ case UMLPackage.ACTIVITY_EDGE__WEIGHT :
+ return basicGetWeight() != null;
+ case UMLPackage.ACTIVITY_EDGE__IN_GROUP :
+ return isSetInGroups();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ACTIVITY_EDGE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_EDGE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_EDGE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ACTIVITY_EDGE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ACTIVITY_EDGE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ACTIVITY_EDGE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ACTIVITY_EDGE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_EDGE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___GET_MODEL :
+ return getModel();
+ case UMLPackage.ACTIVITY_EDGE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ACTIVITY_EDGE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ACTIVITY_EDGE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ACTIVITY_EDGE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ACTIVITY_EDGE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ACTIVITY_EDGE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ACTIVITY_EDGE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_EDGE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_EDGE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ACTIVITY_EDGE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ACTIVITY_EDGE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ACTIVITY_EDGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_EDGE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_EDGE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_EDGE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ACTIVITY_EDGE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ACTIVITY_EDGE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ACTIVITY_EDGE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ACTIVITY_EDGE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ACTIVITY_EDGE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTIVITY_EDGE___SEPARATOR :
+ return separator();
+ case UMLPackage.ACTIVITY_EDGE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ACTIVITY_EDGE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_EDGE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_EDGE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_EDGE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_EDGE___VALIDATE_SOURCE_AND_TARGET__DIAGNOSTICCHAIN_MAP :
+ return validateSourceAndTarget(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ Activity activity = basicGetActivity();
+ if (activity != null) {
+ return activity;
+ }
+ StructuredActivityNode inStructuredNode = basicGetInStructuredNode();
+ if (inStructuredNode != null) {
+ return inStructuredNode;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner() || eIsSet(UMLPackage.ACTIVITY_EDGE__ACTIVITY)
+ || eIsSet(UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetInGroups() {
+ return eIsSet(UMLPackage.ACTIVITY_EDGE__IN_PARTITION)
+ || eIsSet(UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetRedefinedElements() {
+ return super.isSetRedefinedElements()
+ || eIsSet(UMLPackage.ACTIVITY_EDGE__REDEFINED_EDGE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY_EDGE__OWNED_COMMENT,
+ UMLPackage.ACTIVITY_EDGE__NAME_EXPRESSION,
+ UMLPackage.ACTIVITY_EDGE__GUARD, UMLPackage.ACTIVITY_EDGE__WEIGHT};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInGroups() <em>In Group</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInGroups()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] IN_GROUP_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY_EDGE__IN_PARTITION,
+ UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getInGroup(String name) {
+ return getInGroup(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getInGroup(String name, boolean ignoreCase,
+ EClass eClass) {
+ inGroupLoop : for (ActivityGroup inGroup : getInGroups()) {
+ if (eClass != null && !eClass.isInstance(inGroup))
+ continue inGroupLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(inGroup.getName())
+ : name.equals(inGroup.getName())))
+ continue inGroupLoop;
+ return inGroup;
+ }
+ return null;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedElements() <em>Redefined Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY_EDGE__REDEFINED_EDGE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.ACTIVITY_EDGE__GUARD)
+ || eIsSet(UMLPackage.ACTIVITY_EDGE__WEIGHT);
+ }
+
+} //ActivityEdgeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityFinalNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityFinalNodeImpl.java
new file mode 100644
index 00000000..b1e7b109
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityFinalNodeImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Activity Final Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ActivityFinalNodeImpl
+ extends FinalNodeImpl
+ implements ActivityFinalNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActivityFinalNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ACTIVITY_FINAL_NODE;
+ }
+
+} //ActivityFinalNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityGroupImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityGroupImpl.java
new file mode 100644
index 00000000..567e42bf
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityGroupImpl.java
@@ -0,0 +1,834 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 465214, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityContent;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.ActivityGroupOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Activity Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityGroupImpl#getContainedEdges <em>Contained Edge</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityGroupImpl#getContainedNodes <em>Contained Node</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityGroupImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityGroupImpl#getSubgroups <em>Subgroup</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityGroupImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityGroupImpl#getSuperGroup <em>Super Group</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityGroupImpl#getInActivity <em>In Activity</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ActivityGroupImpl
+ extends NamedElementImpl
+ implements ActivityGroup {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActivityGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ACTIVITY_GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ActivityGroup> getSubgroups() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ActivityGroup> subgroups = (EList<ActivityGroup>) cache.get(
+ eResource, this, UMLPackage.Literals.ACTIVITY_GROUP__SUBGROUP);
+ if (subgroups == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__SUBGROUP,
+ subgroups = new DerivedUnionEObjectEList<ActivityGroup>(
+ ActivityGroup.class, this,
+ UMLPackage.ACTIVITY_GROUP__SUBGROUP, null));
+ }
+ return subgroups;
+ }
+ return new DerivedUnionEObjectEList<ActivityGroup>(ActivityGroup.class,
+ this, UMLPackage.ACTIVITY_GROUP__SUBGROUP, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getSubgroup(String name) {
+ return getSubgroup(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getSubgroup(String name, boolean ignoreCase,
+ EClass eClass) {
+ subgroupLoop : for (ActivityGroup subgroup : getSubgroups()) {
+ if (eClass != null && !eClass.isInstance(subgroup))
+ continue subgroupLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(subgroup.getName())
+ : name.equals(subgroup.getName())))
+ continue subgroupLoop;
+ return subgroup;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.ACTIVITY_GROUP__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.ACTIVITY_GROUP__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ActivityNode> getContainedNodes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ActivityNode> containedNodes = (EList<ActivityNode>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_NODE);
+ if (containedNodes == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_NODE,
+ containedNodes = new DerivedUnionEObjectEList<ActivityNode>(
+ ActivityNode.class, this,
+ UMLPackage.ACTIVITY_GROUP__CONTAINED_NODE, null));
+ }
+ return containedNodes;
+ }
+ return new DerivedUnionEObjectEList<ActivityNode>(ActivityNode.class,
+ this, UMLPackage.ACTIVITY_GROUP__CONTAINED_NODE, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getContainedNode(String name) {
+ return getContainedNode(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getContainedNode(String name, boolean ignoreCase,
+ EClass eClass) {
+ containedNodeLoop : for (ActivityNode containedNode : getContainedNodes()) {
+ if (eClass != null && !eClass.isInstance(containedNode))
+ continue containedNodeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(containedNode.getName())
+ : name.equals(containedNode.getName())))
+ continue containedNodeLoop;
+ return containedNode;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ActivityEdge> getContainedEdges() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ActivityEdge> containedEdges = (EList<ActivityEdge>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_EDGE);
+ if (containedEdges == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_EDGE,
+ containedEdges = new DerivedUnionEObjectEList<ActivityEdge>(
+ ActivityEdge.class, this,
+ UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE, null));
+ }
+ return containedEdges;
+ }
+ return new DerivedUnionEObjectEList<ActivityEdge>(ActivityEdge.class,
+ this, UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getContainedEdge(String name) {
+ return getContainedEdge(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getContainedEdge(String name, boolean ignoreCase,
+ EClass eClass) {
+ containedEdgeLoop : for (ActivityEdge containedEdge : getContainedEdges()) {
+ if (eClass != null && !eClass.isInstance(containedEdge))
+ continue containedEdgeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(containedEdge.getName())
+ : name.equals(containedEdge.getName())))
+ continue containedEdgeLoop;
+ return containedEdge;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity getInActivity() {
+ Activity inActivity = basicGetInActivity();
+ return inActivity != null && inActivity.eIsProxy()
+ ? (Activity) eResolveProxy((InternalEObject) inActivity)
+ : inActivity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Activity basicGetInActivity() {
+ InternalEObject eInternalContainer = eInternalContainer();
+ return eInternalContainer instanceof Activity
+ ? (Activity) eInternalContainer
+ : null;
+ }
+
+ @Override
+ public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
+ InternalEObject eInternalContainer = eInternalContainer();
+ if (eInternalContainer instanceof Activity) {
+ return ((InternalEList<ActivityGroup>) ((Activity) eInternalContainer)
+ .getGroups()).basicRemove(this, msgs);
+ }
+ return super.eBasicRemoveFromContainer(msgs);
+ }
+
+ @Override
+ public NotificationChain eBasicSetContainer(InternalEObject newContainer,
+ int newContainerFeatureID, NotificationChain msgs) {
+ InternalEObject eInternalContainer = eInternalContainer();
+ if (eInternalContainer instanceof Activity) {
+ msgs = ((InternalEList<ActivityGroup>) ((Activity) eInternalContainer)
+ .getGroups()).basicRemove(this, msgs);
+ }
+ return super.eBasicSetContainer(newContainer, newContainerFeatureID,
+ msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void setInActivity(Activity newInActivity) {
+ if (newInActivity != eInternalContainer()) {
+ if (EcoreUtil.isAncestor(this, newInActivity))
+ throw new IllegalArgumentException(
+ "Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newInActivity != null)
+ msgs = ((InternalEList<ActivityGroup>) newInActivity
+ .getOwnedGroups()).basicAdd(this, msgs);
+ msgs = eBasicSetContainer((InternalEObject) newInActivity,
+ InternalEObject.EOPPOSITE_FEATURE_BASE
+ - UMLPackage.ACTIVITY__OWNED_GROUP,
+ msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY, newInActivity,
+ newInActivity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity containingActivity() {
+ return ActivityGroupOperations.containingActivity(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNodesAndEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityGroupOperations.validateNodesAndEdges(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNotContained(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityGroupOperations.validateNotContained(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_GROUP__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ACTIVITY_GROUP__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ACTIVITY_GROUP__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ACTIVITY_GROUP__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ACTIVITY_GROUP__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ACTIVITY_GROUP__NAME :
+ return getName();
+ case UMLPackage.ACTIVITY_GROUP__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ACTIVITY_GROUP__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ACTIVITY_GROUP__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTIVITY_GROUP__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE :
+ return getContainedEdges();
+ case UMLPackage.ACTIVITY_GROUP__CONTAINED_NODE :
+ return getContainedNodes();
+ case UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY :
+ if (resolve)
+ return getInActivity();
+ return basicGetInActivity();
+ case UMLPackage.ACTIVITY_GROUP__SUBGROUP :
+ return getSubgroups();
+ case UMLPackage.ACTIVITY_GROUP__SUPER_GROUP :
+ if (resolve)
+ return getSuperGroup();
+ return basicGetSuperGroup();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_GROUP__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_GROUP__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_GROUP__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ACTIVITY_GROUP__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ACTIVITY_GROUP__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY :
+ setInActivity((Activity) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_GROUP__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ACTIVITY_GROUP__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ACTIVITY_GROUP__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ACTIVITY_GROUP__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ACTIVITY_GROUP__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY :
+ setInActivity((Activity) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_GROUP__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ACTIVITY_GROUP__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ACTIVITY_GROUP__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ACTIVITY_GROUP__OWNER :
+ return isSetOwner();
+ case UMLPackage.ACTIVITY_GROUP__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ACTIVITY_GROUP__NAME :
+ return isSetName();
+ case UMLPackage.ACTIVITY_GROUP__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ACTIVITY_GROUP__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ACTIVITY_GROUP__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ACTIVITY_GROUP__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE :
+ return isSetContainedEdges();
+ case UMLPackage.ACTIVITY_GROUP__CONTAINED_NODE :
+ return isSetContainedNodes();
+ case UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY :
+ return basicGetInActivity() != null;
+ case UMLPackage.ACTIVITY_GROUP__SUBGROUP :
+ return isSetSubgroups();
+ case UMLPackage.ACTIVITY_GROUP__SUPER_GROUP :
+ return isSetSuperGroup();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ActivityContent.class) {
+ switch (baseOperationID) {
+ case UMLPackage.ACTIVITY_CONTENT___CONTAINING_ACTIVITY :
+ return UMLPackage.ACTIVITY_GROUP___CONTAINING_ACTIVITY;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ACTIVITY_GROUP___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_GROUP___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_GROUP___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ACTIVITY_GROUP___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ACTIVITY_GROUP___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ACTIVITY_GROUP___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ACTIVITY_GROUP___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_GROUP___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___GET_MODEL :
+ return getModel();
+ case UMLPackage.ACTIVITY_GROUP___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ACTIVITY_GROUP___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ACTIVITY_GROUP___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ACTIVITY_GROUP___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ACTIVITY_GROUP___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ACTIVITY_GROUP___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ACTIVITY_GROUP___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_GROUP___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_GROUP___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ACTIVITY_GROUP___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ACTIVITY_GROUP___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ACTIVITY_GROUP___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_GROUP___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_GROUP___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_GROUP___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ACTIVITY_GROUP___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ACTIVITY_GROUP___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ACTIVITY_GROUP___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ACTIVITY_GROUP___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ACTIVITY_GROUP___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ACTIVITY_GROUP___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTIVITY_GROUP___SEPARATOR :
+ return separator();
+ case UMLPackage.ACTIVITY_GROUP___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ACTIVITY_GROUP___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.ACTIVITY_GROUP___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateNodesAndEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_GROUP___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
+ return validateNotContained((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSubgroups() {
+ return false;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY_GROUP__OWNED_COMMENT,
+ UMLPackage.ACTIVITY_GROUP__NAME_EXPRESSION,
+ UMLPackage.ACTIVITY_GROUP__SUBGROUP};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements() || isSetSubgroups();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup basicGetSuperGroup() {
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getSuperGroup() {
+ ActivityGroup superGroup = basicGetSuperGroup();
+ return superGroup != null && superGroup.eIsProxy()
+ ? (ActivityGroup) eResolveProxy((InternalEObject) superGroup)
+ : superGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSuperGroup() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ Activity inActivity = basicGetInActivity();
+ if (inActivity != null) {
+ return inActivity;
+ }
+ if (isSetSuperGroup()) {
+ return basicGetSuperGroup();
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY)
+ || isSetSuperGroup();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetContainedNodes() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetContainedEdges() {
+ return false;
+ }
+
+} //ActivityGroupImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityImpl.java
new file mode 100644
index 00000000..20c0f90b
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityImpl.java
@@ -0,0 +1,2153 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.Variable;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.ActivityOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Activity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityImpl#getOwnedGroups <em>Owned Group</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityImpl#getEdges <em>Edge</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityImpl#getNodes <em>Node</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityImpl#getVariables <em>Variable</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityImpl#getGroups <em>Group</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityImpl#getOwnedNodes <em>Owned Node</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityImpl#isReadOnly <em>Is Read Only</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityImpl#isSingleExecution <em>Is Single Execution</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityImpl#getPartitions <em>Partition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityImpl#getStructuredNodes <em>Structured Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ActivityImpl
+ extends BehaviorImpl
+ implements Activity {
+
+ /**
+ * The default value of the '{@link #isReadOnly() <em>Is Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_READ_ONLY_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isSingleExecution() <em>Is Single Execution</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSingleExecution()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_SINGLE_EXECUTION_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActivityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ACTIVITY;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.ACTIVITY__GROUP) {
+ return createGroupsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.ACTIVITY__NODE) {
+ return createNodesList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE) {
+ return createStructuredNodesList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.ACTIVITY__PARTITION) {
+ return createPartitionsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.ACTIVITY__OWNED_GROUP) {
+ return createOwnedGroupsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.ACTIVITY__OWNED_NODE) {
+ return createOwnedNodesList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.ACTIVITY__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.ACTIVITY__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.ACTIVITY__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.ACTIVITY__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityGroup> getGroups() {
+ return (EList<ActivityGroup>) eDynamicGet(
+ UMLPackage.ACTIVITY__GROUP - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY__GROUP, true, true);
+ }
+
+ private EList<ActivityGroup> createGroupsList() {
+ return new SubsetSupersetEObjectResolvingEList<ActivityGroup>(
+ ActivityGroup.class, this, UMLPackage.ACTIVITY__GROUP, null,
+ GROUP_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityNode> getNodes() {
+ return (EList<ActivityNode>) eDynamicGet(
+ UMLPackage.ACTIVITY__NODE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY__NODE, true, true);
+ }
+
+ private EList<ActivityNode> createNodesList() {
+ return new SubsetSupersetEObjectResolvingEList<ActivityNode>(
+ ActivityNode.class, this, UMLPackage.ACTIVITY__NODE, null,
+ NODE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getNode(String name) {
+ return getNode(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public ActivityNode getNode(String name, boolean ignoreCase,
+ EClass eClass) {
+ nodeLoop : for (ActivityNode node : getNodes()) {
+ if (eClass != null && !eClass.isInstance(node))
+ continue nodeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(node.getName())
+ : name.equals(node.getName())))
+ continue nodeLoop;
+ return node;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isReadOnly() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.ACTIVITY__IS_READ_ONLY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY__IS_READ_ONLY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsReadOnly(boolean newIsReadOnly) {
+ eDynamicSet(UMLPackage.ACTIVITY__IS_READ_ONLY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY__IS_READ_ONLY, newIsReadOnly);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSingleExecution() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.ACTIVITY__IS_SINGLE_EXECUTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY__IS_SINGLE_EXECUTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsSingleExecution(boolean newIsSingleExecution) {
+ eDynamicSet(
+ UMLPackage.ACTIVITY__IS_SINGLE_EXECUTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY__IS_SINGLE_EXECUTION,
+ newIsSingleExecution);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<StructuredActivityNode> getStructuredNodes() {
+ return (EList<StructuredActivityNode>) eDynamicGet(
+ UMLPackage.ACTIVITY__STRUCTURED_NODE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE, true, true);
+ }
+
+ private EList<StructuredActivityNode> createStructuredNodesList() {
+ return new SubsetSupersetEObjectContainmentEList.Resolving<StructuredActivityNode>(
+ StructuredActivityNode.class, this,
+ UMLPackage.ACTIVITY__STRUCTURED_NODE, STRUCTURED_NODE_ESUPERSETS,
+ null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode createStructuredNode(String name,
+ EClass eClass) {
+ StructuredActivityNode newStructuredNode = (StructuredActivityNode) create(
+ eClass);
+ getStructuredNodes().add(newStructuredNode);
+ if (name != null)
+ newStructuredNode.setName(name);
+ return newStructuredNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode createStructuredNode(String name) {
+ return createStructuredNode(name,
+ UMLPackage.Literals.STRUCTURED_ACTIVITY_NODE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Variable> getVariables() {
+ return (EList<Variable>) eDynamicGet(
+ UMLPackage.ACTIVITY__VARIABLE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY__VARIABLE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variable createVariable(String name, Type type) {
+ Variable newVariable = (Variable) create(UMLPackage.Literals.VARIABLE);
+ getVariables().add(newVariable);
+ if (name != null)
+ newVariable.setName(name);
+ if (type != null)
+ newVariable.setType(type);
+ return newVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variable getVariable(String name, Type type) {
+ return getVariable(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variable getVariable(String name, Type type, boolean ignoreCase,
+ boolean createOnDemand) {
+ variableLoop : for (Variable variable : getVariables()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(variable.getName())
+ : name.equals(variable.getName())))
+ continue variableLoop;
+ if (type != null && !type.equals(variable.getType()))
+ continue variableLoop;
+ return variable;
+ }
+ return createOnDemand
+ ? createVariable(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityEdge> getEdges() {
+ return (EList<ActivityEdge>) eDynamicGet(
+ UMLPackage.ACTIVITY__EDGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY__EDGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge createEdge(String name, EClass eClass) {
+ ActivityEdge newEdge = (ActivityEdge) create(eClass);
+ getEdges().add(newEdge);
+ if (name != null)
+ newEdge.setName(name);
+ return newEdge;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getEdge(String name) {
+ return getEdge(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getEdge(String name, boolean ignoreCase, EClass eClass,
+ boolean createOnDemand) {
+ edgeLoop : for (ActivityEdge edge : getEdges()) {
+ if (eClass != null && !eClass.isInstance(edge))
+ continue edgeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(edge.getName())
+ : name.equals(edge.getName())))
+ continue edgeLoop;
+ return edge;
+ }
+ return createOnDemand && eClass != null
+ ? createEdge(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityPartition> getPartitions() {
+ return (EList<ActivityPartition>) eDynamicGet(
+ UMLPackage.ACTIVITY__PARTITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY__PARTITION, true, true);
+ }
+
+ private EList<ActivityPartition> createPartitionsList() {
+ return new SubsetSupersetEObjectResolvingEList<ActivityPartition>(
+ ActivityPartition.class, this, UMLPackage.ACTIVITY__PARTITION,
+ PARTITION_ESUPERSETS, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.ACTIVITY__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.ACTIVITY__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - UMLPackage.ACTIVITY__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.ACTIVITY__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__INTERFACE_REALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInterfaceRealizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNED_OPERATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedOperations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__SPECIFICATION :
+ BehavioralFeature specification = basicGetSpecification();
+ if (specification != null)
+ msgs = ((InternalEObject) specification).eInverseRemove(
+ this, UMLPackage.BEHAVIORAL_FEATURE__METHOD,
+ BehavioralFeature.class, msgs);
+ return basicSetSpecification((BehavioralFeature) otherEnd,
+ msgs);
+ case UMLPackage.ACTIVITY__EDGE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEdges())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__VARIABLE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getVariables())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ACTIVITY__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.ACTIVITY__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.ACTIVITY__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.ACTIVITY__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACTIVITY__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNED_CONNECTOR :
+ return ((InternalEList<?>) getOwnedConnectors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__INTERFACE_REALIZATION :
+ return ((InternalEList<?>) getInterfaceRealizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNED_BEHAVIOR :
+ return ((InternalEList<?>) getOwnedBehaviors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__NESTED_CLASSIFIER :
+ return ((InternalEList<?>) getNestedClassifiers())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNED_RECEPTION :
+ return ((InternalEList<?>) getOwnedReceptions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__SPECIFICATION :
+ return basicSetSpecification(null, msgs);
+ case UMLPackage.ACTIVITY__OWNED_PARAMETER :
+ return ((InternalEList<?>) getOwnedParameters())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNED_PARAMETER_SET :
+ return ((InternalEList<?>) getOwnedParameterSets())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__OWNED_GROUP :
+ return ((InternalEList<?>) getOwnedGroups())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__EDGE :
+ return ((InternalEList<?>) getEdges()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACTIVITY__VARIABLE :
+ return ((InternalEList<?>) getVariables()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACTIVITY__OWNED_NODE :
+ return ((InternalEList<?>) getOwnedNodes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY__STRUCTURED_NODE :
+ return ((InternalEList<?>) getStructuredNodes())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ACTIVITY__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ACTIVITY__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ACTIVITY__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ACTIVITY__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ACTIVITY__NAME :
+ return getName();
+ case UMLPackage.ACTIVITY__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ACTIVITY__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ACTIVITY__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTIVITY__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ACTIVITY__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.ACTIVITY__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.ACTIVITY__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.ACTIVITY__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.ACTIVITY__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.ACTIVITY__MEMBER :
+ return getMembers();
+ case UMLPackage.ACTIVITY__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ACTIVITY__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ACTIVITY__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ACTIVITY__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.ACTIVITY__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.ACTIVITY__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.ACTIVITY__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.ACTIVITY__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.ACTIVITY__FEATURE :
+ return getFeatures();
+ case UMLPackage.ACTIVITY__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.ACTIVITY__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.ACTIVITY__GENERAL :
+ return getGenerals();
+ case UMLPackage.ACTIVITY__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.ACTIVITY__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.ACTIVITY__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.ACTIVITY__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.ACTIVITY__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.ACTIVITY__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.ACTIVITY__USE_CASE :
+ return getUseCases();
+ case UMLPackage.ACTIVITY__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.ACTIVITY__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.ACTIVITY__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.ACTIVITY__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.ACTIVITY__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.ACTIVITY__PART :
+ return getParts();
+ case UMLPackage.ACTIVITY__ROLE :
+ return getRoles();
+ case UMLPackage.ACTIVITY__OWNED_PORT :
+ return getOwnedPorts();
+ case UMLPackage.ACTIVITY__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.ACTIVITY__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.ACTIVITY__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ case UMLPackage.ACTIVITY__OWNED_OPERATION :
+ return getOwnedOperations();
+ case UMLPackage.ACTIVITY__EXTENSION :
+ return getExtensions();
+ case UMLPackage.ACTIVITY__IS_ACTIVE :
+ return isActive();
+ case UMLPackage.ACTIVITY__NESTED_CLASSIFIER :
+ return getNestedClassifiers();
+ case UMLPackage.ACTIVITY__OWNED_RECEPTION :
+ return getOwnedReceptions();
+ case UMLPackage.ACTIVITY__SUPER_CLASS :
+ return getSuperClasses();
+ case UMLPackage.ACTIVITY__SPECIFICATION :
+ if (resolve)
+ return getSpecification();
+ return basicGetSpecification();
+ case UMLPackage.ACTIVITY__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.ACTIVITY__IS_REENTRANT :
+ return isReentrant();
+ case UMLPackage.ACTIVITY__OWNED_PARAMETER :
+ return getOwnedParameters();
+ case UMLPackage.ACTIVITY__OWNED_PARAMETER_SET :
+ return getOwnedParameterSets();
+ case UMLPackage.ACTIVITY__POSTCONDITION :
+ return getPostconditions();
+ case UMLPackage.ACTIVITY__PRECONDITION :
+ return getPreconditions();
+ case UMLPackage.ACTIVITY__REDEFINED_BEHAVIOR :
+ return getRedefinedBehaviors();
+ case UMLPackage.ACTIVITY__OWNED_GROUP :
+ return getOwnedGroups();
+ case UMLPackage.ACTIVITY__EDGE :
+ return getEdges();
+ case UMLPackage.ACTIVITY__NODE :
+ return getNodes();
+ case UMLPackage.ACTIVITY__VARIABLE :
+ return getVariables();
+ case UMLPackage.ACTIVITY__GROUP :
+ return getGroups();
+ case UMLPackage.ACTIVITY__OWNED_NODE :
+ return getOwnedNodes();
+ case UMLPackage.ACTIVITY__IS_READ_ONLY :
+ return isReadOnly();
+ case UMLPackage.ACTIVITY__IS_SINGLE_EXECUTION :
+ return isSingleExecution();
+ case UMLPackage.ACTIVITY__PARTITION :
+ return getPartitions();
+ case UMLPackage.ACTIVITY__STRUCTURED_NODE :
+ return getStructuredNodes();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ACTIVITY__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ACTIVITY__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ACTIVITY__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ACTIVITY__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.ACTIVITY__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.ACTIVITY__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.ACTIVITY__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.ACTIVITY__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.ACTIVITY__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__IS_ACTIVE :
+ setIsActive((Boolean) newValue);
+ return;
+ case UMLPackage.ACTIVITY__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ getNestedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ getOwnedReceptions()
+ .addAll((Collection<? extends Reception>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__SUPER_CLASS :
+ getSuperClasses().clear();
+ getSuperClasses().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Class>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__SPECIFICATION :
+ setSpecification((BehavioralFeature) newValue);
+ return;
+ case UMLPackage.ACTIVITY__IS_REENTRANT :
+ setIsReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ getOwnedParameters()
+ .addAll((Collection<? extends Parameter>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ getOwnedParameterSets()
+ .addAll((Collection<? extends ParameterSet>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__POSTCONDITION :
+ getPostconditions().clear();
+ getPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__PRECONDITION :
+ getPreconditions().clear();
+ getPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__REDEFINED_BEHAVIOR :
+ getRedefinedBehaviors().clear();
+ getRedefinedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_GROUP :
+ getOwnedGroups().clear();
+ getOwnedGroups()
+ .addAll((Collection<? extends ActivityGroup>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__EDGE :
+ getEdges().clear();
+ getEdges()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__NODE :
+ getNodes().clear();
+ getNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__VARIABLE :
+ getVariables().clear();
+ getVariables()
+ .addAll((Collection<? extends Variable>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__GROUP :
+ getGroups().clear();
+ getGroups()
+ .addAll((Collection<? extends ActivityGroup>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_NODE :
+ getOwnedNodes().clear();
+ getOwnedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__IS_READ_ONLY :
+ setIsReadOnly((Boolean) newValue);
+ return;
+ case UMLPackage.ACTIVITY__IS_SINGLE_EXECUTION :
+ setIsSingleExecution((Boolean) newValue);
+ return;
+ case UMLPackage.ACTIVITY__PARTITION :
+ getPartitions().clear();
+ getPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.ACTIVITY__STRUCTURED_NODE :
+ getStructuredNodes().clear();
+ getStructuredNodes().addAll(
+ (Collection<? extends StructuredActivityNode>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ACTIVITY__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ACTIVITY__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ACTIVITY__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ACTIVITY__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ACTIVITY__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.ACTIVITY__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.ACTIVITY__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.ACTIVITY__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ACTIVITY__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ACTIVITY__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ACTIVITY__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.ACTIVITY__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.ACTIVITY__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.ACTIVITY__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.ACTIVITY__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.ACTIVITY__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.ACTIVITY__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.ACTIVITY__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.ACTIVITY__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.ACTIVITY__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.ACTIVITY__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.ACTIVITY__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.ACTIVITY__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.ACTIVITY__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.ACTIVITY__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.ACTIVITY__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ case UMLPackage.ACTIVITY__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.ACTIVITY__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.ACTIVITY__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ case UMLPackage.ACTIVITY__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ case UMLPackage.ACTIVITY__IS_ACTIVE :
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ case UMLPackage.ACTIVITY__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ return;
+ case UMLPackage.ACTIVITY__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ return;
+ case UMLPackage.ACTIVITY__SUPER_CLASS :
+ getSuperClasses().clear();
+ return;
+ case UMLPackage.ACTIVITY__SPECIFICATION :
+ setSpecification((BehavioralFeature) null);
+ return;
+ case UMLPackage.ACTIVITY__IS_REENTRANT :
+ unsetIsReentrant();
+ return;
+ case UMLPackage.ACTIVITY__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ return;
+ case UMLPackage.ACTIVITY__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ return;
+ case UMLPackage.ACTIVITY__POSTCONDITION :
+ getPostconditions().clear();
+ return;
+ case UMLPackage.ACTIVITY__PRECONDITION :
+ getPreconditions().clear();
+ return;
+ case UMLPackage.ACTIVITY__REDEFINED_BEHAVIOR :
+ getRedefinedBehaviors().clear();
+ return;
+ case UMLPackage.ACTIVITY__OWNED_GROUP :
+ getOwnedGroups().clear();
+ return;
+ case UMLPackage.ACTIVITY__EDGE :
+ getEdges().clear();
+ return;
+ case UMLPackage.ACTIVITY__NODE :
+ getNodes().clear();
+ return;
+ case UMLPackage.ACTIVITY__VARIABLE :
+ getVariables().clear();
+ return;
+ case UMLPackage.ACTIVITY__GROUP :
+ getGroups().clear();
+ return;
+ case UMLPackage.ACTIVITY__OWNED_NODE :
+ getOwnedNodes().clear();
+ return;
+ case UMLPackage.ACTIVITY__IS_READ_ONLY :
+ setIsReadOnly(IS_READ_ONLY_EDEFAULT);
+ return;
+ case UMLPackage.ACTIVITY__IS_SINGLE_EXECUTION :
+ setIsSingleExecution(IS_SINGLE_EXECUTION_EDEFAULT);
+ return;
+ case UMLPackage.ACTIVITY__PARTITION :
+ getPartitions().clear();
+ return;
+ case UMLPackage.ACTIVITY__STRUCTURED_NODE :
+ getStructuredNodes().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ACTIVITY__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ACTIVITY__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ACTIVITY__OWNER :
+ return isSetOwner();
+ case UMLPackage.ACTIVITY__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ACTIVITY__NAME :
+ return isSetName();
+ case UMLPackage.ACTIVITY__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ACTIVITY__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ACTIVITY__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ACTIVITY__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ACTIVITY__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.ACTIVITY__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.ACTIVITY__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.ACTIVITY__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.ACTIVITY__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.ACTIVITY__MEMBER :
+ return isSetMembers();
+ case UMLPackage.ACTIVITY__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ACTIVITY__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ACTIVITY__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ACTIVITY__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.ACTIVITY__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.ACTIVITY__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.ACTIVITY__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.ACTIVITY__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.ACTIVITY__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.ACTIVITY__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.ACTIVITY__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.ACTIVITY__GENERAL :
+ return isSetGenerals();
+ case UMLPackage.ACTIVITY__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.ACTIVITY__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.ACTIVITY__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.ACTIVITY__IS_ABSTRACT :
+ return isSetIsAbstract();
+ case UMLPackage.ACTIVITY__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.ACTIVITY__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.ACTIVITY__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.ACTIVITY__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.ACTIVITY__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.ACTIVITY__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.ACTIVITY__OWNED_ATTRIBUTE :
+ return isSetOwnedAttributes();
+ case UMLPackage.ACTIVITY__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.ACTIVITY__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.ACTIVITY__ROLE :
+ return isSetRoles();
+ case UMLPackage.ACTIVITY__OWNED_PORT :
+ return !getOwnedPorts().isEmpty();
+ case UMLPackage.ACTIVITY__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.ACTIVITY__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.ACTIVITY__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ case UMLPackage.ACTIVITY__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ case UMLPackage.ACTIVITY__EXTENSION :
+ return !getExtensions().isEmpty();
+ case UMLPackage.ACTIVITY__IS_ACTIVE :
+ return isActive() != IS_ACTIVE_EDEFAULT;
+ case UMLPackage.ACTIVITY__NESTED_CLASSIFIER :
+ return !getNestedClassifiers().isEmpty();
+ case UMLPackage.ACTIVITY__OWNED_RECEPTION :
+ return !getOwnedReceptions().isEmpty();
+ case UMLPackage.ACTIVITY__SUPER_CLASS :
+ return isSetSuperClasses();
+ case UMLPackage.ACTIVITY__SPECIFICATION :
+ return basicGetSpecification() != null;
+ case UMLPackage.ACTIVITY__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.ACTIVITY__IS_REENTRANT :
+ return isSetIsReentrant();
+ case UMLPackage.ACTIVITY__OWNED_PARAMETER :
+ return !getOwnedParameters().isEmpty();
+ case UMLPackage.ACTIVITY__OWNED_PARAMETER_SET :
+ return !getOwnedParameterSets().isEmpty();
+ case UMLPackage.ACTIVITY__POSTCONDITION :
+ return !getPostconditions().isEmpty();
+ case UMLPackage.ACTIVITY__PRECONDITION :
+ return !getPreconditions().isEmpty();
+ case UMLPackage.ACTIVITY__REDEFINED_BEHAVIOR :
+ return !getRedefinedBehaviors().isEmpty();
+ case UMLPackage.ACTIVITY__OWNED_GROUP :
+ return !getOwnedGroups().isEmpty();
+ case UMLPackage.ACTIVITY__EDGE :
+ return !getEdges().isEmpty();
+ case UMLPackage.ACTIVITY__NODE :
+ return !getNodes().isEmpty();
+ case UMLPackage.ACTIVITY__VARIABLE :
+ return !getVariables().isEmpty();
+ case UMLPackage.ACTIVITY__GROUP :
+ return !getGroups().isEmpty();
+ case UMLPackage.ACTIVITY__OWNED_NODE :
+ return !getOwnedNodes().isEmpty();
+ case UMLPackage.ACTIVITY__IS_READ_ONLY :
+ return isReadOnly() != IS_READ_ONLY_EDEFAULT;
+ case UMLPackage.ACTIVITY__IS_SINGLE_EXECUTION :
+ return isSingleExecution() != IS_SINGLE_EXECUTION_EDEFAULT;
+ case UMLPackage.ACTIVITY__PARTITION :
+ return !getPartitions().isEmpty();
+ case UMLPackage.ACTIVITY__STRUCTURED_NODE :
+ return !getStructuredNodes().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ACTIVITY___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTIVITY___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTIVITY___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ACTIVITY___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ACTIVITY___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ACTIVITY___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ACTIVITY___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY___GET_MODEL :
+ return getModel();
+ case UMLPackage.ACTIVITY___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ACTIVITY___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ACTIVITY___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ACTIVITY___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ACTIVITY___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ACTIVITY___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ACTIVITY___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ACTIVITY___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ACTIVITY___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ACTIVITY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ACTIVITY___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ACTIVITY___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ACTIVITY___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ACTIVITY___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ACTIVITY___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ACTIVITY___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTIVITY___SEPARATOR :
+ return separator();
+ case UMLPackage.ACTIVITY___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ACTIVITY___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.ACTIVITY___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.ACTIVITY___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.ACTIVITY___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.ACTIVITY___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.ACTIVITY___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.ACTIVITY___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.ACTIVITY___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.ACTIVITY___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.ACTIVITY___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTIVITY___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTIVITY___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.ACTIVITY___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.ACTIVITY___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.ACTIVITY___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.ACTIVITY___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.ACTIVITY___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.ACTIVITY___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.ACTIVITY___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.ACTIVITY___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.ACTIVITY___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.ACTIVITY___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.ACTIVITY___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.ACTIVITY___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.ACTIVITY___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.ACTIVITY___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.ACTIVITY___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.ACTIVITY___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.ACTIVITY___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.ACTIVITY___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.ACTIVITY___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.ACTIVITY___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.ACTIVITY___PARENTS :
+ return parents();
+ case UMLPackage.ACTIVITY___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.ACTIVITY___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.ACTIVITY___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.ACTIVITY___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.ACTIVITY___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.ACTIVITY___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.ACTIVITY___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.ACTIVITY___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.ACTIVITY___GET_PARTS :
+ return getParts();
+ case UMLPackage.ACTIVITY___ALL_ROLES :
+ return allRoles();
+ case UMLPackage.ACTIVITY___GET_OWNED_PORTS :
+ return getOwnedPorts();
+ case UMLPackage.ACTIVITY___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.ACTIVITY___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ case UMLPackage.ACTIVITY___VALIDATE_PASSIVE_CLASS__DIAGNOSTICCHAIN_MAP :
+ return validatePassiveClass((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ case UMLPackage.ACTIVITY___IS_METACLASS :
+ return isMetaclass();
+ case UMLPackage.ACTIVITY___GET_EXTENSIONS :
+ return getExtensions();
+ case UMLPackage.ACTIVITY___GET_SUPER_CLASSES :
+ return getSuperClasses();
+ case UMLPackage.ACTIVITY___VALIDATE_MOST_ONE_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateMostOneBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___VALIDATE_PARAMETERS_MATCH__DIAGNOSTICCHAIN_MAP :
+ return validateParametersMatch(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateFeatureOfContextClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.ACTIVITY___BEHAVIORED_CLASSIFIER__ELEMENT :
+ return behavioredClassifier((Element) arguments.get(0));
+ case UMLPackage.ACTIVITY___INPUT_PARAMETERS :
+ return inputParameters();
+ case UMLPackage.ACTIVITY___OUTPUT_PARAMETERS :
+ return outputParameters();
+ case UMLPackage.ACTIVITY___VALIDATE_MAXIMUM_ONE_PARAMETER_NODE__DIAGNOSTICCHAIN_MAP :
+ return validateMaximumOneParameterNode(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY___VALIDATE_MAXIMUM_TWO_PARAMETER_NODES__DIAGNOSTICCHAIN_MAP :
+ return validateMaximumTwoParameterNodes(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements() || eIsSet(UMLPackage.ACTIVITY__EDGE)
+ || eIsSet(UMLPackage.ACTIVITY__NODE)
+ || eIsSet(UMLPackage.ACTIVITY__GROUP);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.ACTIVITY__VARIABLE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY__OWNED_COMMENT,
+ UMLPackage.ACTIVITY__NAME_EXPRESSION,
+ UMLPackage.ACTIVITY__ELEMENT_IMPORT,
+ UMLPackage.ACTIVITY__PACKAGE_IMPORT, UMLPackage.ACTIVITY__OWNED_MEMBER,
+ UMLPackage.ACTIVITY__TEMPLATE_BINDING,
+ UMLPackage.ACTIVITY__OWNED_TEMPLATE_SIGNATURE,
+ UMLPackage.ACTIVITY__COLLABORATION_USE,
+ UMLPackage.ACTIVITY__GENERALIZATION, UMLPackage.ACTIVITY__SUBSTITUTION,
+ UMLPackage.ACTIVITY__INTERFACE_REALIZATION, UMLPackage.ACTIVITY__EDGE,
+ UMLPackage.ACTIVITY__NODE, UMLPackage.ACTIVITY__GROUP};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY__OWNED_RULE, UMLPackage.ACTIVITY__OWNED_USE_CASE,
+ UMLPackage.ACTIVITY__OWNED_ATTRIBUTE,
+ UMLPackage.ACTIVITY__OWNED_CONNECTOR,
+ UMLPackage.ACTIVITY__OWNED_BEHAVIOR,
+ UMLPackage.ACTIVITY__OWNED_OPERATION,
+ UMLPackage.ACTIVITY__NESTED_CLASSIFIER,
+ UMLPackage.ACTIVITY__OWNED_RECEPTION,
+ UMLPackage.ACTIVITY__OWNED_PARAMETER,
+ UMLPackage.ACTIVITY__OWNED_PARAMETER_SET,
+ UMLPackage.ACTIVITY__VARIABLE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityGroup> getOwnedGroups() {
+ return (EList<ActivityGroup>) eDynamicGet(
+ UMLPackage.ACTIVITY__OWNED_GROUP - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY__OWNED_GROUP, true, true);
+ }
+
+ private EList<ActivityGroup> createOwnedGroupsList() {
+ return new SubsetSupersetEObjectContainmentEList.Resolving<ActivityGroup>(
+ ActivityGroup.class, this, UMLPackage.ACTIVITY__OWNED_GROUP,
+ OWNED_GROUP_ESUPERSETS, OWNED_GROUP_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedGroups() <em>Owned Group</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedGroups()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_GROUP_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY__PARTITION};
+
+ protected static final int[] OWNED_GROUP_ESUPERSETS = new int[]{
+ UMLPackage.ACTIVITY__GROUP};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup createOwnedGroup(String name, EClass eClass) {
+ ActivityGroup newOwnedGroup = (ActivityGroup) create(eClass);
+ getOwnedGroups().add(newOwnedGroup);
+ if (name != null)
+ newOwnedGroup.setName(name);
+ return newOwnedGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getOwnedGroup(String name) {
+ return getOwnedGroup(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getOwnedGroup(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ ownedGroupLoop : for (ActivityGroup ownedGroup : getOwnedGroups()) {
+ if (eClass != null && !eClass.isInstance(ownedGroup))
+ continue ownedGroupLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedGroup.getName())
+ : name.equals(ownedGroup.getName())))
+ continue ownedGroupLoop;
+ return ownedGroup;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedGroup(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getGroup(String name) {
+ return getGroup(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public ActivityGroup getGroup(String name, boolean ignoreCase,
+ EClass eClass) {
+ groupLoop : for (ActivityGroup group : getGroups()) {
+ if (eClass != null && !eClass.isInstance(group))
+ continue groupLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(group.getName())
+ : name.equals(group.getName())))
+ continue groupLoop;
+ return group;
+ }
+ return null;
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getStructuredNodes() <em>Structured Node</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStructuredNodes()
+ * @generated NOT
+ * @ordered
+ */
+ protected static final int[] STRUCTURED_NODE_ESUPERSETS = new int[]{
+ UMLPackage.ACTIVITY__GROUP, UMLPackage.ACTIVITY__NODE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityNode> getOwnedNodes() {
+ return (EList<ActivityNode>) eDynamicGet(
+ UMLPackage.ACTIVITY__OWNED_NODE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY__OWNED_NODE, true, true);
+ }
+
+ private EList<ActivityNode> createOwnedNodesList() {
+ return new SubsetSupersetEObjectContainmentEList.Resolving<ActivityNode>(
+ ActivityNode.class, this, UMLPackage.ACTIVITY__OWNED_NODE,
+ OWNED_NODE_ESUPERSETS, null);
+ }
+
+ protected static final int[] OWNED_NODE_ESUPERSETS = new int[]{
+ UMLPackage.ACTIVITY__NODE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode createOwnedNode(String name, EClass eClass) {
+ ActivityNode newOwnedNode = (ActivityNode) create(eClass);
+ getOwnedNodes().add(newOwnedNode);
+ if (name != null)
+ newOwnedNode.setName(name);
+ return newOwnedNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getOwnedNode(String name) {
+ return getOwnedNode(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getOwnedNode(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ ownedNodeLoop : for (ActivityNode ownedNode : getOwnedNodes()) {
+ if (eClass != null && !eClass.isInstance(ownedNode))
+ continue ownedNodeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedNode.getName())
+ : name.equals(ownedNode.getName())))
+ continue ownedNodeLoop;
+ return ownedNode;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedNode(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode getStructuredNode(String name) {
+ return getStructuredNode(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public StructuredActivityNode getStructuredNode(String name,
+ boolean ignoreCase, EClass eClass) {
+ return getStructuredNode(name, ignoreCase, eClass, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode getStructuredNode(String name,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ structuredNodeLoop : for (StructuredActivityNode structuredNode : getStructuredNodes()) {
+ if (eClass != null && !eClass.isInstance(structuredNode))
+ continue structuredNodeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(structuredNode.getName())
+ : name.equals(structuredNode.getName())))
+ continue structuredNodeLoop;
+ return structuredNode;
+ }
+ return createOnDemand && eClass != null
+ ? createStructuredNode(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMaximumOneParameterNode(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityOperations.validateMaximumOneParameterNode(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMaximumTwoParameterNodes(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityOperations.validateMaximumTwoParameterNodes(this,
+ diagnostics, context);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getNodes() <em>Node</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNodes()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] NODE_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY__OWNED_NODE, UMLPackage.ACTIVITY__STRUCTURED_NODE};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getGroups() <em>Group</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGroups()
+ * @generated NOT
+ * @ordered
+ */
+ protected static final int[] GROUP_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY__OWNED_GROUP, UMLPackage.ACTIVITY__STRUCTURED_NODE};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getPartitions() <em>Partition</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPartitions()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] PARTITION_ESUPERSETS = new int[]{
+ UMLPackage.ACTIVITY__OWNED_GROUP};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition createPartition(String name) {
+ ActivityPartition newPartition = (ActivityPartition) create(
+ UMLPackage.Literals.ACTIVITY_PARTITION);
+ getPartitions().add(newPartition);
+ if (name != null)
+ newPartition.setName(name);
+ return newPartition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition getPartition(String name) {
+ return getPartition(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition getPartition(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ partitionLoop : for (ActivityPartition partition : getPartitions()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(partition.getName())
+ : name.equals(partition.getName())))
+ continue partitionLoop;
+ return partition;
+ }
+ return createOnDemand
+ ? createPartition(name)
+ : null;
+ }
+
+} //ActivityImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityNodeImpl.java
new file mode 100644
index 00000000..62d3f1e8
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityNodeImpl.java
@@ -0,0 +1,1110 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 465214, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityContent;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ActivityNodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Activity Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityNodeImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityNodeImpl#getInGroups <em>In Group</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityNodeImpl#getRedefinedElements <em>Redefined Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityNodeImpl#getActivity <em>Activity</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityNodeImpl#getInInterruptibleRegions <em>In Interruptible Region</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityNodeImpl#getInStructuredNode <em>In Structured Node</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityNodeImpl#getIncomings <em>Incoming</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityNodeImpl#getOutgoings <em>Outgoing</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityNodeImpl#getRedefinedNodes <em>Redefined Node</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityNodeImpl#getInPartitions <em>In Partition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ActivityNodeImpl
+ extends RedefinableElementImpl
+ implements ActivityNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActivityNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ACTIVITY_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ActivityGroup> getInGroups() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ActivityGroup> inGroups = (EList<ActivityGroup>) cache.get(
+ eResource, this, UMLPackage.Literals.ACTIVITY_NODE__IN_GROUP);
+ if (inGroups == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ACTIVITY_NODE__IN_GROUP,
+ inGroups = new DerivedUnionEObjectEList<ActivityGroup>(
+ ActivityGroup.class, this,
+ UMLPackage.ACTIVITY_NODE__IN_GROUP, IN_GROUP_ESUBSETS));
+ }
+ return inGroups;
+ }
+ return new DerivedUnionEObjectEList<ActivityGroup>(ActivityGroup.class,
+ this, UMLPackage.ACTIVITY_NODE__IN_GROUP, IN_GROUP_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<RedefinableElement> getRedefinedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<RedefinableElement> redefinedElements = (EList<RedefinableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT);
+ if (redefinedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT,
+ redefinedElements = new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.ACTIVITY_NODE__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS));
+ }
+ return redefinedElements;
+ }
+ return new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.ACTIVITY_NODE__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityEdge> getOutgoings() {
+ return (EList<ActivityEdge>) eDynamicGet(
+ UMLPackage.ACTIVITY_NODE__OUTGOING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_NODE__OUTGOING, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getOutgoing(String name) {
+ return getOutgoing(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getOutgoing(String name, boolean ignoreCase,
+ EClass eClass) {
+ outgoingLoop : for (ActivityEdge outgoing : getOutgoings()) {
+ if (eClass != null && !eClass.isInstance(outgoing))
+ continue outgoingLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(outgoing.getName())
+ : name.equals(outgoing.getName())))
+ continue outgoingLoop;
+ return outgoing;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityPartition> getInPartitions() {
+ return (EList<ActivityPartition>) eDynamicGet(
+ UMLPackage.ACTIVITY_NODE__IN_PARTITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_NODE__IN_PARTITION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition getInPartition(String name) {
+ return getInPartition(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition getInPartition(String name, boolean ignoreCase) {
+ inPartitionLoop : for (ActivityPartition inPartition : getInPartitions()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(inPartition.getName())
+ : name.equals(inPartition.getName())))
+ continue inPartitionLoop;
+ return inPartition;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity containingActivity() {
+ return ActivityNodeOperations.containingActivity(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isConsistentWith(RedefinableElement redefiningElement) {
+ return ActivityNodeOperations.isConsistentWith(this, redefiningElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode getInStructuredNode() {
+ return (StructuredActivityNode) eDynamicGet(
+ UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_NODE__IN_STRUCTURED_NODE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode basicGetInStructuredNode() {
+ return (StructuredActivityNode) eDynamicGet(
+ UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_NODE__IN_STRUCTURED_NODE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInStructuredNode(
+ StructuredActivityNode newInStructuredNode,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newInStructuredNode,
+ UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInStructuredNode(
+ StructuredActivityNode newInStructuredNode) {
+ eDynamicSet(
+ UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_NODE__IN_STRUCTURED_NODE,
+ newInStructuredNode);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity getActivity() {
+ Activity activity = basicGetActivity();
+ return activity != null && activity.eIsProxy()
+ ? (Activity) eResolveProxy((InternalEObject) activity)
+ : activity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Activity basicGetActivity() {
+ InternalEObject eInternalContainer = eInternalContainer();
+ return eInternalContainer instanceof Activity
+ ? (Activity) eInternalContainer
+ : null;
+ }
+
+ @Override
+ public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
+ InternalEObject eInternalContainer = eInternalContainer();
+ if (eInternalContainer instanceof Activity) {
+ return ((InternalEList<ActivityNode>) ((Activity) eInternalContainer)
+ .getNodes()).basicRemove(this, msgs);
+ }
+ return super.eBasicRemoveFromContainer(msgs);
+ }
+
+ @Override
+ public NotificationChain eBasicSetContainer(InternalEObject newContainer,
+ int newContainerFeatureID, NotificationChain msgs) {
+ InternalEObject eInternalContainer = eInternalContainer();
+ if (eInternalContainer instanceof Activity) {
+ msgs = ((InternalEList<ActivityNode>) ((Activity) eInternalContainer)
+ .getNodes()).basicRemove(this, msgs);
+ }
+ return super.eBasicSetContainer(newContainer, newContainerFeatureID,
+ msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void setActivity(Activity newActivity) {
+ if (newActivity != eInternalContainer()) {
+ if (EcoreUtil.isAncestor(this, newActivity))
+ throw new IllegalArgumentException(
+ "Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newActivity != null)
+ msgs = ((InternalEList<ActivityNode>) newActivity
+ .getOwnedNodes()).basicAdd(this, msgs);
+ msgs = eBasicSetContainer((InternalEObject) newActivity,
+ InternalEObject.EOPPOSITE_FEATURE_BASE
+ - UMLPackage.ACTIVITY__OWNED_NODE,
+ msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ UMLPackage.ACTIVITY_NODE__ACTIVITY, newActivity, newActivity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityEdge> getIncomings() {
+ return (EList<ActivityEdge>) eDynamicGet(
+ UMLPackage.ACTIVITY_NODE__INCOMING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_NODE__INCOMING, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getIncoming(String name) {
+ return getIncoming(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getIncoming(String name, boolean ignoreCase,
+ EClass eClass) {
+ incomingLoop : for (ActivityEdge incoming : getIncomings()) {
+ if (eClass != null && !eClass.isInstance(incoming))
+ continue incomingLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(incoming.getName())
+ : name.equals(incoming.getName())))
+ continue incomingLoop;
+ return incoming;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InterruptibleActivityRegion> getInInterruptibleRegions() {
+ return (EList<InterruptibleActivityRegion>) eDynamicGet(
+ UMLPackage.ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterruptibleActivityRegion getInInterruptibleRegion(String name) {
+ return getInInterruptibleRegion(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterruptibleActivityRegion getInInterruptibleRegion(String name,
+ boolean ignoreCase) {
+ inInterruptibleRegionLoop : for (InterruptibleActivityRegion inInterruptibleRegion : getInInterruptibleRegions()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(inInterruptibleRegion.getName())
+ : name.equals(inInterruptibleRegion.getName())))
+ continue inInterruptibleRegionLoop;
+ return inInterruptibleRegion;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityNode> getRedefinedNodes() {
+ return (EList<ActivityNode>) eDynamicGet(
+ UMLPackage.ACTIVITY_NODE__REDEFINED_NODE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_NODE__REDEFINED_NODE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getRedefinedNode(String name) {
+ return getRedefinedNode(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getRedefinedNode(String name, boolean ignoreCase,
+ EClass eClass) {
+ redefinedNodeLoop : for (ActivityNode redefinedNode : getRedefinedNodes()) {
+ if (eClass != null && !eClass.isInstance(redefinedNode))
+ continue redefinedNodeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedNode.getName())
+ : name.equals(redefinedNode.getName())))
+ continue redefinedNodeLoop;
+ return redefinedNode;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_NODE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInInterruptibleRegions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetInStructuredNode(
+ (StructuredActivityNode) otherEnd, msgs);
+ case UMLPackage.ACTIVITY_NODE__INCOMING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getIncomings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_NODE__OUTGOING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOutgoings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_NODE__IN_PARTITION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInPartitions())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_NODE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_NODE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_NODE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.ACTIVITY_NODE__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACTIVITY_NODE__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACTIVITY_NODE__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE,
+ StructuredActivityNode.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_NODE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ACTIVITY_NODE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ACTIVITY_NODE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ACTIVITY_NODE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ACTIVITY_NODE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ACTIVITY_NODE__NAME :
+ return getName();
+ case UMLPackage.ACTIVITY_NODE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ACTIVITY_NODE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ACTIVITY_NODE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTIVITY_NODE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ACTIVITY_NODE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ACTIVITY_NODE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ACTIVITY_NODE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ACTIVITY_NODE__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.ACTIVITY_NODE__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.ACTIVITY_NODE__INCOMING :
+ return getIncomings();
+ case UMLPackage.ACTIVITY_NODE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.ACTIVITY_NODE__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.ACTIVITY_NODE__IN_PARTITION :
+ return getInPartitions();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_NODE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ACTIVITY_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ACTIVITY_NODE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ACTIVITY_NODE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ACTIVITY_NODE__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.ACTIVITY_NODE__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_NODE__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ACTIVITY_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ACTIVITY_NODE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ACTIVITY_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ACTIVITY_NODE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ACTIVITY_NODE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ACTIVITY_NODE__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.ACTIVITY_NODE__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.ACTIVITY_NODE__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.ACTIVITY_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.ACTIVITY_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_NODE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ACTIVITY_NODE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ACTIVITY_NODE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ACTIVITY_NODE__OWNER :
+ return isSetOwner();
+ case UMLPackage.ACTIVITY_NODE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ACTIVITY_NODE__NAME :
+ return isSetName();
+ case UMLPackage.ACTIVITY_NODE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ACTIVITY_NODE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ACTIVITY_NODE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ACTIVITY_NODE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ACTIVITY_NODE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ACTIVITY_NODE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ACTIVITY_NODE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ACTIVITY_NODE__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.ACTIVITY_NODE__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.ACTIVITY_NODE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.ACTIVITY_NODE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.ACTIVITY_NODE__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.ACTIVITY_NODE__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ActivityContent.class) {
+ switch (baseOperationID) {
+ case UMLPackage.ACTIVITY_CONTENT___CONTAINING_ACTIVITY :
+ return UMLPackage.ACTIVITY_NODE___CONTAINING_ACTIVITY;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ACTIVITY_NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ACTIVITY_NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ACTIVITY_NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ACTIVITY_NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ACTIVITY_NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.ACTIVITY_NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ACTIVITY_NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ACTIVITY_NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ACTIVITY_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ACTIVITY_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ACTIVITY_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ACTIVITY_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ACTIVITY_NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ACTIVITY_NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ACTIVITY_NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ACTIVITY_NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ACTIVITY_NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ACTIVITY_NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ACTIVITY_NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTIVITY_NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.ACTIVITY_NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ACTIVITY_NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_NODE___CONTAINING_ACTIVITY :
+ return containingActivity();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInGroups() <em>In Group</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInGroups()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] IN_GROUP_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION,
+ UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE,
+ UMLPackage.ACTIVITY_NODE__IN_PARTITION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getInGroup(String name) {
+ return getInGroup(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getInGroup(String name, boolean ignoreCase,
+ EClass eClass) {
+ inGroupLoop : for (ActivityGroup inGroup : getInGroups()) {
+ if (eClass != null && !eClass.isInstance(inGroup))
+ continue inGroupLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(inGroup.getName())
+ : name.equals(inGroup.getName())))
+ continue inGroupLoop;
+ return inGroup;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetInGroups() {
+ return eIsSet(UMLPackage.ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION)
+ || eIsSet(UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE)
+ || eIsSet(UMLPackage.ACTIVITY_NODE__IN_PARTITION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ Activity activity = basicGetActivity();
+ if (activity != null) {
+ return activity;
+ }
+ StructuredActivityNode inStructuredNode = basicGetInStructuredNode();
+ if (inStructuredNode != null) {
+ return inStructuredNode;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner() || eIsSet(UMLPackage.ACTIVITY_NODE__ACTIVITY)
+ || eIsSet(UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedElements() <em>Redefined Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY_NODE__REDEFINED_NODE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetRedefinedElements() {
+ return super.isSetRedefinedElements()
+ || eIsSet(UMLPackage.ACTIVITY_NODE__REDEFINED_NODE);
+ }
+
+} //ActivityNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityParameterNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityParameterNodeImpl.java
new file mode 100644
index 00000000..a2bf8469
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityParameterNodeImpl.java
@@ -0,0 +1,676 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ObjectNodeOrderingKind;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ActivityParameterNodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Activity Parameter Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityParameterNodeImpl#getParameter <em>Parameter</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ActivityParameterNodeImpl
+ extends ObjectNodeImpl
+ implements ActivityParameterNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActivityParameterNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ACTIVITY_PARAMETER_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter getParameter() {
+ return (Parameter) eDynamicGet(
+ UMLPackage.ACTIVITY_PARAMETER_NODE__PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARAMETER_NODE__PARAMETER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter basicGetParameter() {
+ return (Parameter) eDynamicGet(
+ UMLPackage.ACTIVITY_PARAMETER_NODE__PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARAMETER_NODE__PARAMETER, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParameter(Parameter newParameter) {
+ eDynamicSet(
+ UMLPackage.ACTIVITY_PARAMETER_NODE__PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARAMETER_NODE__PARAMETER,
+ newParameter);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateHasParameters(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityParameterNodeOperations.validateHasParameters(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSameType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityParameterNodeOperations.validateSameType(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityParameterNodeOperations.validateNoEdges(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoIncomingEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityParameterNodeOperations.validateNoIncomingEdges(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoOutgoingEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityParameterNodeOperations.validateNoOutgoingEdges(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__NAME :
+ return getName();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__INCOMING :
+ return getIncomings();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_STATE :
+ return getInStates();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IS_CONTROL_TYPE :
+ return isControlType();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__ORDERING :
+ return getOrdering();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__SELECTION :
+ if (resolve)
+ return getSelection();
+ return basicGetSelection();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__UPPER_BOUND :
+ if (resolve)
+ return getUpperBound();
+ return basicGetUpperBound();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__PARAMETER :
+ if (resolve)
+ return getParameter();
+ return basicGetParameter();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_STATE :
+ getInStates().clear();
+ getInStates().addAll((Collection<? extends State>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IS_CONTROL_TYPE :
+ setIsControlType((Boolean) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__ORDERING :
+ setOrdering((ObjectNodeOrderingKind) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__SELECTION :
+ setSelection((Behavior) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__UPPER_BOUND :
+ setUpperBound((ValueSpecification) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__PARAMETER :
+ setParameter((Parameter) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_STATE :
+ getInStates().clear();
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IS_CONTROL_TYPE :
+ setIsControlType(IS_CONTROL_TYPE_EDEFAULT);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__ORDERING :
+ setOrdering(ORDERING_EDEFAULT);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__SELECTION :
+ setSelection((Behavior) null);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__UPPER_BOUND :
+ setUpperBound((ValueSpecification) null);
+ return;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__PARAMETER :
+ setParameter((Parameter) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__OWNER :
+ return isSetOwner();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__NAME :
+ return isSetName();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_STATE :
+ return !getInStates().isEmpty();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__IS_CONTROL_TYPE :
+ return isControlType() != IS_CONTROL_TYPE_EDEFAULT;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__ORDERING :
+ return getOrdering() != ORDERING_EDEFAULT;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__SELECTION :
+ return basicGetSelection() != null;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__UPPER_BOUND :
+ return basicGetUpperBound() != null;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE__PARAMETER :
+ return basicGetParameter() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validateInputOutputParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateSelectionBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateObjectFlowEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_NO_OUTGOING_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateNoOutgoingEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_HAS_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+ return validateHasParameters((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSameType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_NO_INCOMING_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateNoIncomingEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_NO_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateNoEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ActivityParameterNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityPartitionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityPartitionImpl.java
new file mode 100644
index 00000000..6aac432f
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActivityPartitionImpl.java
@@ -0,0 +1,1095 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ActivityPartitionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Activity Partition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityPartitionImpl#getContainedNodes <em>Contained Node</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityPartitionImpl#getSubgroups <em>Subgroup</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityPartitionImpl#getSuperGroup <em>Super Group</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityPartitionImpl#getContainedEdges <em>Contained Edge</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityPartitionImpl#isDimension <em>Is Dimension</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityPartitionImpl#isExternal <em>Is External</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityPartitionImpl#getNodes <em>Node</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityPartitionImpl#getRepresents <em>Represents</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityPartitionImpl#getSubpartitions <em>Subpartition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityPartitionImpl#getSuperPartition <em>Super Partition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ActivityPartitionImpl#getEdges <em>Edge</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ActivityPartitionImpl
+ extends ActivityGroupImpl
+ implements ActivityPartition {
+
+ /**
+ * The default value of the '{@link #isDimension() <em>Is Dimension</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDimension()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DIMENSION_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isExternal() <em>Is External</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExternal()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_EXTERNAL_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActivityPartitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ACTIVITY_PARTITION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<ActivityGroup> getSubgroups() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ActivityGroup> subgroups = (EList<ActivityGroup>) cache.get(
+ eResource, this, UMLPackage.Literals.ACTIVITY_GROUP__SUBGROUP);
+ if (subgroups == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__SUBGROUP,
+ subgroups = new DerivedUnionEObjectEList<ActivityGroup>(
+ ActivityGroup.class, this,
+ UMLPackage.ACTIVITY_PARTITION__SUBGROUP,
+ SUBGROUP_ESUBSETS));
+ }
+ return subgroups;
+ }
+ return new DerivedUnionEObjectEList<ActivityGroup>(ActivityGroup.class,
+ this, UMLPackage.ACTIVITY_PARTITION__SUBGROUP, SUBGROUP_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<ActivityNode> getContainedNodes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ActivityNode> containedNodes = (EList<ActivityNode>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_NODE);
+ if (containedNodes == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_NODE,
+ containedNodes = new DerivedUnionEObjectEList<ActivityNode>(
+ ActivityNode.class, this,
+ UMLPackage.ACTIVITY_PARTITION__CONTAINED_NODE,
+ CONTAINED_NODE_ESUBSETS));
+ }
+ return containedNodes;
+ }
+ return new DerivedUnionEObjectEList<ActivityNode>(ActivityNode.class,
+ this, UMLPackage.ACTIVITY_PARTITION__CONTAINED_NODE,
+ CONTAINED_NODE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<ActivityEdge> getContainedEdges() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ActivityEdge> containedEdges = (EList<ActivityEdge>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_EDGE);
+ if (containedEdges == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_EDGE,
+ containedEdges = new DerivedUnionEObjectEList<ActivityEdge>(
+ ActivityEdge.class, this,
+ UMLPackage.ACTIVITY_PARTITION__CONTAINED_EDGE,
+ CONTAINED_EDGE_ESUBSETS));
+ }
+ return containedEdges;
+ }
+ return new DerivedUnionEObjectEList<ActivityEdge>(ActivityEdge.class,
+ this, UMLPackage.ACTIVITY_PARTITION__CONTAINED_EDGE,
+ CONTAINED_EDGE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDimension() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.ACTIVITY_PARTITION__IS_DIMENSION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARTITION__IS_DIMENSION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDimension(boolean newIsDimension) {
+ eDynamicSet(
+ UMLPackage.ACTIVITY_PARTITION__IS_DIMENSION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARTITION__IS_DIMENSION,
+ newIsDimension);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isExternal() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.ACTIVITY_PARTITION__IS_EXTERNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARTITION__IS_EXTERNAL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsExternal(boolean newIsExternal) {
+ eDynamicSet(
+ UMLPackage.ACTIVITY_PARTITION__IS_EXTERNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARTITION__IS_EXTERNAL, newIsExternal);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityEdge> getEdges() {
+ return (EList<ActivityEdge>) eDynamicGet(
+ UMLPackage.ACTIVITY_PARTITION__EDGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARTITION__EDGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getEdge(String name) {
+ return getEdge(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getEdge(String name, boolean ignoreCase,
+ EClass eClass) {
+ edgeLoop : for (ActivityEdge edge : getEdges()) {
+ if (eClass != null && !eClass.isInstance(edge))
+ continue edgeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(edge.getName())
+ : name.equals(edge.getName())))
+ continue edgeLoop;
+ return edge;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityNode> getNodes() {
+ return (EList<ActivityNode>) eDynamicGet(
+ UMLPackage.ACTIVITY_PARTITION__NODE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARTITION__NODE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getNode(String name) {
+ return getNode(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getNode(String name, boolean ignoreCase,
+ EClass eClass) {
+ nodeLoop : for (ActivityNode node : getNodes()) {
+ if (eClass != null && !eClass.isInstance(node))
+ continue nodeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(node.getName())
+ : name.equals(node.getName())))
+ continue nodeLoop;
+ return node;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityPartition> getSubpartitions() {
+ return (EList<ActivityPartition>) eDynamicGet(
+ UMLPackage.ACTIVITY_PARTITION__SUBPARTITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARTITION__SUBPARTITION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition createSubpartition(String name) {
+ ActivityPartition newSubpartition = (ActivityPartition) create(
+ UMLPackage.Literals.ACTIVITY_PARTITION);
+ getSubpartitions().add(newSubpartition);
+ if (name != null)
+ newSubpartition.setName(name);
+ return newSubpartition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition getSubpartition(String name) {
+ return getSubpartition(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition getSubpartition(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ subpartitionLoop : for (ActivityPartition subpartition : getSubpartitions()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(subpartition.getName())
+ : name.equals(subpartition.getName())))
+ continue subpartitionLoop;
+ return subpartition;
+ }
+ return createOnDemand
+ ? createSubpartition(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition getSuperPartition() {
+ return (ActivityPartition) eDynamicGet(
+ UMLPackage.ACTIVITY_PARTITION__SUPER_PARTITION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARTITION__SUPER_PARTITION, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition basicGetSuperPartition() {
+ return (ActivityPartition) eDynamicGet(
+ UMLPackage.ACTIVITY_PARTITION__SUPER_PARTITION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARTITION__SUPER_PARTITION, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSuperPartition(
+ ActivityPartition newSuperPartition, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newSuperPartition,
+ UMLPackage.ACTIVITY_PARTITION__SUPER_PARTITION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSuperPartition(ActivityPartition newSuperPartition) {
+ eDynamicSet(
+ UMLPackage.ACTIVITY_PARTITION__SUPER_PARTITION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARTITION__SUPER_PARTITION,
+ newSuperPartition);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element getRepresents() {
+ return (Element) eDynamicGet(
+ UMLPackage.ACTIVITY_PARTITION__REPRESENTS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARTITION__REPRESENTS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetRepresents() {
+ return (Element) eDynamicGet(
+ UMLPackage.ACTIVITY_PARTITION__REPRESENTS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARTITION__REPRESENTS, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRepresents(Element newRepresents) {
+ eDynamicSet(
+ UMLPackage.ACTIVITY_PARTITION__REPRESENTS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ACTIVITY_PARTITION__REPRESENTS, newRepresents);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDimensionNotContained(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityPartitionOperations.validateDimensionNotContained(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRepresentsClassifier(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityPartitionOperations.validateRepresentsClassifier(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRepresentsPropertyAndIsContained(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ActivityPartitionOperations
+ .validateRepresentsPropertyAndIsContained(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRepresentsProperty(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityPartitionOperations.validateRepresentsProperty(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_PARTITION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_PARTITION__NODE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getNodes())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_PARTITION__SUBPARTITION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubpartitions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_PARTITION__SUPER_PARTITION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetSuperPartition((ActivityPartition) otherEnd,
+ msgs);
+ case UMLPackage.ACTIVITY_PARTITION__EDGE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEdges())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_PARTITION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_PARTITION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_PARTITION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ACTIVITY_PARTITION__NODE :
+ return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ACTIVITY_PARTITION__SUBPARTITION :
+ return ((InternalEList<?>) getSubpartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ACTIVITY_PARTITION__SUPER_PARTITION :
+ return basicSetSuperPartition(null, msgs);
+ case UMLPackage.ACTIVITY_PARTITION__EDGE :
+ return ((InternalEList<?>) getEdges()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.ACTIVITY_PARTITION__SUPER_PARTITION :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.ACTIVITY_PARTITION__SUBPARTITION,
+ ActivityPartition.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_PARTITION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ACTIVITY_PARTITION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ACTIVITY_PARTITION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ACTIVITY_PARTITION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ACTIVITY_PARTITION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ACTIVITY_PARTITION__NAME :
+ return getName();
+ case UMLPackage.ACTIVITY_PARTITION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ACTIVITY_PARTITION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ACTIVITY_PARTITION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTIVITY_PARTITION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ACTIVITY_PARTITION__CONTAINED_EDGE :
+ return getContainedEdges();
+ case UMLPackage.ACTIVITY_PARTITION__CONTAINED_NODE :
+ return getContainedNodes();
+ case UMLPackage.ACTIVITY_PARTITION__IN_ACTIVITY :
+ if (resolve)
+ return getInActivity();
+ return basicGetInActivity();
+ case UMLPackage.ACTIVITY_PARTITION__SUBGROUP :
+ return getSubgroups();
+ case UMLPackage.ACTIVITY_PARTITION__SUPER_GROUP :
+ if (resolve)
+ return getSuperGroup();
+ return basicGetSuperGroup();
+ case UMLPackage.ACTIVITY_PARTITION__IS_DIMENSION :
+ return isDimension();
+ case UMLPackage.ACTIVITY_PARTITION__IS_EXTERNAL :
+ return isExternal();
+ case UMLPackage.ACTIVITY_PARTITION__NODE :
+ return getNodes();
+ case UMLPackage.ACTIVITY_PARTITION__REPRESENTS :
+ if (resolve)
+ return getRepresents();
+ return basicGetRepresents();
+ case UMLPackage.ACTIVITY_PARTITION__SUBPARTITION :
+ return getSubpartitions();
+ case UMLPackage.ACTIVITY_PARTITION__SUPER_PARTITION :
+ if (resolve)
+ return getSuperPartition();
+ return basicGetSuperPartition();
+ case UMLPackage.ACTIVITY_PARTITION__EDGE :
+ return getEdges();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_PARTITION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__IN_ACTIVITY :
+ setInActivity((Activity) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__IS_DIMENSION :
+ setIsDimension((Boolean) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__IS_EXTERNAL :
+ setIsExternal((Boolean) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__NODE :
+ getNodes().clear();
+ getNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__REPRESENTS :
+ setRepresents((Element) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__SUBPARTITION :
+ getSubpartitions().clear();
+ getSubpartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__SUPER_PARTITION :
+ setSuperPartition((ActivityPartition) newValue);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__EDGE :
+ getEdges().clear();
+ getEdges()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_PARTITION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__IN_ACTIVITY :
+ setInActivity((Activity) null);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__IS_DIMENSION :
+ setIsDimension(IS_DIMENSION_EDEFAULT);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__IS_EXTERNAL :
+ setIsExternal(IS_EXTERNAL_EDEFAULT);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__NODE :
+ getNodes().clear();
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__REPRESENTS :
+ setRepresents((Element) null);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__SUBPARTITION :
+ getSubpartitions().clear();
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__SUPER_PARTITION :
+ setSuperPartition((ActivityPartition) null);
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__EDGE :
+ getEdges().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ACTIVITY_PARTITION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ACTIVITY_PARTITION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ACTIVITY_PARTITION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ACTIVITY_PARTITION__OWNER :
+ return isSetOwner();
+ case UMLPackage.ACTIVITY_PARTITION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ACTIVITY_PARTITION__NAME :
+ return isSetName();
+ case UMLPackage.ACTIVITY_PARTITION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ACTIVITY_PARTITION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ACTIVITY_PARTITION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ACTIVITY_PARTITION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ACTIVITY_PARTITION__CONTAINED_EDGE :
+ return isSetContainedEdges();
+ case UMLPackage.ACTIVITY_PARTITION__CONTAINED_NODE :
+ return isSetContainedNodes();
+ case UMLPackage.ACTIVITY_PARTITION__IN_ACTIVITY :
+ return basicGetInActivity() != null;
+ case UMLPackage.ACTIVITY_PARTITION__SUBGROUP :
+ return isSetSubgroups();
+ case UMLPackage.ACTIVITY_PARTITION__SUPER_GROUP :
+ return isSetSuperGroup();
+ case UMLPackage.ACTIVITY_PARTITION__IS_DIMENSION :
+ return isDimension() != IS_DIMENSION_EDEFAULT;
+ case UMLPackage.ACTIVITY_PARTITION__IS_EXTERNAL :
+ return isExternal() != IS_EXTERNAL_EDEFAULT;
+ case UMLPackage.ACTIVITY_PARTITION__NODE :
+ return !getNodes().isEmpty();
+ case UMLPackage.ACTIVITY_PARTITION__REPRESENTS :
+ return basicGetRepresents() != null;
+ case UMLPackage.ACTIVITY_PARTITION__SUBPARTITION :
+ return !getSubpartitions().isEmpty();
+ case UMLPackage.ACTIVITY_PARTITION__SUPER_PARTITION :
+ return basicGetSuperPartition() != null;
+ case UMLPackage.ACTIVITY_PARTITION__EDGE :
+ return !getEdges().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ACTIVITY_PARTITION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ACTIVITY_PARTITION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ACTIVITY_PARTITION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ACTIVITY_PARTITION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ACTIVITY_PARTITION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___GET_MODEL :
+ return getModel();
+ case UMLPackage.ACTIVITY_PARTITION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ACTIVITY_PARTITION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ACTIVITY_PARTITION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ACTIVITY_PARTITION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ACTIVITY_PARTITION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ACTIVITY_PARTITION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ACTIVITY_PARTITION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ACTIVITY_PARTITION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ACTIVITY_PARTITION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ACTIVITY_PARTITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ACTIVITY_PARTITION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ACTIVITY_PARTITION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ACTIVITY_PARTITION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ACTIVITY_PARTITION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ACTIVITY_PARTITION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTIVITY_PARTITION___SEPARATOR :
+ return separator();
+ case UMLPackage.ACTIVITY_PARTITION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ACTIVITY_PARTITION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.ACTIVITY_PARTITION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateNodesAndEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
+ return validateNotContained((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___VALIDATE_REPRESENTS_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateRepresentsClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___VALIDATE_REPRESENTS_PROPERTY_AND_IS_CONTAINED__DIAGNOSTICCHAIN_MAP :
+ return validateRepresentsPropertyAndIsContained(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___VALIDATE_REPRESENTS_PROPERTY__DIAGNOSTICCHAIN_MAP :
+ return validateRepresentsProperty(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTIVITY_PARTITION___VALIDATE_DIMENSION_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
+ return validateDimensionNotContained(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetSubgroups() {
+ return super.isSetSubgroups()
+ || eIsSet(UMLPackage.ACTIVITY_PARTITION__SUBPARTITION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ActivityGroup basicGetSuperGroup() {
+ ActivityPartition superPartition = basicGetSuperPartition();
+ if (superPartition != null) {
+ return superPartition;
+ }
+ return super.basicGetSuperGroup();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ActivityGroup getSuperGroup() {
+ ActivityGroup superGroup = basicGetSuperGroup();
+ return superGroup != null && superGroup.eIsProxy()
+ ? (ActivityGroup) eResolveProxy((InternalEObject) superGroup)
+ : superGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetSuperGroup() {
+ return super.isSetSuperGroup()
+ || eIsSet(UMLPackage.ACTIVITY_PARTITION__SUPER_PARTITION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getContainedNodes() <em>Contained Node</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainedNodes()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] CONTAINED_NODE_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY_PARTITION__NODE};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSubgroups() <em>Subgroup</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubgroups()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SUBGROUP_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY_PARTITION__SUBPARTITION};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getContainedEdges() <em>Contained Edge</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainedEdges()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] CONTAINED_EDGE_ESUBSETS = new int[]{
+ UMLPackage.ACTIVITY_PARTITION__EDGE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetContainedNodes() {
+ return super.isSetContainedNodes()
+ || eIsSet(UMLPackage.ACTIVITY_PARTITION__NODE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetContainedEdges() {
+ return super.isSetContainedEdges()
+ || eIsSet(UMLPackage.ACTIVITY_PARTITION__EDGE);
+ }
+
+} //ActivityPartitionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActorImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActorImpl.java
new file mode 100644
index 00000000..71220fcc
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ActorImpl.java
@@ -0,0 +1,382 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.ActorOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Actor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ActorImpl
+ extends BehavioredClassifierImpl
+ implements Actor {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ACTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAssociations(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActorOperations.validateAssociations(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMustHaveName(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActorOperations.validateMustHaveName(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ACTOR___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTOR___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ACTOR___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTOR___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ACTOR___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ACTOR___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ACTOR___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ACTOR___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ACTOR___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ACTOR___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ACTOR___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTOR___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ACTOR___GET_MODEL :
+ return getModel();
+ case UMLPackage.ACTOR___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ACTOR___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ACTOR___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ACTOR___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ACTOR___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ACTOR___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ACTOR___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTOR___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ACTOR___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ACTOR___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ACTOR___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ACTOR___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTOR___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ACTOR___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ACTOR___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ACTOR___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ACTOR___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ACTOR___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ACTOR___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ACTOR___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ACTOR___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ACTOR___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ACTOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ACTOR___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ACTOR___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ACTOR___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ACTOR___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ACTOR___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ACTOR___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ACTOR___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ACTOR___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ACTOR___SEPARATOR :
+ return separator();
+ case UMLPackage.ACTOR___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ACTOR___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.ACTOR___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.ACTOR___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.ACTOR___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.ACTOR___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.ACTOR___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.ACTOR___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.ACTOR___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.ACTOR___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.ACTOR___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.ACTOR___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTOR___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ACTOR___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.ACTOR___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.ACTOR___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.ACTOR___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.ACTOR___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.ACTOR___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.ACTOR___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.ACTOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.ACTOR___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.ACTOR___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.ACTOR___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.ACTOR___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.ACTOR___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.ACTOR___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.ACTOR___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.ACTOR___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.ACTOR___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.ACTOR___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.ACTOR___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.ACTOR___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.ACTOR___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.ACTOR___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.ACTOR___PARENTS :
+ return parents();
+ case UMLPackage.ACTOR___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.ACTOR___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.ACTOR___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.ACTOR___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.ACTOR___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.ACTOR___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.ACTOR___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.ACTOR___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.ACTOR___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ case UMLPackage.ACTOR___VALIDATE_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
+ return validateAssociations((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ACTOR___VALIDATE_MUST_HAVE_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateMustHaveName((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ActorImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AddStructuralFeatureValueActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AddStructuralFeatureValueActionImpl.java
new file mode 100644
index 00000000..5449bcf4
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AddStructuralFeatureValueActionImpl.java
@@ -0,0 +1,899 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.AddStructuralFeatureValueActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Add Structural Feature Value Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AddStructuralFeatureValueActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AddStructuralFeatureValueActionImpl#getInsertAt <em>Insert At</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AddStructuralFeatureValueActionImpl#isReplaceAll <em>Is Replace All</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AddStructuralFeatureValueActionImpl
+ extends WriteStructuralFeatureActionImpl
+ implements AddStructuralFeatureValueAction {
+
+ /**
+ * The default value of the '{@link #isReplaceAll() <em>Is Replace All</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReplaceAll()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REPLACE_ALL_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AddStructuralFeatureValueActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ADD_STRUCTURAL_FEATURE_VALUE_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INPUT,
+ INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isReplaceAll() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REPLACE_ALL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REPLACE_ALL,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsReplaceAll(boolean newIsReplaceAll) {
+ eDynamicSet(
+ UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REPLACE_ALL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REPLACE_ALL,
+ newIsReplaceAll);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRequiredValue(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AddStructuralFeatureValueActionOperations
+ .validateRequiredValue(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInsertAtPin(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AddStructuralFeatureValueActionOperations
+ .validateInsertAtPin(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getInsertAt() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetInsertAt() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInsertAt(InputPin newInsertAt,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newInsertAt,
+ UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInsertAt(InputPin newInsertAt) {
+ eDynamicSet(
+ UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT,
+ newInsertAt);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createInsertAt(String name, Type type, EClass eClass) {
+ InputPin newInsertAt = (InputPin) create(eClass);
+ setInsertAt(newInsertAt);
+ if (name != null)
+ newInsertAt.setName(name);
+ if (type != null)
+ newInsertAt.setType(type);
+ return newInsertAt;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createInsertAt(String name, Type type) {
+ return createInsertAt(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__VALUE :
+ return basicSetValue(null, msgs);
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT :
+ return basicSetInsertAt(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__NAME :
+ return getName();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__STRUCTURAL_FEATURE :
+ if (resolve)
+ return getStructuralFeature();
+ return basicGetStructuralFeature();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__VALUE :
+ if (resolve)
+ return getValue();
+ return basicGetValue();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT :
+ if (resolve)
+ return getInsertAt();
+ return basicGetInsertAt();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REPLACE_ALL :
+ return isReplaceAll();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__STRUCTURAL_FEATURE :
+ setStructuralFeature((StructuralFeature) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__VALUE :
+ setValue((InputPin) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT :
+ setInsertAt((InputPin) newValue);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REPLACE_ALL :
+ setIsReplaceAll((Boolean) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__STRUCTURAL_FEATURE :
+ setStructuralFeature((StructuralFeature) null);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__VALUE :
+ setValue((InputPin) null);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT :
+ setInsertAt((InputPin) null);
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REPLACE_ALL :
+ setIsReplaceAll(IS_REPLACE_ALL_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OBJECT :
+ return basicGetObject() != null;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__STRUCTURAL_FEATURE :
+ return basicGetStructuralFeature() != null;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__RESULT :
+ return basicGetResult() != null;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__VALUE :
+ return basicGetValue() != null;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT :
+ return basicGetInsertAt() != null;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REPLACE_ALL :
+ return isReplaceAll() != IS_REPLACE_ALL_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_OBJECT_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateObjectType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateVisibility((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
+ return validateNotStatic((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateOneFeaturingClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfResult(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_TYPE_OF_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfValue((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY_OF_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfValue(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfResult((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_REQUIRED_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateRequiredValue((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_INSERT_AT_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateInsertAtPin((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__OBJECT,
+ UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__VALUE,
+ UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs() || eIsSet(
+ UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT);
+ }
+
+} //AddStructuralFeatureValueActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AddVariableValueActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AddVariableValueActionImpl.java
new file mode 100644
index 00000000..1dfeaf59
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AddVariableValueActionImpl.java
@@ -0,0 +1,848 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Variable;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.AddVariableValueActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Add Variable Value Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AddVariableValueActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AddVariableValueActionImpl#getInsertAt <em>Insert At</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AddVariableValueActionImpl#isReplaceAll <em>Is Replace All</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AddVariableValueActionImpl
+ extends WriteVariableActionImpl
+ implements AddVariableValueAction {
+
+ /**
+ * The default value of the '{@link #isReplaceAll() <em>Is Replace All</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReplaceAll()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REPLACE_ALL_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AddVariableValueActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ADD_VARIABLE_VALUE_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.ADD_VARIABLE_VALUE_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.ADD_VARIABLE_VALUE_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isReplaceAll() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_REPLACE_ALL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ADD_VARIABLE_VALUE_ACTION__IS_REPLACE_ALL, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsReplaceAll(boolean newIsReplaceAll) {
+ eDynamicSet(
+ UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_REPLACE_ALL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ADD_VARIABLE_VALUE_ACTION__IS_REPLACE_ALL,
+ newIsReplaceAll);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRequiredValue(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AddVariableValueActionOperations.validateRequiredValue(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInsertAtPin(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AddVariableValueActionOperations.validateInsertAtPin(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getInsertAt() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.ADD_VARIABLE_VALUE_ACTION__INSERT_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ADD_VARIABLE_VALUE_ACTION__INSERT_AT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetInsertAt() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.ADD_VARIABLE_VALUE_ACTION__INSERT_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ADD_VARIABLE_VALUE_ACTION__INSERT_AT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInsertAt(InputPin newInsertAt,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newInsertAt,
+ UMLPackage.ADD_VARIABLE_VALUE_ACTION__INSERT_AT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInsertAt(InputPin newInsertAt) {
+ eDynamicSet(
+ UMLPackage.ADD_VARIABLE_VALUE_ACTION__INSERT_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ADD_VARIABLE_VALUE_ACTION__INSERT_AT,
+ newInsertAt);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createInsertAt(String name, Type type, EClass eClass) {
+ InputPin newInsertAt = (InputPin) create(eClass);
+ setInsertAt(newInsertAt);
+ if (name != null)
+ newInsertAt.setName(name);
+ if (type != null)
+ newInsertAt.setType(type);
+ return newInsertAt;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createInsertAt(String name, Type type) {
+ return createInsertAt(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__VALUE :
+ return basicSetValue(null, msgs);
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INSERT_AT :
+ return basicSetInsertAt(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__NAME :
+ return getName();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__VARIABLE :
+ if (resolve)
+ return getVariable();
+ return basicGetVariable();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__VALUE :
+ if (resolve)
+ return getValue();
+ return basicGetValue();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INSERT_AT :
+ if (resolve)
+ return getInsertAt();
+ return basicGetInsertAt();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_REPLACE_ALL :
+ return isReplaceAll();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__VARIABLE :
+ setVariable((Variable) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__VALUE :
+ setValue((InputPin) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INSERT_AT :
+ setInsertAt((InputPin) newValue);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_REPLACE_ALL :
+ setIsReplaceAll((Boolean) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__VARIABLE :
+ setVariable((Variable) null);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__VALUE :
+ setValue((InputPin) null);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INSERT_AT :
+ setInsertAt((InputPin) null);
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_REPLACE_ALL :
+ setIsReplaceAll(IS_REPLACE_ALL_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__VARIABLE :
+ return basicGetVariable() != null;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__VALUE :
+ return basicGetValue() != null;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INSERT_AT :
+ return basicGetInsertAt() != null;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_REPLACE_ALL :
+ return isReplaceAll() != IS_REPLACE_ALL_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_SCOPE_OF_VARIABLE__DIAGNOSTICCHAIN_MAP :
+ return validateScopeOfVariable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_VALUE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateValueType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_REQUIRED_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateRequiredValue((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_INSERT_AT_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateInsertAtPin((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.ADD_VARIABLE_VALUE_ACTION__VALUE,
+ UMLPackage.ADD_VARIABLE_VALUE_ACTION__INSERT_AT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.ADD_VARIABLE_VALUE_ACTION__INSERT_AT);
+ }
+
+} //AddVariableValueActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AnyReceiveEventImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AnyReceiveEventImpl.java
new file mode 100644
index 00000000..430b9a64
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AnyReceiveEventImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Any Receive Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AnyReceiveEventImpl
+ extends MessageEventImpl
+ implements AnyReceiveEvent {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnyReceiveEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ANY_RECEIVE_EVENT;
+ }
+
+} //AnyReceiveEventImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ArtifactImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ArtifactImpl.java
new file mode 100644
index 00000000..3ee5f722
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ArtifactImpl.java
@@ -0,0 +1,1501 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ArtifactOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Artifact</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ArtifactImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ArtifactImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ArtifactImpl#getAttributes <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ArtifactImpl#getFeatures <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ArtifactImpl#getFileName <em>File Name</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ArtifactImpl#getManifestations <em>Manifestation</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ArtifactImpl#getNestedArtifacts <em>Nested Artifact</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ArtifactImpl#getOwnedAttributes <em>Owned Attribute</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ArtifactImpl#getOwnedOperations <em>Owned Operation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ArtifactImpl
+ extends ClassifierImpl
+ implements Artifact {
+
+ /**
+ * The default value of the '{@link #getFileName() <em>File Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFileName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FILE_NAME_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArtifactImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ARTIFACT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.ARTIFACT__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.ARTIFACT__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.ARTIFACT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.ARTIFACT__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Feature> getFeatures() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Feature> features = (EList<Feature>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__FEATURE);
+ if (features == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__FEATURE,
+ features = new DerivedUnionEObjectEList<Feature>(
+ Feature.class, this, UMLPackage.ARTIFACT__FEATURE,
+ FEATURE_ESUBSETS));
+ }
+ return features;
+ }
+ return new DerivedUnionEObjectEList<Feature>(Feature.class, this,
+ UMLPackage.ARTIFACT__FEATURE, FEATURE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Property> getAttributes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Property> attributes = (EList<Property>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__ATTRIBUTE);
+ if (attributes == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__ATTRIBUTE,
+ attributes = new DerivedUnionEObjectEList<Property>(
+ Property.class, this, UMLPackage.ARTIFACT__ATTRIBUTE,
+ ATTRIBUTE_ESUBSETS));
+ }
+ return attributes;
+ }
+ return new DerivedUnionEObjectEList<Property>(Property.class, this,
+ UMLPackage.ARTIFACT__ATTRIBUTE, ATTRIBUTE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFileName() {
+ return (String) eDynamicGet(
+ UMLPackage.ARTIFACT__FILE_NAME - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ARTIFACT__FILE_NAME, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFileName(String newFileName) {
+ eDynamicSet(UMLPackage.ARTIFACT__FILE_NAME - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ARTIFACT__FILE_NAME, newFileName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetFileName() {
+ eDynamicUnset(UMLPackage.ARTIFACT__FILE_NAME - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ARTIFACT__FILE_NAME);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetFileName() {
+ return eDynamicIsSet(
+ UMLPackage.ARTIFACT__FILE_NAME - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ARTIFACT__FILE_NAME);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Artifact> getNestedArtifacts() {
+ return (EList<Artifact>) eDynamicGet(
+ UMLPackage.ARTIFACT__NESTED_ARTIFACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ARTIFACT__NESTED_ARTIFACT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Artifact createNestedArtifact(String name, EClass eClass) {
+ Artifact newNestedArtifact = (Artifact) create(eClass);
+ getNestedArtifacts().add(newNestedArtifact);
+ if (name != null)
+ newNestedArtifact.setName(name);
+ return newNestedArtifact;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Artifact createNestedArtifact(String name) {
+ return createNestedArtifact(name, UMLPackage.Literals.ARTIFACT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Artifact getNestedArtifact(String name) {
+ return getNestedArtifact(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Artifact getNestedArtifact(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ nestedArtifactLoop : for (Artifact nestedArtifact : getNestedArtifacts()) {
+ if (eClass != null && !eClass.isInstance(nestedArtifact))
+ continue nestedArtifactLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(nestedArtifact.getName())
+ : name.equals(nestedArtifact.getName())))
+ continue nestedArtifactLoop;
+ return nestedArtifact;
+ }
+ return createOnDemand && eClass != null
+ ? createNestedArtifact(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Manifestation> getManifestations() {
+ return (EList<Manifestation>) eDynamicGet(
+ UMLPackage.ARTIFACT__MANIFESTATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ARTIFACT__MANIFESTATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Operation> getOwnedOperations() {
+ return (EList<Operation>) eDynamicGet(
+ UMLPackage.ARTIFACT__OWNED_OPERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ARTIFACT__OWNED_OPERATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation createOwnedOperation(String name,
+ EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ Operation newOwnedOperation = (Operation) create(
+ UMLPackage.Literals.OPERATION);
+ getOwnedOperations().add(newOwnedOperation);
+ if (name != null)
+ newOwnedOperation.setName(name);
+ int ownedParameterListSize = 0;
+ int ownedParameterNamesSize = ownedParameterNames == null
+ ? 0
+ : ownedParameterNames.size();
+ if (ownedParameterNamesSize > ownedParameterListSize)
+ ownedParameterListSize = ownedParameterNamesSize;
+ int ownedParameterTypesSize = ownedParameterTypes == null
+ ? 0
+ : ownedParameterTypes.size();
+ if (ownedParameterTypesSize > ownedParameterListSize)
+ ownedParameterListSize = ownedParameterTypesSize;
+ for (int i = 0; i < ownedParameterListSize; i++) {
+ newOwnedOperation.createOwnedParameter(i < ownedParameterNamesSize
+ ? (String) ownedParameterNames.get(i)
+ : null,
+ i < ownedParameterTypesSize
+ ? (Type) ownedParameterTypes.get(i)
+ : null);
+ }
+ return newOwnedOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOwnedOperation(String name,
+ EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ return getOwnedOperation(name, ownedParameterNames, ownedParameterTypes,
+ false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOwnedOperation(String name,
+ EList<String> ownedParameterNames, EList<Type> ownedParameterTypes,
+ boolean ignoreCase, boolean createOnDemand) {
+ ownedOperationLoop : for (Operation ownedOperation : getOwnedOperations()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedOperation.getName())
+ : name.equals(ownedOperation.getName())))
+ continue ownedOperationLoop;
+ EList<Parameter> ownedParameterList = ownedOperation
+ .getOwnedParameters();
+ int ownedParameterListSize = ownedParameterList.size();
+ if (ownedParameterNames != null
+ && ownedParameterNames.size() != ownedParameterListSize
+ || (ownedParameterTypes != null
+ && ownedParameterTypes.size() != ownedParameterListSize))
+ continue ownedOperationLoop;
+ for (int j = 0; j < ownedParameterListSize; j++) {
+ Parameter ownedParameter = ownedParameterList.get(j);
+ if (ownedParameterNames != null && !(ignoreCase
+ ? (ownedParameterNames.get(j))
+ .equalsIgnoreCase(ownedParameter.getName())
+ : ownedParameterNames.get(j)
+ .equals(ownedParameter.getName())))
+ continue ownedOperationLoop;
+ if (ownedParameterTypes != null && !ownedParameterTypes.get(j)
+ .equals(ownedParameter.getType()))
+ continue ownedOperationLoop;
+ }
+ return ownedOperation;
+ }
+ return createOnDemand
+ ? createOwnedOperation(name, ownedParameterNames,
+ ownedParameterTypes)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getOwnedAttributes() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.ARTIFACT__OWNED_ATTRIBUTE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ARTIFACT__OWNED_ATTRIBUTE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type,
+ EClass eClass) {
+ Property newOwnedAttribute = (Property) create(eClass);
+ getOwnedAttributes().add(newOwnedAttribute);
+ if (name != null)
+ newOwnedAttribute.setName(name);
+ if (type != null)
+ newOwnedAttribute.setType(type);
+ return newOwnedAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type) {
+ return createOwnedAttribute(name, type, UMLPackage.Literals.PROPERTY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedAttribute(String name, Type type) {
+ return getOwnedAttribute(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedAttribute(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ ownedAttributeLoop : for (Property ownedAttribute : getOwnedAttributes()) {
+ if (eClass != null && !eClass.isInstance(ownedAttribute))
+ continue ownedAttributeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedAttribute.getName())
+ : name.equals(ownedAttribute.getName())))
+ continue ownedAttributeLoop;
+ if (type != null && !type.equals(ownedAttribute.getType()))
+ continue ownedAttributeLoop;
+ return ownedAttribute;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedAttribute(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation createOwnedOperation(String name,
+ EList<String> parameterNames, EList<Type> parameterTypes,
+ Type returnType) {
+ return ArtifactOperations.createOwnedOperation(this, name,
+ parameterNames, parameterTypes, returnType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type, int lower,
+ int upper) {
+ return ArtifactOperations.createOwnedAttribute(this, name, type, lower,
+ upper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ARTIFACT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ARTIFACT__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.ARTIFACT__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.ARTIFACT__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.ARTIFACT__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ARTIFACT__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__MANIFESTATION :
+ return ((InternalEList<?>) getManifestations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__NESTED_ARTIFACT :
+ return ((InternalEList<?>) getNestedArtifacts())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ARTIFACT__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ARTIFACT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ARTIFACT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ARTIFACT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ARTIFACT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ARTIFACT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ARTIFACT__NAME :
+ return getName();
+ case UMLPackage.ARTIFACT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ARTIFACT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ARTIFACT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ARTIFACT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ARTIFACT__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.ARTIFACT__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.ARTIFACT__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.ARTIFACT__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.ARTIFACT__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.ARTIFACT__MEMBER :
+ return getMembers();
+ case UMLPackage.ARTIFACT__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ARTIFACT__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ARTIFACT__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ARTIFACT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.ARTIFACT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.ARTIFACT__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.ARTIFACT__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.ARTIFACT__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.ARTIFACT__FEATURE :
+ return getFeatures();
+ case UMLPackage.ARTIFACT__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.ARTIFACT__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.ARTIFACT__GENERAL :
+ return getGenerals();
+ case UMLPackage.ARTIFACT__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.ARTIFACT__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.ARTIFACT__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.ARTIFACT__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.ARTIFACT__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.ARTIFACT__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.ARTIFACT__USE_CASE :
+ return getUseCases();
+ case UMLPackage.ARTIFACT__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.ARTIFACT__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.ARTIFACT__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.ARTIFACT__FILE_NAME :
+ return getFileName();
+ case UMLPackage.ARTIFACT__MANIFESTATION :
+ return getManifestations();
+ case UMLPackage.ARTIFACT__NESTED_ARTIFACT :
+ return getNestedArtifacts();
+ case UMLPackage.ARTIFACT__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.ARTIFACT__OWNED_OPERATION :
+ return getOwnedOperations();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ARTIFACT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ARTIFACT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ARTIFACT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ARTIFACT__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ARTIFACT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ARTIFACT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ARTIFACT__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.ARTIFACT__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.ARTIFACT__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.ARTIFACT__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.ARTIFACT__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.ARTIFACT__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__FILE_NAME :
+ setFileName((String) newValue);
+ return;
+ case UMLPackage.ARTIFACT__MANIFESTATION :
+ getManifestations().clear();
+ getManifestations()
+ .addAll((Collection<? extends Manifestation>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__NESTED_ARTIFACT :
+ getNestedArtifacts().clear();
+ getNestedArtifacts()
+ .addAll((Collection<? extends Artifact>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.ARTIFACT__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ARTIFACT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ARTIFACT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ARTIFACT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ARTIFACT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ARTIFACT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ARTIFACT__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.ARTIFACT__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.ARTIFACT__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.ARTIFACT__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ARTIFACT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ARTIFACT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ARTIFACT__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.ARTIFACT__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.ARTIFACT__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.ARTIFACT__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.ARTIFACT__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.ARTIFACT__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.ARTIFACT__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.ARTIFACT__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.ARTIFACT__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.ARTIFACT__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.ARTIFACT__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.ARTIFACT__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.ARTIFACT__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.ARTIFACT__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.ARTIFACT__FILE_NAME :
+ unsetFileName();
+ return;
+ case UMLPackage.ARTIFACT__MANIFESTATION :
+ getManifestations().clear();
+ return;
+ case UMLPackage.ARTIFACT__NESTED_ARTIFACT :
+ getNestedArtifacts().clear();
+ return;
+ case UMLPackage.ARTIFACT__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.ARTIFACT__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ARTIFACT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ARTIFACT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ARTIFACT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ARTIFACT__OWNER :
+ return isSetOwner();
+ case UMLPackage.ARTIFACT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ARTIFACT__NAME :
+ return isSetName();
+ case UMLPackage.ARTIFACT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ARTIFACT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ARTIFACT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ARTIFACT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ARTIFACT__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.ARTIFACT__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.ARTIFACT__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.ARTIFACT__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.ARTIFACT__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.ARTIFACT__MEMBER :
+ return isSetMembers();
+ case UMLPackage.ARTIFACT__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ARTIFACT__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ARTIFACT__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ARTIFACT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.ARTIFACT__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.ARTIFACT__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.ARTIFACT__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.ARTIFACT__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.ARTIFACT__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.ARTIFACT__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.ARTIFACT__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.ARTIFACT__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.ARTIFACT__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.ARTIFACT__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.ARTIFACT__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.ARTIFACT__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.ARTIFACT__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.ARTIFACT__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.ARTIFACT__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.ARTIFACT__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.ARTIFACT__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.ARTIFACT__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.ARTIFACT__FILE_NAME :
+ return isSetFileName();
+ case UMLPackage.ARTIFACT__MANIFESTATION :
+ return !getManifestations().isEmpty();
+ case UMLPackage.ARTIFACT__NESTED_ARTIFACT :
+ return !getNestedArtifacts().isEmpty();
+ case UMLPackage.ARTIFACT__OWNED_ATTRIBUTE :
+ return !getOwnedAttributes().isEmpty();
+ case UMLPackage.ARTIFACT__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ARTIFACT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ARTIFACT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ARTIFACT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ARTIFACT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ARTIFACT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ARTIFACT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ARTIFACT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ARTIFACT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ARTIFACT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ARTIFACT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ARTIFACT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ARTIFACT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ARTIFACT___GET_MODEL :
+ return getModel();
+ case UMLPackage.ARTIFACT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ARTIFACT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ARTIFACT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ARTIFACT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ARTIFACT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ARTIFACT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ARTIFACT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ARTIFACT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ARTIFACT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ARTIFACT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ARTIFACT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ARTIFACT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ARTIFACT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ARTIFACT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ARTIFACT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ARTIFACT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ARTIFACT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ARTIFACT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ARTIFACT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ARTIFACT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ARTIFACT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ARTIFACT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ARTIFACT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ARTIFACT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ARTIFACT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ARTIFACT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ARTIFACT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ARTIFACT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ARTIFACT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ARTIFACT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ARTIFACT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ARTIFACT___SEPARATOR :
+ return separator();
+ case UMLPackage.ARTIFACT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ARTIFACT___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.ARTIFACT___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.ARTIFACT___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.ARTIFACT___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.ARTIFACT___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.ARTIFACT___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.ARTIFACT___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.ARTIFACT___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.ARTIFACT___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.ARTIFACT___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.ARTIFACT___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ARTIFACT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ARTIFACT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.ARTIFACT___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.ARTIFACT___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.ARTIFACT___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.ARTIFACT___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.ARTIFACT___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.ARTIFACT___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.ARTIFACT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ARTIFACT___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.ARTIFACT___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.ARTIFACT___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.ARTIFACT___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.ARTIFACT___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.ARTIFACT___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.ARTIFACT___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.ARTIFACT___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.ARTIFACT___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.ARTIFACT___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.ARTIFACT___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.ARTIFACT___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.ARTIFACT___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.ARTIFACT___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.ARTIFACT___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.ARTIFACT___PARENTS :
+ return parents();
+ case UMLPackage.ARTIFACT___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.ARTIFACT___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.ARTIFACT___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.ARTIFACT___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.ARTIFACT___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.ARTIFACT___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.ARTIFACT___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.ARTIFACT___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.ARTIFACT___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.ARTIFACT__NESTED_ARTIFACT)
+ || eIsSet(UMLPackage.ARTIFACT__OWNED_ATTRIBUTE)
+ || eIsSet(UMLPackage.ARTIFACT__OWNED_OPERATION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.ARTIFACT__OWNED_COMMENT,
+ UMLPackage.ARTIFACT__NAME_EXPRESSION,
+ UMLPackage.ARTIFACT__ELEMENT_IMPORT,
+ UMLPackage.ARTIFACT__PACKAGE_IMPORT, UMLPackage.ARTIFACT__OWNED_MEMBER,
+ UMLPackage.ARTIFACT__TEMPLATE_BINDING,
+ UMLPackage.ARTIFACT__OWNED_TEMPLATE_SIGNATURE,
+ UMLPackage.ARTIFACT__COLLABORATION_USE,
+ UMLPackage.ARTIFACT__GENERALIZATION, UMLPackage.ARTIFACT__SUBSTITUTION,
+ UMLPackage.ARTIFACT__MANIFESTATION};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.ARTIFACT__OWNED_RULE, UMLPackage.ARTIFACT__OWNED_USE_CASE,
+ UMLPackage.ARTIFACT__NESTED_ARTIFACT,
+ UMLPackage.ARTIFACT__OWNED_ATTRIBUTE,
+ UMLPackage.ARTIFACT__OWNED_OPERATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.ARTIFACT__MANIFESTATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetFeatures() {
+ return super.isSetFeatures()
+ || eIsSet(UMLPackage.ARTIFACT__OWNED_OPERATION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getAttributes() <em>Attribute</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributes()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] ATTRIBUTE_ESUBSETS = new int[]{
+ UMLPackage.ARTIFACT__OWNED_ATTRIBUTE};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getFeatures() <em>Feature</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeatures()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] FEATURE_ESUBSETS = new int[]{
+ UMLPackage.ARTIFACT__ATTRIBUTE, UMLPackage.ARTIFACT__OWNED_OPERATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Manifestation createManifestation(String name,
+ PackageableElement utilizedElement) {
+ Manifestation newManifestation = (Manifestation) create(
+ UMLPackage.Literals.MANIFESTATION);
+ getManifestations().add(newManifestation);
+ if (name != null)
+ newManifestation.setName(name);
+ if (utilizedElement != null)
+ newManifestation.setUtilizedElement(utilizedElement);
+ return newManifestation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Manifestation getManifestation(String name,
+ PackageableElement utilizedElement) {
+ return getManifestation(name, utilizedElement, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Manifestation getManifestation(String name,
+ PackageableElement utilizedElement, boolean ignoreCase,
+ boolean createOnDemand) {
+ manifestationLoop : for (Manifestation manifestation : getManifestations()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(manifestation.getName())
+ : name.equals(manifestation.getName())))
+ continue manifestationLoop;
+ if (utilizedElement != null
+ && !utilizedElement.equals(manifestation.getUtilizedElement()))
+ continue manifestationLoop;
+ return manifestation;
+ }
+ return createOnDemand
+ ? createManifestation(name, utilizedElement)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetAttributes() {
+ return super.isSetAttributes()
+ || eIsSet(UMLPackage.ARTIFACT__OWNED_ATTRIBUTE);
+ }
+
+} //ArtifactImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AssociationClassImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AssociationClassImpl.java
new file mode 100644
index 00000000..b02d97c3
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AssociationClassImpl.java
@@ -0,0 +1,1956 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentWithInverseEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectWithInverseResolvingEList;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.AssociationClassOperations;
+import org.eclipse.uml2.uml.internal.operations.AssociationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Association Class</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationClassImpl#getRelatedElements <em>Related Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationClassImpl#getMembers <em>Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationClassImpl#getFeatures <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationClassImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationClassImpl#getMemberEnds <em>Member End</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationClassImpl#getOwnedEnds <em>Owned End</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationClassImpl#getEndTypes <em>End Type</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationClassImpl#isDerived <em>Is Derived</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationClassImpl#getNavigableOwnedEnds <em>Navigable Owned End</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AssociationClassImpl
+ extends ClassImpl
+ implements AssociationClass {
+
+ /**
+ * The default value of the '{@link #isDerived() <em>Is Derived</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDerived()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DERIVED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AssociationClassImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ASSOCIATION_CLASS;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.ASSOCIATION__MEMBER_END) {
+ return createMemberEndsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.ASSOCIATION__NAVIGABLE_OWNED_END) {
+ return createNavigableOwnedEndsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.ASSOCIATION__OWNED_END) {
+ return createOwnedEndsList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getRelatedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> relatedElements = (EList<Element>) cache.get(
+ eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT);
+ if (relatedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT,
+ relatedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.ASSOCIATION_CLASS__RELATED_ELEMENT,
+ RELATED_ELEMENT_ESUBSETS));
+ }
+ return relatedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.ASSOCIATION_CLASS__RELATED_ELEMENT,
+ RELATED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> members = (EList<NamedElement>) cache
+ .get(eResource, this, UMLPackage.Literals.NAMESPACE__MEMBER);
+ if (members == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__MEMBER,
+ members = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.ASSOCIATION_CLASS__MEMBER, MEMBER_ESUBSETS));
+ }
+ return members;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.ASSOCIATION_CLASS__MEMBER, MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Feature> getFeatures() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Feature> features = (EList<Feature>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__FEATURE);
+ if (features == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__FEATURE,
+ features = new DerivedUnionEObjectEList<Feature>(
+ Feature.class, this,
+ UMLPackage.ASSOCIATION_CLASS__FEATURE,
+ FEATURE_ESUBSETS));
+ }
+ return features;
+ }
+ return new DerivedUnionEObjectEList<Feature>(Feature.class, this,
+ UMLPackage.ASSOCIATION_CLASS__FEATURE, FEATURE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.ASSOCIATION_CLASS__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.ASSOCIATION_CLASS__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getMemberEnds() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.ASSOCIATION_CLASS__MEMBER_END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ASSOCIATION__MEMBER_END, true, true);
+ }
+
+ private EList<Property> createMemberEndsList() {
+ return new SubsetSupersetEObjectWithInverseResolvingEList<Property>(
+ Property.class, this, UMLPackage.ASSOCIATION_CLASS__MEMBER_END,
+ null, MEMBER_END_ESUBSETS, UMLPackage.PROPERTY__ASSOCIATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getOwnedEnds() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.ASSOCIATION_CLASS__OWNED_END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ASSOCIATION__OWNED_END, true, true);
+ }
+
+ private EList<Property> createOwnedEndsList() {
+ return new SubsetSupersetEObjectContainmentWithInverseEList.Resolving<Property>(
+ Property.class, this, UMLPackage.ASSOCIATION_CLASS__OWNED_END,
+ OWNED_END_ESUPERSETS, OWNED_END_ESUBSETS,
+ UMLPackage.PROPERTY__OWNING_ASSOCIATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDerived() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.ASSOCIATION_CLASS__IS_DERIVED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ASSOCIATION__IS_DERIVED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDerived(boolean newIsDerived) {
+ eDynamicSet(
+ UMLPackage.ASSOCIATION_CLASS__IS_DERIVED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ASSOCIATION__IS_DERIVED, newIsDerived);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Type> getEndTypes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Type> result = (EList<Type>) cache.get(this,
+ UMLPackage.Literals.ASSOCIATION__END_TYPE);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.ASSOCIATION__END_TYPE,
+ result = AssociationOperations.getEndTypes(this));
+ }
+ return result;
+ }
+ return AssociationOperations.getEndTypes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getEndType(String name) {
+ return getEndType(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getEndType(String name, boolean ignoreCase, EClass eClass) {
+ endTypeLoop : for (Type endType : getEndTypes()) {
+ if (eClass != null && !eClass.isInstance(endType))
+ continue endTypeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(endType.getName())
+ : name.equals(endType.getName())))
+ continue endTypeLoop;
+ return endType;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getNavigableOwnedEnds() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.ASSOCIATION_CLASS__NAVIGABLE_OWNED_END
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ASSOCIATION__NAVIGABLE_OWNED_END, true, true);
+ }
+
+ private EList<Property> createNavigableOwnedEndsList() {
+ return new SubsetSupersetEObjectResolvingEList<Property>(Property.class,
+ this, UMLPackage.ASSOCIATION_CLASS__NAVIGABLE_OWNED_END,
+ NAVIGABLE_OWNED_END_ESUPERSETS, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSpecializedEndNumber(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AssociationOperations.validateSpecializedEndNumber(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSpecializedEndTypes(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AssociationOperations.validateSpecializedEndTypes(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBinaryAssociations(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AssociationOperations.validateBinaryAssociations(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAssociationEnds(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AssociationOperations.validateAssociationEnds(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEndsMustBeTyped(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AssociationOperations.validateEndsMustBeTyped(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isBinary() {
+ return AssociationOperations.isBinary(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCannotBeDefined(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AssociationClassOperations.validateCannotBeDefined(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDisjointAttributesEnds(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AssociationClassOperations.validateDisjointAttributesEnds(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ASSOCIATION_CLASS__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.ASSOCIATION_CLASS__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.ASSOCIATION_CLASS__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__INTERFACE_REALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInterfaceRealizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_OPERATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedOperations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__MEMBER_END :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getMemberEnds())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_END :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedEnds())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ASSOCIATION_CLASS__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ASSOCIATION_CLASS__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_CONNECTOR :
+ return ((InternalEList<?>) getOwnedConnectors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__INTERFACE_REALIZATION :
+ return ((InternalEList<?>) getInterfaceRealizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_BEHAVIOR :
+ return ((InternalEList<?>) getOwnedBehaviors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__NESTED_CLASSIFIER :
+ return ((InternalEList<?>) getNestedClassifiers())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_RECEPTION :
+ return ((InternalEList<?>) getOwnedReceptions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__MEMBER_END :
+ return ((InternalEList<?>) getMemberEnds())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_END :
+ return ((InternalEList<?>) getOwnedEnds()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ASSOCIATION_CLASS__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ASSOCIATION_CLASS__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ASSOCIATION_CLASS__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ASSOCIATION_CLASS__NAME :
+ return getName();
+ case UMLPackage.ASSOCIATION_CLASS__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ASSOCIATION_CLASS__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ASSOCIATION_CLASS__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ASSOCIATION_CLASS__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.ASSOCIATION_CLASS__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.ASSOCIATION_CLASS__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.ASSOCIATION_CLASS__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.ASSOCIATION_CLASS__MEMBER :
+ return getMembers();
+ case UMLPackage.ASSOCIATION_CLASS__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ASSOCIATION_CLASS__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ASSOCIATION_CLASS__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ASSOCIATION_CLASS__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.ASSOCIATION_CLASS__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.ASSOCIATION_CLASS__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.ASSOCIATION_CLASS__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.ASSOCIATION_CLASS__FEATURE :
+ return getFeatures();
+ case UMLPackage.ASSOCIATION_CLASS__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.ASSOCIATION_CLASS__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.ASSOCIATION_CLASS__GENERAL :
+ return getGenerals();
+ case UMLPackage.ASSOCIATION_CLASS__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.ASSOCIATION_CLASS__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.ASSOCIATION_CLASS__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.ASSOCIATION_CLASS__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.ASSOCIATION_CLASS__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.ASSOCIATION_CLASS__USE_CASE :
+ return getUseCases();
+ case UMLPackage.ASSOCIATION_CLASS__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.ASSOCIATION_CLASS__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.ASSOCIATION_CLASS__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.ASSOCIATION_CLASS__PART :
+ return getParts();
+ case UMLPackage.ASSOCIATION_CLASS__ROLE :
+ return getRoles();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_PORT :
+ return getOwnedPorts();
+ case UMLPackage.ASSOCIATION_CLASS__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.ASSOCIATION_CLASS__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_OPERATION :
+ return getOwnedOperations();
+ case UMLPackage.ASSOCIATION_CLASS__EXTENSION :
+ return getExtensions();
+ case UMLPackage.ASSOCIATION_CLASS__IS_ACTIVE :
+ return isActive();
+ case UMLPackage.ASSOCIATION_CLASS__NESTED_CLASSIFIER :
+ return getNestedClassifiers();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_RECEPTION :
+ return getOwnedReceptions();
+ case UMLPackage.ASSOCIATION_CLASS__SUPER_CLASS :
+ return getSuperClasses();
+ case UMLPackage.ASSOCIATION_CLASS__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.ASSOCIATION_CLASS__END_TYPE :
+ return getEndTypes();
+ case UMLPackage.ASSOCIATION_CLASS__IS_DERIVED :
+ return isDerived();
+ case UMLPackage.ASSOCIATION_CLASS__MEMBER_END :
+ return getMemberEnds();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_END :
+ return getOwnedEnds();
+ case UMLPackage.ASSOCIATION_CLASS__NAVIGABLE_OWNED_END :
+ return getNavigableOwnedEnds();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ASSOCIATION_CLASS__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__IS_ACTIVE :
+ setIsActive((Boolean) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ getNestedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ getOwnedReceptions()
+ .addAll((Collection<? extends Reception>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__SUPER_CLASS :
+ getSuperClasses().clear();
+ getSuperClasses().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Class>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__IS_DERIVED :
+ setIsDerived((Boolean) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__MEMBER_END :
+ getMemberEnds().clear();
+ getMemberEnds()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_END :
+ getOwnedEnds().clear();
+ getOwnedEnds()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__NAVIGABLE_OWNED_END :
+ getNavigableOwnedEnds().clear();
+ getNavigableOwnedEnds()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ASSOCIATION_CLASS__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__IS_ACTIVE :
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__SUPER_CLASS :
+ getSuperClasses().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__IS_DERIVED :
+ setIsDerived(IS_DERIVED_EDEFAULT);
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__MEMBER_END :
+ getMemberEnds().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_END :
+ getOwnedEnds().clear();
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__NAVIGABLE_OWNED_END :
+ getNavigableOwnedEnds().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ASSOCIATION_CLASS__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ASSOCIATION_CLASS__OWNER :
+ return isSetOwner();
+ case UMLPackage.ASSOCIATION_CLASS__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__NAME :
+ return isSetName();
+ case UMLPackage.ASSOCIATION_CLASS__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ASSOCIATION_CLASS__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ASSOCIATION_CLASS__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ASSOCIATION_CLASS__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.ASSOCIATION_CLASS__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__MEMBER :
+ return isSetMembers();
+ case UMLPackage.ASSOCIATION_CLASS__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ASSOCIATION_CLASS__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ASSOCIATION_CLASS__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ASSOCIATION_CLASS__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.ASSOCIATION_CLASS__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.ASSOCIATION_CLASS__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.ASSOCIATION_CLASS__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.ASSOCIATION_CLASS__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.ASSOCIATION_CLASS__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.ASSOCIATION_CLASS__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__GENERAL :
+ return isSetGenerals();
+ case UMLPackage.ASSOCIATION_CLASS__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__IS_ABSTRACT :
+ return isSetIsAbstract();
+ case UMLPackage.ASSOCIATION_CLASS__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.ASSOCIATION_CLASS__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_ATTRIBUTE :
+ return isSetOwnedAttributes();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__ROLE :
+ return isSetRoles();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_PORT :
+ return !getOwnedPorts().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.ASSOCIATION_CLASS__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__EXTENSION :
+ return !getExtensions().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__IS_ACTIVE :
+ return isActive() != IS_ACTIVE_EDEFAULT;
+ case UMLPackage.ASSOCIATION_CLASS__NESTED_CLASSIFIER :
+ return !getNestedClassifiers().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_RECEPTION :
+ return !getOwnedReceptions().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__SUPER_CLASS :
+ return isSetSuperClasses();
+ case UMLPackage.ASSOCIATION_CLASS__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.ASSOCIATION_CLASS__END_TYPE :
+ return !getEndTypes().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__IS_DERIVED :
+ return isDerived() != IS_DERIVED_EDEFAULT;
+ case UMLPackage.ASSOCIATION_CLASS__MEMBER_END :
+ return !getMemberEnds().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_END :
+ return !getOwnedEnds().isEmpty();
+ case UMLPackage.ASSOCIATION_CLASS__NAVIGABLE_OWNED_END :
+ return !getNavigableOwnedEnds().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Relationship.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.ASSOCIATION_CLASS__RELATED_ELEMENT :
+ return UMLPackage.RELATIONSHIP__RELATED_ELEMENT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == Association.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.ASSOCIATION_CLASS__END_TYPE :
+ return UMLPackage.ASSOCIATION__END_TYPE;
+ case UMLPackage.ASSOCIATION_CLASS__IS_DERIVED :
+ return UMLPackage.ASSOCIATION__IS_DERIVED;
+ case UMLPackage.ASSOCIATION_CLASS__MEMBER_END :
+ return UMLPackage.ASSOCIATION__MEMBER_END;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_END :
+ return UMLPackage.ASSOCIATION__OWNED_END;
+ case UMLPackage.ASSOCIATION_CLASS__NAVIGABLE_OWNED_END :
+ return UMLPackage.ASSOCIATION__NAVIGABLE_OWNED_END;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Relationship.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.RELATIONSHIP__RELATED_ELEMENT :
+ return UMLPackage.ASSOCIATION_CLASS__RELATED_ELEMENT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == Association.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.ASSOCIATION__END_TYPE :
+ return UMLPackage.ASSOCIATION_CLASS__END_TYPE;
+ case UMLPackage.ASSOCIATION__IS_DERIVED :
+ return UMLPackage.ASSOCIATION_CLASS__IS_DERIVED;
+ case UMLPackage.ASSOCIATION__MEMBER_END :
+ return UMLPackage.ASSOCIATION_CLASS__MEMBER_END;
+ case UMLPackage.ASSOCIATION__OWNED_END :
+ return UMLPackage.ASSOCIATION_CLASS__OWNED_END;
+ case UMLPackage.ASSOCIATION__NAVIGABLE_OWNED_END :
+ return UMLPackage.ASSOCIATION_CLASS__NAVIGABLE_OWNED_END;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Relationship.class) {
+ switch (baseOperationID) {
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == Association.class) {
+ switch (baseOperationID) {
+ case UMLPackage.ASSOCIATION___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.ASSOCIATION_CLASS___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.ASSOCIATION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.ASSOCIATION_CLASS___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.ASSOCIATION___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.ASSOCIATION_CLASS___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.ASSOCIATION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.ASSOCIATION_CLASS___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.ASSOCIATION___VALIDATE_ENDS_MUST_BE_TYPED__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.ASSOCIATION_CLASS___VALIDATE_ENDS_MUST_BE_TYPED__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.ASSOCIATION___IS_BINARY :
+ return UMLPackage.ASSOCIATION_CLASS___IS_BINARY;
+ case UMLPackage.ASSOCIATION___GET_END_TYPES :
+ return UMLPackage.ASSOCIATION_CLASS___GET_END_TYPES;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ASSOCIATION_CLASS___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ASSOCIATION_CLASS___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ASSOCIATION_CLASS___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ASSOCIATION_CLASS___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ASSOCIATION_CLASS___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___GET_MODEL :
+ return getModel();
+ case UMLPackage.ASSOCIATION_CLASS___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ASSOCIATION_CLASS___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ASSOCIATION_CLASS___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ASSOCIATION_CLASS___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ASSOCIATION_CLASS___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ASSOCIATION_CLASS___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ASSOCIATION_CLASS___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ASSOCIATION_CLASS___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ASSOCIATION_CLASS___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ASSOCIATION_CLASS___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ASSOCIATION_CLASS___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ASSOCIATION_CLASS___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ASSOCIATION_CLASS___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ASSOCIATION_CLASS___SEPARATOR :
+ return separator();
+ case UMLPackage.ASSOCIATION_CLASS___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.ASSOCIATION_CLASS___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.ASSOCIATION_CLASS___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.ASSOCIATION_CLASS___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.ASSOCIATION_CLASS___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.ASSOCIATION_CLASS___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.ASSOCIATION_CLASS___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.ASSOCIATION_CLASS___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.ASSOCIATION_CLASS___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.ASSOCIATION_CLASS___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.ASSOCIATION_CLASS___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.ASSOCIATION_CLASS___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.ASSOCIATION_CLASS___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.ASSOCIATION_CLASS___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.ASSOCIATION_CLASS___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.ASSOCIATION_CLASS___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.ASSOCIATION_CLASS___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.ASSOCIATION_CLASS___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.ASSOCIATION_CLASS___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___PARENTS :
+ return parents();
+ case UMLPackage.ASSOCIATION_CLASS___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.ASSOCIATION_CLASS___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.ASSOCIATION_CLASS___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.ASSOCIATION_CLASS___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.ASSOCIATION_CLASS___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.ASSOCIATION_CLASS___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.ASSOCIATION_CLASS___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.ASSOCIATION_CLASS___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.ASSOCIATION_CLASS___GET_PARTS :
+ return getParts();
+ case UMLPackage.ASSOCIATION_CLASS___ALL_ROLES :
+ return allRoles();
+ case UMLPackage.ASSOCIATION_CLASS___GET_OWNED_PORTS :
+ return getOwnedPorts();
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.ASSOCIATION_CLASS___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_PASSIVE_CLASS__DIAGNOSTICCHAIN_MAP :
+ return validatePassiveClass((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ case UMLPackage.ASSOCIATION_CLASS___IS_METACLASS :
+ return isMetaclass();
+ case UMLPackage.ASSOCIATION_CLASS___GET_EXTENSIONS :
+ return getExtensions();
+ case UMLPackage.ASSOCIATION_CLASS___GET_SUPER_CLASSES :
+ return getSuperClasses();
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializedEndNumber(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializedEndTypes(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
+ return validateBinaryAssociations(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
+ return validateAssociationEnds(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_ENDS_MUST_BE_TYPED__DIAGNOSTICCHAIN_MAP :
+ return validateEndsMustBeTyped(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___IS_BINARY :
+ return isBinary();
+ case UMLPackage.ASSOCIATION_CLASS___GET_END_TYPES :
+ return getEndTypes();
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_CANNOT_BE_DEFINED__DIAGNOSTICCHAIN_MAP :
+ return validateCannotBeDefined(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION_CLASS___VALIDATE_DISJOINT_ATTRIBUTES_ENDS__DIAGNOSTICCHAIN_MAP :
+ return validateDisjointAttributesEnds(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRelatedElements() <em>Related Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRelatedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] RELATED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.ASSOCIATION_CLASS__END_TYPE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRelatedElements() {
+ return eIsSet(UMLPackage.ASSOCIATION_CLASS__END_TYPE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetMembers() {
+ return super.isSetMembers()
+ || eIsSet(UMLPackage.ASSOCIATION_CLASS__MEMBER_END);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetFeatures() {
+ return super.isSetFeatures()
+ || eIsSet(UMLPackage.ASSOCIATION_CLASS__OWNED_END);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.ASSOCIATION_CLASS__OWNED_END);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getMembers() <em>Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] MEMBER_ESUBSETS = new int[]{
+ UMLPackage.ASSOCIATION_CLASS__OWNED_MEMBER,
+ UMLPackage.ASSOCIATION_CLASS__IMPORTED_MEMBER,
+ UMLPackage.ASSOCIATION_CLASS__FEATURE,
+ UMLPackage.ASSOCIATION_CLASS__INHERITED_MEMBER,
+ UMLPackage.ASSOCIATION_CLASS__ROLE,
+ UMLPackage.ASSOCIATION_CLASS__MEMBER_END};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getFeatures() <em>Feature</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeatures()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] FEATURE_ESUBSETS = new int[]{
+ UMLPackage.ASSOCIATION_CLASS__ATTRIBUTE,
+ UMLPackage.ASSOCIATION_CLASS__OWNED_CONNECTOR,
+ UMLPackage.ASSOCIATION_CLASS__OWNED_OPERATION,
+ UMLPackage.ASSOCIATION_CLASS__OWNED_RECEPTION,
+ UMLPackage.ASSOCIATION_CLASS__OWNED_END};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.ASSOCIATION_CLASS__OWNED_RULE,
+ UMLPackage.ASSOCIATION_CLASS__OWNED_USE_CASE,
+ UMLPackage.ASSOCIATION_CLASS__OWNED_ATTRIBUTE,
+ UMLPackage.ASSOCIATION_CLASS__OWNED_CONNECTOR,
+ UMLPackage.ASSOCIATION_CLASS__OWNED_BEHAVIOR,
+ UMLPackage.ASSOCIATION_CLASS__OWNED_OPERATION,
+ UMLPackage.ASSOCIATION_CLASS__NESTED_CLASSIFIER,
+ UMLPackage.ASSOCIATION_CLASS__OWNED_RECEPTION,
+ UMLPackage.ASSOCIATION_CLASS__OWNED_END};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getMemberEnds() <em>Member End</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemberEnds()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] MEMBER_END_ESUBSETS = new int[]{
+ UMLPackage.ASSOCIATION_CLASS__OWNED_END};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getMemberEnd(String name, Type type) {
+ return getMemberEnd(name, type, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getMemberEnd(String name, Type type, boolean ignoreCase,
+ EClass eClass) {
+ memberEndLoop : for (Property memberEnd : getMemberEnds()) {
+ if (eClass != null && !eClass.isInstance(memberEnd))
+ continue memberEndLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(memberEnd.getName())
+ : name.equals(memberEnd.getName())))
+ continue memberEndLoop;
+ if (type != null && !type.equals(memberEnd.getType()))
+ continue memberEndLoop;
+ return memberEnd;
+ }
+ return null;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedEnds() <em>Owned End</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedEnds()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_END_ESUBSETS = new int[]{
+ UMLPackage.ASSOCIATION_CLASS__NAVIGABLE_OWNED_END};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getOwnedEnds() <em>Owned End</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedEnds()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_END_ESUPERSETS = new int[]{
+ UMLPackage.ASSOCIATION_CLASS__MEMBER_END};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedEnd(String name, Type type, EClass eClass) {
+ Property newOwnedEnd = (Property) create(eClass);
+ getOwnedEnds().add(newOwnedEnd);
+ if (name != null)
+ newOwnedEnd.setName(name);
+ if (type != null)
+ newOwnedEnd.setType(type);
+ return newOwnedEnd;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedEnd(String name, Type type) {
+ return createOwnedEnd(name, type, UMLPackage.Literals.PROPERTY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedEnd(String name, Type type) {
+ return getOwnedEnd(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedEnd(String name, Type type, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ ownedEndLoop : for (Property ownedEnd : getOwnedEnds()) {
+ if (eClass != null && !eClass.isInstance(ownedEnd))
+ continue ownedEndLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedEnd.getName())
+ : name.equals(ownedEnd.getName())))
+ continue ownedEndLoop;
+ if (type != null && !type.equals(ownedEnd.getType()))
+ continue ownedEndLoop;
+ return ownedEnd;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedEnd(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getNavigableOwnedEnds() <em>Navigable Owned End</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNavigableOwnedEnds()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] NAVIGABLE_OWNED_END_ESUPERSETS = new int[]{
+ UMLPackage.ASSOCIATION_CLASS__OWNED_END};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createNavigableOwnedEnd(String name, Type type,
+ EClass eClass) {
+ Property newNavigableOwnedEnd = (Property) create(eClass);
+ getNavigableOwnedEnds().add(newNavigableOwnedEnd);
+ if (name != null)
+ newNavigableOwnedEnd.setName(name);
+ if (type != null)
+ newNavigableOwnedEnd.setType(type);
+ return newNavigableOwnedEnd;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createNavigableOwnedEnd(String name, Type type) {
+ return createNavigableOwnedEnd(name, type,
+ UMLPackage.Literals.PROPERTY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getNavigableOwnedEnd(String name, Type type) {
+ return getNavigableOwnedEnd(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getNavigableOwnedEnd(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ navigableOwnedEndLoop : for (Property navigableOwnedEnd : getNavigableOwnedEnds()) {
+ if (eClass != null && !eClass.isInstance(navigableOwnedEnd))
+ continue navigableOwnedEndLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(navigableOwnedEnd.getName())
+ : name.equals(navigableOwnedEnd.getName())))
+ continue navigableOwnedEndLoop;
+ if (type != null && !type.equals(navigableOwnedEnd.getType()))
+ continue navigableOwnedEndLoop;
+ return navigableOwnedEnd;
+ }
+ return createOnDemand && eClass != null
+ ? createNavigableOwnedEnd(name, type, eClass)
+ : null;
+ }
+
+} //AssociationClassImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AssociationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AssociationImpl.java
new file mode 100644
index 00000000..716147c3
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/AssociationImpl.java
@@ -0,0 +1,1644 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentWithInverseEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectWithInverseResolvingEList;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.AssociationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Association</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationImpl#getRelatedElements <em>Related Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationImpl#getMembers <em>Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationImpl#getFeatures <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationImpl#getMemberEnds <em>Member End</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationImpl#getOwnedEnds <em>Owned End</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationImpl#getEndTypes <em>End Type</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationImpl#isDerived <em>Is Derived</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.AssociationImpl#getNavigableOwnedEnds <em>Navigable Owned End</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AssociationImpl
+ extends ClassifierImpl
+ implements Association {
+
+ /**
+ * The default value of the '{@link #isDerived() <em>Is Derived</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDerived()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DERIVED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AssociationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ASSOCIATION;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.ASSOCIATION__MEMBER_END) {
+ return createMemberEndsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.ASSOCIATION__OWNED_END) {
+ return createOwnedEndsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.ASSOCIATION__NAVIGABLE_OWNED_END) {
+ return createNavigableOwnedEndsList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getRelatedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> relatedElements = (EList<Element>) cache.get(
+ eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT);
+ if (relatedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT,
+ relatedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.ASSOCIATION__RELATED_ELEMENT,
+ RELATED_ELEMENT_ESUBSETS));
+ }
+ return relatedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.ASSOCIATION__RELATED_ELEMENT, RELATED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> members = (EList<NamedElement>) cache
+ .get(eResource, this, UMLPackage.Literals.NAMESPACE__MEMBER);
+ if (members == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__MEMBER,
+ members = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.ASSOCIATION__MEMBER, MEMBER_ESUBSETS));
+ }
+ return members;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.ASSOCIATION__MEMBER, MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Feature> getFeatures() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Feature> features = (EList<Feature>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__FEATURE);
+ if (features == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__FEATURE,
+ features = new DerivedUnionEObjectEList<Feature>(
+ Feature.class, this, UMLPackage.ASSOCIATION__FEATURE,
+ FEATURE_ESUBSETS));
+ }
+ return features;
+ }
+ return new DerivedUnionEObjectEList<Feature>(Feature.class, this,
+ UMLPackage.ASSOCIATION__FEATURE, FEATURE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.ASSOCIATION__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.ASSOCIATION__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getMemberEnds() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.ASSOCIATION__MEMBER_END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ASSOCIATION__MEMBER_END, true, true);
+ }
+
+ private EList<Property> createMemberEndsList() {
+ return new SubsetSupersetEObjectWithInverseResolvingEList<Property>(
+ Property.class, this, UMLPackage.ASSOCIATION__MEMBER_END, null,
+ MEMBER_END_ESUBSETS, UMLPackage.PROPERTY__ASSOCIATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getOwnedEnds() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.ASSOCIATION__OWNED_END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ASSOCIATION__OWNED_END, true, true);
+ }
+
+ private EList<Property> createOwnedEndsList() {
+ return new SubsetSupersetEObjectContainmentWithInverseEList.Resolving<Property>(
+ Property.class, this, UMLPackage.ASSOCIATION__OWNED_END,
+ OWNED_END_ESUPERSETS, OWNED_END_ESUBSETS,
+ UMLPackage.PROPERTY__OWNING_ASSOCIATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDerived() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.ASSOCIATION__IS_DERIVED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ASSOCIATION__IS_DERIVED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDerived(boolean newIsDerived) {
+ eDynamicSet(UMLPackage.ASSOCIATION__IS_DERIVED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ASSOCIATION__IS_DERIVED, newIsDerived);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Type> getEndTypes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Type> result = (EList<Type>) cache.get(this,
+ UMLPackage.Literals.ASSOCIATION__END_TYPE);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.ASSOCIATION__END_TYPE,
+ result = AssociationOperations.getEndTypes(this));
+ }
+ return result;
+ }
+ return AssociationOperations.getEndTypes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getEndType(String name) {
+ return getEndType(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getEndType(String name, boolean ignoreCase, EClass eClass) {
+ endTypeLoop : for (Type endType : getEndTypes()) {
+ if (eClass != null && !eClass.isInstance(endType))
+ continue endTypeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(endType.getName())
+ : name.equals(endType.getName())))
+ continue endTypeLoop;
+ return endType;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getNavigableOwnedEnds() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.ASSOCIATION__NAVIGABLE_OWNED_END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ASSOCIATION__NAVIGABLE_OWNED_END, true, true);
+ }
+
+ private EList<Property> createNavigableOwnedEndsList() {
+ return new SubsetSupersetEObjectResolvingEList<Property>(Property.class,
+ this, UMLPackage.ASSOCIATION__NAVIGABLE_OWNED_END,
+ NAVIGABLE_OWNED_END_ESUPERSETS, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSpecializedEndNumber(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AssociationOperations.validateSpecializedEndNumber(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSpecializedEndTypes(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AssociationOperations.validateSpecializedEndTypes(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBinaryAssociations(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AssociationOperations.validateBinaryAssociations(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAssociationEnds(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AssociationOperations.validateAssociationEnds(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEndsMustBeTyped(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return AssociationOperations.validateEndsMustBeTyped(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isBinary() {
+ return AssociationOperations.isBinary(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ASSOCIATION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.ASSOCIATION__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.ASSOCIATION__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__MEMBER_END :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getMemberEnds())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__OWNED_END :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedEnds())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ASSOCIATION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ASSOCIATION__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.ASSOCIATION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.ASSOCIATION__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.ASSOCIATION__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ASSOCIATION__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__MEMBER_END :
+ return ((InternalEList<?>) getMemberEnds())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ASSOCIATION__OWNED_END :
+ return ((InternalEList<?>) getOwnedEnds()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ASSOCIATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ASSOCIATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ASSOCIATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ASSOCIATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ASSOCIATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ASSOCIATION__NAME :
+ return getName();
+ case UMLPackage.ASSOCIATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ASSOCIATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ASSOCIATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ASSOCIATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ASSOCIATION__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.ASSOCIATION__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.ASSOCIATION__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.ASSOCIATION__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.ASSOCIATION__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.ASSOCIATION__MEMBER :
+ return getMembers();
+ case UMLPackage.ASSOCIATION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ASSOCIATION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ASSOCIATION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ASSOCIATION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.ASSOCIATION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.ASSOCIATION__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.ASSOCIATION__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.ASSOCIATION__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.ASSOCIATION__FEATURE :
+ return getFeatures();
+ case UMLPackage.ASSOCIATION__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.ASSOCIATION__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.ASSOCIATION__GENERAL :
+ return getGenerals();
+ case UMLPackage.ASSOCIATION__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.ASSOCIATION__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.ASSOCIATION__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.ASSOCIATION__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.ASSOCIATION__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.ASSOCIATION__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.ASSOCIATION__USE_CASE :
+ return getUseCases();
+ case UMLPackage.ASSOCIATION__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.ASSOCIATION__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.ASSOCIATION__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.ASSOCIATION__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.ASSOCIATION__END_TYPE :
+ return getEndTypes();
+ case UMLPackage.ASSOCIATION__IS_DERIVED :
+ return isDerived();
+ case UMLPackage.ASSOCIATION__MEMBER_END :
+ return getMemberEnds();
+ case UMLPackage.ASSOCIATION__OWNED_END :
+ return getOwnedEnds();
+ case UMLPackage.ASSOCIATION__NAVIGABLE_OWNED_END :
+ return getNavigableOwnedEnds();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ASSOCIATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__IS_DERIVED :
+ setIsDerived((Boolean) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__MEMBER_END :
+ getMemberEnds().clear();
+ getMemberEnds()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__OWNED_END :
+ getOwnedEnds().clear();
+ getOwnedEnds()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.ASSOCIATION__NAVIGABLE_OWNED_END :
+ getNavigableOwnedEnds().clear();
+ getNavigableOwnedEnds()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ASSOCIATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ASSOCIATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ASSOCIATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ASSOCIATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ASSOCIATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ASSOCIATION__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.ASSOCIATION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.ASSOCIATION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.ASSOCIATION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ASSOCIATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ASSOCIATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ASSOCIATION__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.ASSOCIATION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.ASSOCIATION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.ASSOCIATION__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.ASSOCIATION__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.ASSOCIATION__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.ASSOCIATION__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.ASSOCIATION__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.ASSOCIATION__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.ASSOCIATION__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.ASSOCIATION__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.ASSOCIATION__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.ASSOCIATION__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.ASSOCIATION__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.ASSOCIATION__IS_DERIVED :
+ setIsDerived(IS_DERIVED_EDEFAULT);
+ return;
+ case UMLPackage.ASSOCIATION__MEMBER_END :
+ getMemberEnds().clear();
+ return;
+ case UMLPackage.ASSOCIATION__OWNED_END :
+ getOwnedEnds().clear();
+ return;
+ case UMLPackage.ASSOCIATION__NAVIGABLE_OWNED_END :
+ getNavigableOwnedEnds().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ASSOCIATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ASSOCIATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ASSOCIATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ASSOCIATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.ASSOCIATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ASSOCIATION__NAME :
+ return isSetName();
+ case UMLPackage.ASSOCIATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ASSOCIATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ASSOCIATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ASSOCIATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ASSOCIATION__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.ASSOCIATION__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.ASSOCIATION__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.ASSOCIATION__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.ASSOCIATION__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.ASSOCIATION__MEMBER :
+ return isSetMembers();
+ case UMLPackage.ASSOCIATION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ASSOCIATION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ASSOCIATION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ASSOCIATION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.ASSOCIATION__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.ASSOCIATION__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.ASSOCIATION__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.ASSOCIATION__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.ASSOCIATION__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.ASSOCIATION__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.ASSOCIATION__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.ASSOCIATION__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.ASSOCIATION__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.ASSOCIATION__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.ASSOCIATION__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.ASSOCIATION__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.ASSOCIATION__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.ASSOCIATION__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.ASSOCIATION__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.ASSOCIATION__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.ASSOCIATION__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.ASSOCIATION__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.ASSOCIATION__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.ASSOCIATION__END_TYPE :
+ return !getEndTypes().isEmpty();
+ case UMLPackage.ASSOCIATION__IS_DERIVED :
+ return isDerived() != IS_DERIVED_EDEFAULT;
+ case UMLPackage.ASSOCIATION__MEMBER_END :
+ return !getMemberEnds().isEmpty();
+ case UMLPackage.ASSOCIATION__OWNED_END :
+ return !getOwnedEnds().isEmpty();
+ case UMLPackage.ASSOCIATION__NAVIGABLE_OWNED_END :
+ return !getNavigableOwnedEnds().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Relationship.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.ASSOCIATION__RELATED_ELEMENT :
+ return UMLPackage.RELATIONSHIP__RELATED_ELEMENT;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Relationship.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.RELATIONSHIP__RELATED_ELEMENT :
+ return UMLPackage.ASSOCIATION__RELATED_ELEMENT;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ASSOCIATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ASSOCIATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ASSOCIATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ASSOCIATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ASSOCIATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ASSOCIATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.ASSOCIATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ASSOCIATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ASSOCIATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ASSOCIATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ASSOCIATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ASSOCIATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ASSOCIATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ASSOCIATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ASSOCIATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ASSOCIATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ASSOCIATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ASSOCIATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ASSOCIATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ASSOCIATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ASSOCIATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ASSOCIATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ASSOCIATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ASSOCIATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ASSOCIATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ASSOCIATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ASSOCIATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ASSOCIATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ASSOCIATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ASSOCIATION___SEPARATOR :
+ return separator();
+ case UMLPackage.ASSOCIATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ASSOCIATION___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.ASSOCIATION___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.ASSOCIATION___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.ASSOCIATION___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.ASSOCIATION___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.ASSOCIATION___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.ASSOCIATION___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.ASSOCIATION___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.ASSOCIATION___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.ASSOCIATION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.ASSOCIATION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.ASSOCIATION___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.ASSOCIATION___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.ASSOCIATION___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.ASSOCIATION___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.ASSOCIATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.ASSOCIATION___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.ASSOCIATION___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.ASSOCIATION___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.ASSOCIATION___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.ASSOCIATION___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.ASSOCIATION___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.ASSOCIATION___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.ASSOCIATION___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.ASSOCIATION___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.ASSOCIATION___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.ASSOCIATION___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.ASSOCIATION___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.ASSOCIATION___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.ASSOCIATION___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.ASSOCIATION___PARENTS :
+ return parents();
+ case UMLPackage.ASSOCIATION___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.ASSOCIATION___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.ASSOCIATION___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.ASSOCIATION___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.ASSOCIATION___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.ASSOCIATION___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.ASSOCIATION___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.ASSOCIATION___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializedEndNumber(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializedEndTypes(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
+ return validateBinaryAssociations(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
+ return validateAssociationEnds(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___VALIDATE_ENDS_MUST_BE_TYPED__DIAGNOSTICCHAIN_MAP :
+ return validateEndsMustBeTyped(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ASSOCIATION___IS_BINARY :
+ return isBinary();
+ case UMLPackage.ASSOCIATION___GET_END_TYPES :
+ return getEndTypes();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRelatedElements() <em>Related Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRelatedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] RELATED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.ASSOCIATION__END_TYPE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRelatedElements() {
+ return eIsSet(UMLPackage.ASSOCIATION__END_TYPE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetMembers() {
+ return super.isSetMembers()
+ || eIsSet(UMLPackage.ASSOCIATION__MEMBER_END);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetFeatures() {
+ return super.isSetFeatures()
+ || eIsSet(UMLPackage.ASSOCIATION__OWNED_END);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.ASSOCIATION__OWNED_END);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getMembers() <em>Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] MEMBER_ESUBSETS = new int[]{
+ UMLPackage.ASSOCIATION__OWNED_MEMBER,
+ UMLPackage.ASSOCIATION__IMPORTED_MEMBER,
+ UMLPackage.ASSOCIATION__FEATURE,
+ UMLPackage.ASSOCIATION__INHERITED_MEMBER,
+ UMLPackage.ASSOCIATION__MEMBER_END};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getFeatures() <em>Feature</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeatures()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] FEATURE_ESUBSETS = new int[]{
+ UMLPackage.ASSOCIATION__ATTRIBUTE, UMLPackage.ASSOCIATION__OWNED_END};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.ASSOCIATION__OWNED_RULE,
+ UMLPackage.ASSOCIATION__OWNED_USE_CASE,
+ UMLPackage.ASSOCIATION__OWNED_END};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getMemberEnds() <em>Member End</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemberEnds()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] MEMBER_END_ESUBSETS = new int[]{
+ UMLPackage.ASSOCIATION__OWNED_END};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getMemberEnd(String name, Type type) {
+ return getMemberEnd(name, type, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getMemberEnd(String name, Type type, boolean ignoreCase,
+ EClass eClass) {
+ memberEndLoop : for (Property memberEnd : getMemberEnds()) {
+ if (eClass != null && !eClass.isInstance(memberEnd))
+ continue memberEndLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(memberEnd.getName())
+ : name.equals(memberEnd.getName())))
+ continue memberEndLoop;
+ if (type != null && !type.equals(memberEnd.getType()))
+ continue memberEndLoop;
+ return memberEnd;
+ }
+ return null;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedEnds() <em>Owned End</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedEnds()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_END_ESUBSETS = new int[]{
+ UMLPackage.ASSOCIATION__NAVIGABLE_OWNED_END};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getOwnedEnds() <em>Owned End</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedEnds()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_END_ESUPERSETS = new int[]{
+ UMLPackage.ASSOCIATION__MEMBER_END};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedEnd(String name, Type type, EClass eClass) {
+ Property newOwnedEnd = (Property) create(eClass);
+ getOwnedEnds().add(newOwnedEnd);
+ if (name != null)
+ newOwnedEnd.setName(name);
+ if (type != null)
+ newOwnedEnd.setType(type);
+ return newOwnedEnd;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedEnd(String name, Type type) {
+ return createOwnedEnd(name, type, UMLPackage.Literals.PROPERTY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedEnd(String name, Type type) {
+ return getOwnedEnd(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedEnd(String name, Type type, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ ownedEndLoop : for (Property ownedEnd : getOwnedEnds()) {
+ if (eClass != null && !eClass.isInstance(ownedEnd))
+ continue ownedEndLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedEnd.getName())
+ : name.equals(ownedEnd.getName())))
+ continue ownedEndLoop;
+ if (type != null && !type.equals(ownedEnd.getType()))
+ continue ownedEndLoop;
+ return ownedEnd;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedEnd(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getNavigableOwnedEnds() <em>Navigable Owned End</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNavigableOwnedEnds()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] NAVIGABLE_OWNED_END_ESUPERSETS = new int[]{
+ UMLPackage.ASSOCIATION__OWNED_END};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createNavigableOwnedEnd(String name, Type type,
+ EClass eClass) {
+ Property newNavigableOwnedEnd = (Property) create(eClass);
+ getNavigableOwnedEnds().add(newNavigableOwnedEnd);
+ if (name != null)
+ newNavigableOwnedEnd.setName(name);
+ if (type != null)
+ newNavigableOwnedEnd.setType(type);
+ return newNavigableOwnedEnd;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createNavigableOwnedEnd(String name, Type type) {
+ return createNavigableOwnedEnd(name, type,
+ UMLPackage.Literals.PROPERTY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getNavigableOwnedEnd(String name, Type type) {
+ return getNavigableOwnedEnd(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getNavigableOwnedEnd(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ navigableOwnedEndLoop : for (Property navigableOwnedEnd : getNavigableOwnedEnds()) {
+ if (eClass != null && !eClass.isInstance(navigableOwnedEnd))
+ continue navigableOwnedEndLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(navigableOwnedEnd.getName())
+ : name.equals(navigableOwnedEnd.getName())))
+ continue navigableOwnedEndLoop;
+ if (type != null && !type.equals(navigableOwnedEnd.getType()))
+ continue navigableOwnedEndLoop;
+ return navigableOwnedEnd;
+ }
+ return createOnDemand && eClass != null
+ ? createNavigableOwnedEnd(name, type, eClass)
+ : null;
+ }
+
+} //AssociationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehaviorExecutionSpecificationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehaviorExecutionSpecificationImpl.java
new file mode 100644
index 00000000..634f1e5a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehaviorExecutionSpecificationImpl.java
@@ -0,0 +1,319 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Behavior Execution Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehaviorExecutionSpecificationImpl#getBehavior <em>Behavior</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BehaviorExecutionSpecificationImpl
+ extends ExecutionSpecificationImpl
+ implements BehaviorExecutionSpecification {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BehaviorExecutionSpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.BEHAVIOR_EXECUTION_SPECIFICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getBehavior() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__BEHAVIOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR_EXECUTION_SPECIFICATION__BEHAVIOR,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetBehavior() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__BEHAVIOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR_EXECUTION_SPECIFICATION__BEHAVIOR,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBehavior(Behavior newBehavior) {
+ eDynamicSet(
+ UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__BEHAVIOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR_EXECUTION_SPECIFICATION__BEHAVIOR,
+ newBehavior);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__NAME :
+ return getName();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__COVERED :
+ return getCovereds();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__FINISH :
+ if (resolve)
+ return getFinish();
+ return basicGetFinish();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__START :
+ if (resolve)
+ return getStart();
+ return basicGetStart();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__BEHAVIOR :
+ if (resolve)
+ return getBehavior();
+ return basicGetBehavior();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__FINISH :
+ setFinish((OccurrenceSpecification) newValue);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__START :
+ setStart((OccurrenceSpecification) newValue);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__BEHAVIOR :
+ setBehavior((Behavior) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__FINISH :
+ setFinish((OccurrenceSpecification) null);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__START :
+ setStart((OccurrenceSpecification) null);
+ return;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__BEHAVIOR :
+ setBehavior((Behavior) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__NAME :
+ return isSetName();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__COVERED :
+ return !getCovereds().isEmpty();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__FINISH :
+ return basicGetFinish() != null;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__START :
+ return basicGetStart() != null;
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION__BEHAVIOR :
+ return basicGetBehavior() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //BehaviorExecutionSpecificationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehaviorImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehaviorImpl.java
new file mode 100644
index 00000000..a199a604
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehaviorImpl.java
@@ -0,0 +1,1994 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentWithInverseEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.BehavioredClassifier;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.BehaviorOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Behavior</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehaviorImpl#getRedefinitionContexts <em>Redefinition Context</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehaviorImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehaviorImpl#getOwnedRules <em>Owned Rule</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehaviorImpl#getRedefinedClassifiers <em>Redefined Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehaviorImpl#getSpecification <em>Specification</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehaviorImpl#getContext <em>Context</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehaviorImpl#isReentrant <em>Is Reentrant</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehaviorImpl#getOwnedParameters <em>Owned Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehaviorImpl#getOwnedParameterSets <em>Owned Parameter Set</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehaviorImpl#getPostconditions <em>Postcondition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehaviorImpl#getPreconditions <em>Precondition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehaviorImpl#getRedefinedBehaviors <em>Redefined Behavior</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class BehaviorImpl
+ extends ClassImpl
+ implements Behavior {
+
+ /**
+ * The default value of the '{@link #isReentrant() <em>Is Reentrant</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReentrant()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REENTRANT_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BehaviorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.BEHAVIOR;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.BEHAVIOR__REDEFINED_BEHAVIOR) {
+ return createRedefinedBehaviorsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.BEHAVIOR__PRECONDITION) {
+ return createPreconditionsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.BEHAVIOR__POSTCONDITION) {
+ return createPostconditionsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.NAMESPACE__OWNED_RULE) {
+ return createOwnedRulesList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.CLASSIFIER__REDEFINED_CLASSIFIER) {
+ return createRedefinedClassifiersList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.BEHAVIOR__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.BEHAVIOR__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Classifier> getRedefinitionContexts() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> redefinitionContexts = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+ if (redefinitionContexts == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.BEHAVIOR__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS));
+ }
+ return redefinitionContexts;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.BEHAVIOR__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isReentrant() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.BEHAVIOR__IS_REENTRANT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR__IS_REENTRANT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsReentrant(boolean newIsReentrant) {
+ eDynamicSet(UMLPackage.BEHAVIOR__IS_REENTRANT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR__IS_REENTRANT, newIsReentrant);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetIsReentrant() {
+ eDynamicUnset(UMLPackage.BEHAVIOR__IS_REENTRANT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR__IS_REENTRANT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetIsReentrant() {
+ return eDynamicIsSet(
+ UMLPackage.BEHAVIOR__IS_REENTRANT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR__IS_REENTRANT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Behavior> getRedefinedBehaviors() {
+ return (EList<Behavior>) eDynamicGet(
+ UMLPackage.BEHAVIOR__REDEFINED_BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR__REDEFINED_BEHAVIOR, true, true);
+ }
+
+ private EList<Behavior> createRedefinedBehaviorsList() {
+ return new SubsetSupersetEObjectResolvingEList<Behavior>(Behavior.class,
+ this, UMLPackage.BEHAVIOR__REDEFINED_BEHAVIOR,
+ REDEFINED_BEHAVIOR_ESUPERSETS, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Parameter> getOwnedParameters() {
+ return (EList<Parameter>) eDynamicGet(
+ UMLPackage.BEHAVIOR__OWNED_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR__OWNED_PARAMETER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter createOwnedParameter(String name, Type type) {
+ Parameter newOwnedParameter = (Parameter) create(
+ UMLPackage.Literals.PARAMETER);
+ getOwnedParameters().add(newOwnedParameter);
+ if (name != null)
+ newOwnedParameter.setName(name);
+ if (type != null)
+ newOwnedParameter.setType(type);
+ return newOwnedParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter getOwnedParameter(String name, Type type) {
+ return getOwnedParameter(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter getOwnedParameter(String name, Type type,
+ boolean ignoreCase, boolean createOnDemand) {
+ ownedParameterLoop : for (Parameter ownedParameter : getOwnedParameters()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedParameter.getName())
+ : name.equals(ownedParameter.getName())))
+ continue ownedParameterLoop;
+ if (type != null && !type.equals(ownedParameter.getType()))
+ continue ownedParameterLoop;
+ return ownedParameter;
+ }
+ return createOnDemand
+ ? createOwnedParameter(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioredClassifier getContext() {
+ BehavioredClassifier context = basicGetContext();
+ return context != null && context.eIsProxy()
+ ? (BehavioredClassifier) eResolveProxy((InternalEObject) context)
+ : context;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioredClassifier basicGetContext() {
+ return BehaviorOperations.getContext(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getPreconditions() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.BEHAVIOR__PRECONDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR__PRECONDITION, true, true);
+ }
+
+ @SuppressWarnings("serial")
+ private EList<Constraint> createPreconditionsList() {
+ return new SubsetSupersetEObjectResolvingEList<Constraint>(
+ Constraint.class, this, UMLPackage.BEHAVIOR__PRECONDITION,
+ PRECONDITION_ESUPERSETS, null) {
+
+ @Override
+ protected boolean enforceSubsetConstraints() {
+ return true;
+ }
+
+ @Override
+ protected void didAdd(int index, Constraint newObject) {
+ super.didAdd(index, newObject);
+
+ supersetAdd(newObject);
+ }
+ };
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getPostconditions() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.BEHAVIOR__POSTCONDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR__POSTCONDITION, true, true);
+ }
+
+ @SuppressWarnings("serial")
+ private EList<Constraint> createPostconditionsList() {
+ return new SubsetSupersetEObjectResolvingEList<Constraint>(
+ Constraint.class, this, UMLPackage.BEHAVIOR__POSTCONDITION,
+ POSTCONDITION_ESUPERSETS, null) {
+
+ @Override
+ protected boolean enforceSubsetConstraints() {
+ return true;
+ }
+
+ @Override
+ protected void didAdd(int index, Constraint newObject) {
+ super.didAdd(index, newObject);
+
+ supersetAdd(newObject);
+ }
+ };
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ParameterSet> getOwnedParameterSets() {
+ return (EList<ParameterSet>) eDynamicGet(
+ UMLPackage.BEHAVIOR__OWNED_PARAMETER_SET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR__OWNED_PARAMETER_SET, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet createOwnedParameterSet(String name) {
+ ParameterSet newOwnedParameterSet = (ParameterSet) create(
+ UMLPackage.Literals.PARAMETER_SET);
+ getOwnedParameterSets().add(newOwnedParameterSet);
+ if (name != null)
+ newOwnedParameterSet.setName(name);
+ return newOwnedParameterSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet getOwnedParameterSet(String name) {
+ return getOwnedParameterSet(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet getOwnedParameterSet(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ ownedParameterSetLoop : for (ParameterSet ownedParameterSet : getOwnedParameterSets()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedParameterSet.getName())
+ : name.equals(ownedParameterSet.getName())))
+ continue ownedParameterSetLoop;
+ return ownedParameterSet;
+ }
+ return createOnDemand
+ ? createOwnedParameterSet(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioralFeature getSpecification() {
+ return (BehavioralFeature) eDynamicGet(
+ UMLPackage.BEHAVIOR__SPECIFICATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR__SPECIFICATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioralFeature basicGetSpecification() {
+ return (BehavioralFeature) eDynamicGet(
+ UMLPackage.BEHAVIOR__SPECIFICATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR__SPECIFICATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSpecification(
+ BehavioralFeature newSpecification, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newSpecification,
+ UMLPackage.BEHAVIOR__SPECIFICATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSpecification(BehavioralFeature newSpecification) {
+ eDynamicSet(UMLPackage.BEHAVIOR__SPECIFICATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIOR__SPECIFICATION, newSpecification);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParametersMatch(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return BehaviorOperations.validateParametersMatch(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateFeatureOfContextClassifier(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return BehaviorOperations.validateFeatureOfContextClassifier(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioredClassifier behavioredClassifier(Element from) {
+ return BehaviorOperations.behavioredClassifier(this, from);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Parameter> inputParameters() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Parameter> result = (EList<Parameter>) cache.get(this,
+ UMLPackage.Literals.BEHAVIOR___INPUT_PARAMETERS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.BEHAVIOR___INPUT_PARAMETERS,
+ result = BehaviorOperations.inputParameters(this));
+ }
+ return result;
+ }
+ return BehaviorOperations.inputParameters(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Parameter> outputParameters() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Parameter> result = (EList<Parameter>) cache.get(this,
+ UMLPackage.Literals.BEHAVIOR___OUTPUT_PARAMETERS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.BEHAVIOR___OUTPUT_PARAMETERS,
+ result = BehaviorOperations.outputParameters(this));
+ }
+ return result;
+ }
+ return BehaviorOperations.outputParameters(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIOR__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.BEHAVIOR__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - UMLPackage.BEHAVIOR__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__INTERFACE_REALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInterfaceRealizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_OPERATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedOperations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__SPECIFICATION :
+ BehavioralFeature specification = basicGetSpecification();
+ if (specification != null)
+ msgs = ((InternalEObject) specification).eInverseRemove(
+ this, UMLPackage.BEHAVIORAL_FEATURE__METHOD,
+ BehavioralFeature.class, msgs);
+ return basicSetSpecification((BehavioralFeature) otherEnd,
+ msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIOR__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.BEHAVIOR__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.BEHAVIOR__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.BEHAVIOR__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.BEHAVIOR__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_CONNECTOR :
+ return ((InternalEList<?>) getOwnedConnectors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__INTERFACE_REALIZATION :
+ return ((InternalEList<?>) getInterfaceRealizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_BEHAVIOR :
+ return ((InternalEList<?>) getOwnedBehaviors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__NESTED_CLASSIFIER :
+ return ((InternalEList<?>) getNestedClassifiers())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_RECEPTION :
+ return ((InternalEList<?>) getOwnedReceptions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__SPECIFICATION :
+ return basicSetSpecification(null, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_PARAMETER :
+ return ((InternalEList<?>) getOwnedParameters())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIOR__OWNED_PARAMETER_SET :
+ return ((InternalEList<?>) getOwnedParameterSets())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIOR__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.BEHAVIOR__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.BEHAVIOR__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.BEHAVIOR__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.BEHAVIOR__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.BEHAVIOR__NAME :
+ return getName();
+ case UMLPackage.BEHAVIOR__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.BEHAVIOR__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.BEHAVIOR__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.BEHAVIOR__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.BEHAVIOR__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.BEHAVIOR__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.BEHAVIOR__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.BEHAVIOR__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.BEHAVIOR__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.BEHAVIOR__MEMBER :
+ return getMembers();
+ case UMLPackage.BEHAVIOR__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.BEHAVIOR__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.BEHAVIOR__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.BEHAVIOR__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.BEHAVIOR__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.BEHAVIOR__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.BEHAVIOR__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.BEHAVIOR__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.BEHAVIOR__FEATURE :
+ return getFeatures();
+ case UMLPackage.BEHAVIOR__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.BEHAVIOR__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.BEHAVIOR__GENERAL :
+ return getGenerals();
+ case UMLPackage.BEHAVIOR__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.BEHAVIOR__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.BEHAVIOR__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.BEHAVIOR__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.BEHAVIOR__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.BEHAVIOR__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.BEHAVIOR__USE_CASE :
+ return getUseCases();
+ case UMLPackage.BEHAVIOR__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.BEHAVIOR__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.BEHAVIOR__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.BEHAVIOR__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.BEHAVIOR__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.BEHAVIOR__PART :
+ return getParts();
+ case UMLPackage.BEHAVIOR__ROLE :
+ return getRoles();
+ case UMLPackage.BEHAVIOR__OWNED_PORT :
+ return getOwnedPorts();
+ case UMLPackage.BEHAVIOR__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.BEHAVIOR__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.BEHAVIOR__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ case UMLPackage.BEHAVIOR__OWNED_OPERATION :
+ return getOwnedOperations();
+ case UMLPackage.BEHAVIOR__EXTENSION :
+ return getExtensions();
+ case UMLPackage.BEHAVIOR__IS_ACTIVE :
+ return isActive();
+ case UMLPackage.BEHAVIOR__NESTED_CLASSIFIER :
+ return getNestedClassifiers();
+ case UMLPackage.BEHAVIOR__OWNED_RECEPTION :
+ return getOwnedReceptions();
+ case UMLPackage.BEHAVIOR__SUPER_CLASS :
+ return getSuperClasses();
+ case UMLPackage.BEHAVIOR__SPECIFICATION :
+ if (resolve)
+ return getSpecification();
+ return basicGetSpecification();
+ case UMLPackage.BEHAVIOR__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.BEHAVIOR__IS_REENTRANT :
+ return isReentrant();
+ case UMLPackage.BEHAVIOR__OWNED_PARAMETER :
+ return getOwnedParameters();
+ case UMLPackage.BEHAVIOR__OWNED_PARAMETER_SET :
+ return getOwnedParameterSets();
+ case UMLPackage.BEHAVIOR__POSTCONDITION :
+ return getPostconditions();
+ case UMLPackage.BEHAVIOR__PRECONDITION :
+ return getPreconditions();
+ case UMLPackage.BEHAVIOR__REDEFINED_BEHAVIOR :
+ return getRedefinedBehaviors();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIOR__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__IS_ACTIVE :
+ setIsActive((Boolean) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ getNestedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ getOwnedReceptions()
+ .addAll((Collection<? extends Reception>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__SUPER_CLASS :
+ getSuperClasses().clear();
+ getSuperClasses().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Class>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__SPECIFICATION :
+ setSpecification((BehavioralFeature) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__IS_REENTRANT :
+ setIsReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ getOwnedParameters()
+ .addAll((Collection<? extends Parameter>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ getOwnedParameterSets()
+ .addAll((Collection<? extends ParameterSet>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__POSTCONDITION :
+ getPostconditions().clear();
+ getPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__PRECONDITION :
+ getPreconditions().clear();
+ getPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.BEHAVIOR__REDEFINED_BEHAVIOR :
+ getRedefinedBehaviors().clear();
+ getRedefinedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIOR__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.BEHAVIOR__NAME :
+ unsetName();
+ return;
+ case UMLPackage.BEHAVIOR__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.BEHAVIOR__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.BEHAVIOR__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.BEHAVIOR__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.BEHAVIOR__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.BEHAVIOR__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.BEHAVIOR__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.BEHAVIOR__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.BEHAVIOR__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.BEHAVIOR__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.BEHAVIOR__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.BEHAVIOR__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.BEHAVIOR__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.BEHAVIOR__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.BEHAVIOR__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.BEHAVIOR__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.BEHAVIOR__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.BEHAVIOR__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.BEHAVIOR__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ case UMLPackage.BEHAVIOR__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.BEHAVIOR__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ case UMLPackage.BEHAVIOR__IS_ACTIVE :
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ case UMLPackage.BEHAVIOR__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ return;
+ case UMLPackage.BEHAVIOR__SUPER_CLASS :
+ getSuperClasses().clear();
+ return;
+ case UMLPackage.BEHAVIOR__SPECIFICATION :
+ setSpecification((BehavioralFeature) null);
+ return;
+ case UMLPackage.BEHAVIOR__IS_REENTRANT :
+ unsetIsReentrant();
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ return;
+ case UMLPackage.BEHAVIOR__POSTCONDITION :
+ getPostconditions().clear();
+ return;
+ case UMLPackage.BEHAVIOR__PRECONDITION :
+ getPreconditions().clear();
+ return;
+ case UMLPackage.BEHAVIOR__REDEFINED_BEHAVIOR :
+ getRedefinedBehaviors().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIOR__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.BEHAVIOR__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.BEHAVIOR__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.BEHAVIOR__OWNER :
+ return isSetOwner();
+ case UMLPackage.BEHAVIOR__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.BEHAVIOR__NAME :
+ return isSetName();
+ case UMLPackage.BEHAVIOR__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.BEHAVIOR__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.BEHAVIOR__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.BEHAVIOR__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.BEHAVIOR__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.BEHAVIOR__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.BEHAVIOR__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.BEHAVIOR__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.BEHAVIOR__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.BEHAVIOR__MEMBER :
+ return isSetMembers();
+ case UMLPackage.BEHAVIOR__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.BEHAVIOR__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.BEHAVIOR__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.BEHAVIOR__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.BEHAVIOR__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.BEHAVIOR__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.BEHAVIOR__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.BEHAVIOR__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.BEHAVIOR__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.BEHAVIOR__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.BEHAVIOR__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.BEHAVIOR__GENERAL :
+ return isSetGenerals();
+ case UMLPackage.BEHAVIOR__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.BEHAVIOR__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.BEHAVIOR__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.BEHAVIOR__IS_ABSTRACT :
+ return isSetIsAbstract();
+ case UMLPackage.BEHAVIOR__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.BEHAVIOR__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.BEHAVIOR__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.BEHAVIOR__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.BEHAVIOR__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.BEHAVIOR__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.BEHAVIOR__OWNED_ATTRIBUTE :
+ return isSetOwnedAttributes();
+ case UMLPackage.BEHAVIOR__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.BEHAVIOR__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.BEHAVIOR__ROLE :
+ return isSetRoles();
+ case UMLPackage.BEHAVIOR__OWNED_PORT :
+ return !getOwnedPorts().isEmpty();
+ case UMLPackage.BEHAVIOR__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.BEHAVIOR__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.BEHAVIOR__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ case UMLPackage.BEHAVIOR__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ case UMLPackage.BEHAVIOR__EXTENSION :
+ return !getExtensions().isEmpty();
+ case UMLPackage.BEHAVIOR__IS_ACTIVE :
+ return isActive() != IS_ACTIVE_EDEFAULT;
+ case UMLPackage.BEHAVIOR__NESTED_CLASSIFIER :
+ return !getNestedClassifiers().isEmpty();
+ case UMLPackage.BEHAVIOR__OWNED_RECEPTION :
+ return !getOwnedReceptions().isEmpty();
+ case UMLPackage.BEHAVIOR__SUPER_CLASS :
+ return isSetSuperClasses();
+ case UMLPackage.BEHAVIOR__SPECIFICATION :
+ return basicGetSpecification() != null;
+ case UMLPackage.BEHAVIOR__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.BEHAVIOR__IS_REENTRANT :
+ return isSetIsReentrant();
+ case UMLPackage.BEHAVIOR__OWNED_PARAMETER :
+ return !getOwnedParameters().isEmpty();
+ case UMLPackage.BEHAVIOR__OWNED_PARAMETER_SET :
+ return !getOwnedParameterSets().isEmpty();
+ case UMLPackage.BEHAVIOR__POSTCONDITION :
+ return !getPostconditions().isEmpty();
+ case UMLPackage.BEHAVIOR__PRECONDITION :
+ return !getPreconditions().isEmpty();
+ case UMLPackage.BEHAVIOR__REDEFINED_BEHAVIOR :
+ return !getRedefinedBehaviors().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.BEHAVIOR___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.BEHAVIOR___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.BEHAVIOR___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIOR___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.BEHAVIOR___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.BEHAVIOR___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.BEHAVIOR___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.BEHAVIOR___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.BEHAVIOR___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.BEHAVIOR___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.BEHAVIOR___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.BEHAVIOR___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIOR___GET_MODEL :
+ return getModel();
+ case UMLPackage.BEHAVIOR___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.BEHAVIOR___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.BEHAVIOR___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.BEHAVIOR___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.BEHAVIOR___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.BEHAVIOR___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.BEHAVIOR___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.BEHAVIOR___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIOR___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.BEHAVIOR___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.BEHAVIOR___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.BEHAVIOR___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.BEHAVIOR___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.BEHAVIOR___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.BEHAVIOR___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIOR___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIOR___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIOR___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.BEHAVIOR___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.BEHAVIOR___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIOR___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.BEHAVIOR___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.BEHAVIOR___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.BEHAVIOR___GET_LABEL :
+ return getLabel();
+ case UMLPackage.BEHAVIOR___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.BEHAVIOR___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.BEHAVIOR___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.BEHAVIOR___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.BEHAVIOR___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.BEHAVIOR___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.BEHAVIOR___SEPARATOR :
+ return separator();
+ case UMLPackage.BEHAVIOR___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.BEHAVIOR___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.BEHAVIOR___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.BEHAVIOR___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.BEHAVIOR___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.BEHAVIOR___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.BEHAVIOR___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.BEHAVIOR___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.BEHAVIOR___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.BEHAVIOR___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.BEHAVIOR___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.BEHAVIOR___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.BEHAVIOR___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.BEHAVIOR___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.BEHAVIOR___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.BEHAVIOR___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.BEHAVIOR___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.BEHAVIOR___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.BEHAVIOR___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.BEHAVIOR___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.BEHAVIOR___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.BEHAVIOR___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.BEHAVIOR___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.BEHAVIOR___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.BEHAVIOR___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.BEHAVIOR___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.BEHAVIOR___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.BEHAVIOR___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.BEHAVIOR___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.BEHAVIOR___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.BEHAVIOR___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.BEHAVIOR___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.BEHAVIOR___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.BEHAVIOR___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.BEHAVIOR___PARENTS :
+ return parents();
+ case UMLPackage.BEHAVIOR___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.BEHAVIOR___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.BEHAVIOR___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.BEHAVIOR___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.BEHAVIOR___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.BEHAVIOR___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.BEHAVIOR___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.BEHAVIOR___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.BEHAVIOR___GET_PARTS :
+ return getParts();
+ case UMLPackage.BEHAVIOR___ALL_ROLES :
+ return allRoles();
+ case UMLPackage.BEHAVIOR___GET_OWNED_PORTS :
+ return getOwnedPorts();
+ case UMLPackage.BEHAVIOR___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.BEHAVIOR___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ case UMLPackage.BEHAVIOR___VALIDATE_PASSIVE_CLASS__DIAGNOSTICCHAIN_MAP :
+ return validatePassiveClass((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ case UMLPackage.BEHAVIOR___IS_METACLASS :
+ return isMetaclass();
+ case UMLPackage.BEHAVIOR___GET_EXTENSIONS :
+ return getExtensions();
+ case UMLPackage.BEHAVIOR___GET_SUPER_CLASSES :
+ return getSuperClasses();
+ case UMLPackage.BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateMostOneBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___VALIDATE_PARAMETERS_MATCH__DIAGNOSTICCHAIN_MAP :
+ return validateParametersMatch(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateFeatureOfContextClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIOR___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.BEHAVIOR___BEHAVIORED_CLASSIFIER__ELEMENT :
+ return behavioredClassifier((Element) arguments.get(0));
+ case UMLPackage.BEHAVIOR___INPUT_PARAMETERS :
+ return inputParameters();
+ case UMLPackage.BEHAVIOR___OUTPUT_PARAMETERS :
+ return outputParameters();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.BEHAVIOR__OWNED_PARAMETER)
+ || eIsSet(UMLPackage.BEHAVIOR__OWNED_PARAMETER_SET);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinitionContexts() <em>Redefinition Context</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinitionContexts()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINITION_CONTEXT_ESUBSETS = new int[]{
+ UMLPackage.BEHAVIOR__CONTEXT};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.BEHAVIOR__OWNED_RULE, UMLPackage.BEHAVIOR__OWNED_USE_CASE,
+ UMLPackage.BEHAVIOR__OWNED_ATTRIBUTE,
+ UMLPackage.BEHAVIOR__OWNED_CONNECTOR,
+ UMLPackage.BEHAVIOR__OWNED_BEHAVIOR,
+ UMLPackage.BEHAVIOR__OWNED_OPERATION,
+ UMLPackage.BEHAVIOR__NESTED_CLASSIFIER,
+ UMLPackage.BEHAVIOR__OWNED_RECEPTION,
+ UMLPackage.BEHAVIOR__OWNED_PARAMETER,
+ UMLPackage.BEHAVIOR__OWNED_PARAMETER_SET};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getOwnedRules() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.BEHAVIOR__OWNED_RULE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMESPACE__OWNED_RULE, true, true);
+ }
+
+ private EList<Constraint> createOwnedRulesList() {
+ return new SubsetSupersetEObjectContainmentWithInverseEList.Resolving<Constraint>(
+ Constraint.class, this, UMLPackage.BEHAVIOR__OWNED_RULE, null,
+ OWNED_RULE_ESUBSETS, UMLPackage.CONSTRAINT__CONTEXT);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedRules() <em>Owned Rule</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedRules()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_RULE_ESUBSETS = new int[]{
+ UMLPackage.BEHAVIOR__POSTCONDITION, UMLPackage.BEHAVIOR__PRECONDITION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getRedefinedClassifiers() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.BEHAVIOR__REDEFINED_CLASSIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__REDEFINED_CLASSIFIER, true, true);
+ }
+
+ private EList<Classifier> createRedefinedClassifiersList() {
+ return new SubsetSupersetEObjectResolvingEList<Classifier>(
+ Classifier.class, this, UMLPackage.BEHAVIOR__REDEFINED_CLASSIFIER,
+ null, REDEFINED_CLASSIFIER_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedClassifiers() <em>Redefined Classifier</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedClassifiers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_CLASSIFIER_ESUBSETS = new int[]{
+ UMLPackage.BEHAVIOR__REDEFINED_BEHAVIOR};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getPostconditions() <em>Postcondition</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostconditions()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] POSTCONDITION_ESUPERSETS = new int[]{
+ UMLPackage.BEHAVIOR__OWNED_RULE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createPostcondition(String name, EClass eClass) {
+ Constraint newPostcondition = (Constraint) create(eClass);
+ getPostconditions().add(newPostcondition);
+ if (name != null)
+ newPostcondition.setName(name);
+ return newPostcondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createPostcondition(String name) {
+ return createPostcondition(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getPostcondition(String name) {
+ return getPostcondition(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getPostcondition(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ postconditionLoop : for (Constraint postcondition : getPostconditions()) {
+ if (eClass != null && !eClass.isInstance(postcondition))
+ continue postconditionLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(postcondition.getName())
+ : name.equals(postcondition.getName())))
+ continue postconditionLoop;
+ return postcondition;
+ }
+ return createOnDemand && eClass != null
+ ? createPostcondition(name, eClass)
+ : null;
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getPreconditions() <em>Precondition</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPreconditions()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] PRECONDITION_ESUPERSETS = new int[]{
+ UMLPackage.BEHAVIOR__OWNED_RULE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createPrecondition(String name, EClass eClass) {
+ Constraint newPrecondition = (Constraint) create(eClass);
+ getPreconditions().add(newPrecondition);
+ if (name != null)
+ newPrecondition.setName(name);
+ return newPrecondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createPrecondition(String name) {
+ return createPrecondition(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getPrecondition(String name) {
+ return getPrecondition(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getPrecondition(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ preconditionLoop : for (Constraint precondition : getPreconditions()) {
+ if (eClass != null && !eClass.isInstance(precondition))
+ continue preconditionLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(precondition.getName())
+ : name.equals(precondition.getName())))
+ continue preconditionLoop;
+ return precondition;
+ }
+ return createOnDemand && eClass != null
+ ? createPrecondition(name, eClass)
+ : null;
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getRedefinedBehaviors() <em>Redefined Behavior</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedBehaviors()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_BEHAVIOR_ESUPERSETS = new int[]{
+ UMLPackage.BEHAVIOR__REDEFINED_CLASSIFIER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getRedefinedBehavior(String name) {
+ return getRedefinedBehavior(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getRedefinedBehavior(String name, boolean ignoreCase,
+ EClass eClass) {
+ redefinedBehaviorLoop : for (Behavior redefinedBehavior : getRedefinedBehaviors()) {
+ if (eClass != null && !eClass.isInstance(redefinedBehavior))
+ continue redefinedBehaviorLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedBehavior.getName())
+ : name.equals(redefinedBehavior.getName())))
+ continue redefinedBehaviorLoop;
+ return redefinedBehavior;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMostOneBehavior(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return BehaviorOperations.validateMostOneBehavior(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetRedefinitionContexts() {
+ return super.isSetRedefinitionContexts()
+ || eIsSet(UMLPackage.BEHAVIOR__CONTEXT);
+ }
+
+} //BehaviorImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehavioralFeatureImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehavioralFeatureImpl.java
new file mode 100644
index 00000000..99b91e34
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehavioralFeatureImpl.java
@@ -0,0 +1,1519 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.CallConcurrencyKind;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.BehavioralFeatureOperations;
+import org.eclipse.uml2.uml.internal.operations.RedefinableElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Behavioral Feature</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioralFeatureImpl#getRedefinedElements <em>Redefined Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioralFeatureImpl#getRedefinitionContexts <em>Redefinition Context</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioralFeatureImpl#isLeaf <em>Is Leaf</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioralFeatureImpl#getFeaturingClassifiers <em>Featuring Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioralFeatureImpl#isStatic <em>Is Static</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioralFeatureImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioralFeatureImpl#getConcurrency <em>Concurrency</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioralFeatureImpl#isAbstract <em>Is Abstract</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioralFeatureImpl#getMethods <em>Method</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioralFeatureImpl#getOwnedParameters <em>Owned Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioralFeatureImpl#getOwnedParameterSets <em>Owned Parameter Set</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioralFeatureImpl#getRaisedExceptions <em>Raised Exception</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class BehavioralFeatureImpl
+ extends NamespaceImpl
+ implements BehavioralFeature {
+
+ /**
+ * The default value of the '{@link #isLeaf() <em>Is Leaf</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLeaf()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_LEAF_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isStatic() <em>Is Static</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isStatic()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_STATIC_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #getConcurrency() <em>Concurrency</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConcurrency()
+ * @generated
+ * @ordered
+ */
+ protected static final CallConcurrencyKind CONCURRENCY_EDEFAULT = CallConcurrencyKind.SEQUENTIAL_LITERAL;
+
+ /**
+ * The default value of the '{@link #isAbstract() <em>Is Abstract</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isAbstract()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ABSTRACT_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BehavioralFeatureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.BEHAVIORAL_FEATURE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RedefinableElement> getRedefinedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<RedefinableElement> redefinedElements = (EList<RedefinableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT);
+ if (redefinedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT,
+ redefinedElements = new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.BEHAVIORAL_FEATURE__REDEFINED_ELEMENT,
+ null));
+ }
+ return redefinedElements;
+ }
+ return new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.BEHAVIORAL_FEATURE__REDEFINED_ELEMENT, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableElement getRedefinedElement(String name) {
+ return getRedefinedElement(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableElement getRedefinedElement(String name,
+ boolean ignoreCase, EClass eClass) {
+ redefinedElementLoop : for (RedefinableElement redefinedElement : getRedefinedElements()) {
+ if (eClass != null && !eClass.isInstance(redefinedElement))
+ continue redefinedElementLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedElement.getName())
+ : name.equals(redefinedElement.getName())))
+ continue redefinedElementLoop;
+ return redefinedElement;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Classifier> getRedefinitionContextsGen() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> redefinitionContexts = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+ if (redefinitionContexts == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.BEHAVIORAL_FEATURE__REDEFINITION_CONTEXT,
+ null));
+ }
+ return redefinitionContexts;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.BEHAVIORAL_FEATURE__REDEFINITION_CONTEXT, null);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinitionContexts() <em>Redefinition Context</em>}' reference list.
+ * @see #getRedefinitionContexts()
+ */
+ protected static final int[] REDEFINITION_CONTEXT_ESUBSETS = new int[]{
+ UMLPackage.BEHAVIORAL_FEATURE__NAMESPACE};
+
+ public EList<Classifier> getRedefinitionContexts() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> redefinitionContext = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+ if (redefinitionContext == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContext = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.BEHAVIORAL_FEATURE__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS));
+ }
+ return redefinitionContext;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.BEHAVIORAL_FEATURE__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinitionContext(String name) {
+ return getRedefinitionContext(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinitionContext(String name, boolean ignoreCase,
+ EClass eClass) {
+ redefinitionContextLoop : for (Classifier redefinitionContext : getRedefinitionContexts()) {
+ if (eClass != null && !eClass.isInstance(redefinitionContext))
+ continue redefinitionContextLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinitionContext.getName())
+ : name.equals(redefinitionContext.getName())))
+ continue redefinitionContextLoop;
+ return redefinitionContext;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isLeaf() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.BEHAVIORAL_FEATURE__IS_LEAF - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__IS_LEAF, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsLeaf(boolean newIsLeaf) {
+ eDynamicSet(
+ UMLPackage.BEHAVIORAL_FEATURE__IS_LEAF - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__IS_LEAF, newIsLeaf);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Classifier> getFeaturingClassifiersGen() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> featuringClassifiers = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.FEATURE__FEATURING_CLASSIFIER);
+ if (featuringClassifiers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.FEATURE__FEATURING_CLASSIFIER,
+ featuringClassifiers = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.BEHAVIORAL_FEATURE__FEATURING_CLASSIFIER,
+ null));
+ }
+ return featuringClassifiers;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.BEHAVIORAL_FEATURE__FEATURING_CLASSIFIER, null);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getFeaturingClassifiers() <em>Featuring Classifier</em>}' reference list.
+ * @see #getFeaturingClassifiers()
+ */
+ protected static final int[] FEATURING_CLASSIFIER_ESUBSETS = new int[]{
+ UMLPackage.BEHAVIORAL_FEATURE__NAMESPACE};
+
+ public EList<Classifier> getFeaturingClassifiers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> featuringClassifiers = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.FEATURE__FEATURING_CLASSIFIER);
+ if (featuringClassifiers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.FEATURE__FEATURING_CLASSIFIER,
+ featuringClassifiers = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.BEHAVIORAL_FEATURE__FEATURING_CLASSIFIER,
+ FEATURING_CLASSIFIER_ESUBSETS));
+ }
+ return featuringClassifiers;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.BEHAVIORAL_FEATURE__FEATURING_CLASSIFIER,
+ FEATURING_CLASSIFIER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getFeaturingClassifier(String name) {
+ return getFeaturingClassifier(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getFeaturingClassifier(String name, boolean ignoreCase,
+ EClass eClass) {
+ featuringClassifierLoop : for (Classifier featuringClassifier : getFeaturingClassifiers()) {
+ if (eClass != null && !eClass.isInstance(featuringClassifier))
+ continue featuringClassifierLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(featuringClassifier.getName())
+ : name.equals(featuringClassifier.getName())))
+ continue featuringClassifierLoop;
+ return featuringClassifier;
+ }
+ return null;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.BEHAVIORAL_FEATURE__OWNED_RULE,
+ UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER,
+ UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER_SET};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isStatic() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.BEHAVIORAL_FEATURE__IS_STATIC - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.FEATURE__IS_STATIC, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsStatic(boolean newIsStatic) {
+ eDynamicSet(
+ UMLPackage.BEHAVIORAL_FEATURE__IS_STATIC - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.FEATURE__IS_STATIC, newIsStatic);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.BEHAVIORAL_FEATURE__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.BEHAVIORAL_FEATURE__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Parameter> getOwnedParameters() {
+ return (EList<Parameter>) eDynamicGet(
+ UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE__OWNED_PARAMETER, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter createOwnedParameter(String name, Type type) {
+ Parameter newOwnedParameter = (Parameter) create(
+ UMLPackage.Literals.PARAMETER);
+ getOwnedParameters().add(newOwnedParameter);
+ if (name != null)
+ newOwnedParameter.setName(name);
+ if (type != null)
+ newOwnedParameter.setType(type);
+ return newOwnedParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter getOwnedParameter(String name, Type type) {
+ return getOwnedParameter(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter getOwnedParameter(String name, Type type,
+ boolean ignoreCase, boolean createOnDemand) {
+ ownedParameterLoop : for (Parameter ownedParameter : getOwnedParameters()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedParameter.getName())
+ : name.equals(ownedParameter.getName())))
+ continue ownedParameterLoop;
+ if (type != null && !type.equals(ownedParameter.getType()))
+ continue ownedParameterLoop;
+ return ownedParameter;
+ }
+ return createOnDemand
+ ? createOwnedParameter(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isAbstract() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.BEHAVIORAL_FEATURE__IS_ABSTRACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE__IS_ABSTRACT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsAbstract(boolean newIsAbstract) {
+ eDynamicSet(
+ UMLPackage.BEHAVIORAL_FEATURE__IS_ABSTRACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE__IS_ABSTRACT, newIsAbstract);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Behavior> getMethods() {
+ return (EList<Behavior>) eDynamicGet(
+ UMLPackage.BEHAVIORAL_FEATURE__METHOD - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE__METHOD, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getMethod(String name) {
+ return getMethod(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getMethod(String name, boolean ignoreCase, EClass eClass) {
+ methodLoop : for (Behavior method : getMethods()) {
+ if (eClass != null && !eClass.isInstance(method))
+ continue methodLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(method.getName())
+ : name.equals(method.getName())))
+ continue methodLoop;
+ return method;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallConcurrencyKind getConcurrency() {
+ return (CallConcurrencyKind) eDynamicGet(
+ UMLPackage.BEHAVIORAL_FEATURE__CONCURRENCY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE__CONCURRENCY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConcurrency(CallConcurrencyKind newConcurrency) {
+ eDynamicSet(
+ UMLPackage.BEHAVIORAL_FEATURE__CONCURRENCY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE__CONCURRENCY,
+ newConcurrency);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Type> getRaisedExceptions() {
+ return (EList<Type>) eDynamicGet(
+ UMLPackage.BEHAVIORAL_FEATURE__RAISED_EXCEPTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE__RAISED_EXCEPTION, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getRaisedException(String name) {
+ return getRaisedException(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getRaisedException(String name, boolean ignoreCase,
+ EClass eClass) {
+ raisedExceptionLoop : for (Type raisedException : getRaisedExceptions()) {
+ if (eClass != null && !eClass.isInstance(raisedException))
+ continue raisedExceptionLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(raisedException.getName())
+ : name.equals(raisedException.getName())))
+ continue raisedExceptionLoop;
+ return raisedException;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ParameterSet> getOwnedParameterSets() {
+ return (EList<ParameterSet>) eDynamicGet(
+ UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER_SET
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE__OWNED_PARAMETER_SET, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet createOwnedParameterSet(String name) {
+ ParameterSet newOwnedParameterSet = (ParameterSet) create(
+ UMLPackage.Literals.PARAMETER_SET);
+ getOwnedParameterSets().add(newOwnedParameterSet);
+ if (name != null)
+ newOwnedParameterSet.setName(name);
+ return newOwnedParameterSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet getOwnedParameterSet(String name) {
+ return getOwnedParameterSet(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet getOwnedParameterSet(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ ownedParameterSetLoop : for (ParameterSet ownedParameterSet : getOwnedParameterSets()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedParameterSet.getName())
+ : name.equals(ownedParameterSet.getName())))
+ continue ownedParameterSetLoop;
+ return ownedParameterSet;
+ }
+ return createOnDemand
+ ? createOwnedParameterSet(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinitionContextValid(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations
+ .validateRedefinitionContextValid(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinitionConsistent(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations.validateRedefinitionConsistent(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNonLeafRedefinition(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations.validateNonLeafRedefinition(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRedefinitionContextValid(
+ RedefinableElement redefinedElement) {
+ return RedefinableElementOperations.isRedefinitionContextValid(this,
+ redefinedElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAbstractNoMethod(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return BehavioralFeatureOperations.validateAbstractNoMethod(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter createReturnResult(String name, Type type) {
+ return BehavioralFeatureOperations.createReturnResult(this, name, type);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Parameter> inputParameters() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Parameter> result = (EList<Parameter>) cache.get(this,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE___INPUT_PARAMETERS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE___INPUT_PARAMETERS,
+ result = BehavioralFeatureOperations.inputParameters(this));
+ }
+ return result;
+ }
+ return BehavioralFeatureOperations.inputParameters(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Parameter> outputParameters() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Parameter> result = (EList<Parameter>) cache.get(this,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE___OUTPUT_PARAMETERS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE___OUTPUT_PARAMETERS,
+ result = BehavioralFeatureOperations
+ .outputParameters(this));
+ }
+ return result;
+ }
+ return BehavioralFeatureOperations.outputParameters(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isConsistentWith(RedefinableElement redefiningElement) {
+ return RedefinableElementOperations.isConsistentWith(this,
+ redefiningElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDistinguishableFrom(NamedElement n, Namespace ns) {
+ return BehavioralFeatureOperations.isDistinguishableFrom(this, n, ns);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIORAL_FEATURE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIORAL_FEATURE__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIORAL_FEATURE__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIORAL_FEATURE__METHOD :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getMethods())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIORAL_FEATURE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORAL_FEATURE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORAL_FEATURE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORAL_FEATURE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORAL_FEATURE__METHOD :
+ return ((InternalEList<?>) getMethods()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER :
+ return ((InternalEList<?>) getOwnedParameters())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER_SET :
+ return ((InternalEList<?>) getOwnedParameterSets())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIORAL_FEATURE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.BEHAVIORAL_FEATURE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.BEHAVIORAL_FEATURE__NAME :
+ return getName();
+ case UMLPackage.BEHAVIORAL_FEATURE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.BEHAVIORAL_FEATURE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.BEHAVIORAL_FEATURE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.BEHAVIORAL_FEATURE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.BEHAVIORAL_FEATURE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.BEHAVIORAL_FEATURE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.BEHAVIORAL_FEATURE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.BEHAVIORAL_FEATURE__MEMBER :
+ return getMembers();
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.BEHAVIORAL_FEATURE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.BEHAVIORAL_FEATURE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.BEHAVIORAL_FEATURE__FEATURING_CLASSIFIER :
+ return getFeaturingClassifiers();
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_STATIC :
+ return isStatic();
+ case UMLPackage.BEHAVIORAL_FEATURE__CONCURRENCY :
+ return getConcurrency();
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.BEHAVIORAL_FEATURE__METHOD :
+ return getMethods();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER :
+ return getOwnedParameters();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER_SET :
+ return getOwnedParameterSets();
+ case UMLPackage.BEHAVIORAL_FEATURE__RAISED_EXCEPTION :
+ return getRaisedExceptions();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIORAL_FEATURE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_STATIC :
+ setIsStatic((Boolean) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__CONCURRENCY :
+ setConcurrency((CallConcurrencyKind) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__METHOD :
+ getMethods().clear();
+ getMethods().addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ getOwnedParameters()
+ .addAll((Collection<? extends Parameter>) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ getOwnedParameterSets()
+ .addAll((Collection<? extends ParameterSet>) newValue);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__RAISED_EXCEPTION :
+ getRaisedExceptions().clear();
+ getRaisedExceptions()
+ .addAll((Collection<? extends Type>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIORAL_FEATURE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_STATIC :
+ setIsStatic(IS_STATIC_EDEFAULT);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__CONCURRENCY :
+ setConcurrency(CONCURRENCY_EDEFAULT);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__METHOD :
+ getMethods().clear();
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__RAISED_EXCEPTION :
+ getRaisedExceptions().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIORAL_FEATURE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNER :
+ return isSetOwner();
+ case UMLPackage.BEHAVIORAL_FEATURE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.BEHAVIORAL_FEATURE__NAME :
+ return isSetName();
+ case UMLPackage.BEHAVIORAL_FEATURE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.BEHAVIORAL_FEATURE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.BEHAVIORAL_FEATURE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.BEHAVIORAL_FEATURE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.BEHAVIORAL_FEATURE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.BEHAVIORAL_FEATURE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.BEHAVIORAL_FEATURE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.BEHAVIORAL_FEATURE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.BEHAVIORAL_FEATURE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.BEHAVIORAL_FEATURE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.BEHAVIORAL_FEATURE__FEATURING_CLASSIFIER :
+ return isSetFeaturingClassifiers();
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_STATIC :
+ return isStatic() != IS_STATIC_EDEFAULT;
+ case UMLPackage.BEHAVIORAL_FEATURE__CONCURRENCY :
+ return getConcurrency() != CONCURRENCY_EDEFAULT;
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.BEHAVIORAL_FEATURE__METHOD :
+ return !getMethods().isEmpty();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER :
+ return !getOwnedParameters().isEmpty();
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER_SET :
+ return !getOwnedParameterSets().isEmpty();
+ case UMLPackage.BEHAVIORAL_FEATURE__RAISED_EXCEPTION :
+ return !getRaisedExceptions().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_LEAF :
+ return UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF;
+ case UMLPackage.BEHAVIORAL_FEATURE__REDEFINED_ELEMENT :
+ return UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT;
+ case UMLPackage.BEHAVIORAL_FEATURE__REDEFINITION_CONTEXT :
+ return UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == Feature.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.BEHAVIORAL_FEATURE__FEATURING_CLASSIFIER :
+ return UMLPackage.FEATURE__FEATURING_CLASSIFIER;
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_STATIC :
+ return UMLPackage.FEATURE__IS_STATIC;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF :
+ return UMLPackage.BEHAVIORAL_FEATURE__IS_LEAF;
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT :
+ return UMLPackage.BEHAVIORAL_FEATURE__REDEFINED_ELEMENT;
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT :
+ return UMLPackage.BEHAVIORAL_FEATURE__REDEFINITION_CONTEXT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == Feature.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.FEATURE__FEATURING_CLASSIFIER :
+ return UMLPackage.BEHAVIORAL_FEATURE__FEATURING_CLASSIFIER;
+ case UMLPackage.FEATURE__IS_STATIC :
+ return UMLPackage.BEHAVIORAL_FEATURE__IS_STATIC;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return UMLPackage.BEHAVIORAL_FEATURE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT;
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return UMLPackage.BEHAVIORAL_FEATURE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == Feature.class) {
+ switch (baseOperationID) {
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_MODEL :
+ return getModel();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.BEHAVIORAL_FEATURE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.BEHAVIORAL_FEATURE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.BEHAVIORAL_FEATURE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.BEHAVIORAL_FEATURE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.BEHAVIORAL_FEATURE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.BEHAVIORAL_FEATURE___SEPARATOR :
+ return separator();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.BEHAVIORAL_FEATURE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.BEHAVIORAL_FEATURE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_ABSTRACT_NO_METHOD__DIAGNOSTICCHAIN_MAP :
+ return validateAbstractNoMethod(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___CREATE_RETURN_RESULT__STRING_TYPE :
+ return createReturnResult((String) arguments.get(0),
+ (Type) arguments.get(1));
+ case UMLPackage.BEHAVIORAL_FEATURE___INPUT_PARAMETERS :
+ return inputParameters();
+ case UMLPackage.BEHAVIORAL_FEATURE___OUTPUT_PARAMETERS :
+ return outputParameters();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRedefinedElements() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRedefinitionContextsGen() {
+ return false;
+ }
+
+ public boolean isSetRedefinitionContexts() {
+ return basicGetNamespace() instanceof Classifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetFeaturingClassifiersGen() {
+ return false;
+ }
+
+ public boolean isSetFeaturingClassifiers() {
+ return basicGetNamespace() instanceof Classifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER)
+ || eIsSet(UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER_SET);
+ }
+
+} //BehavioralFeatureImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehavioredClassifierImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehavioredClassifierImpl.java
new file mode 100644
index 00000000..c3bf419d
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BehavioredClassifierImpl.java
@@ -0,0 +1,1336 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentEList;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioredClassifier;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.BehavioredClassifierOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Behaviored Classifier</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioredClassifierImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioredClassifierImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioredClassifierImpl#getOwnedBehaviors <em>Owned Behavior</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioredClassifierImpl#getClassifierBehavior <em>Classifier Behavior</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BehavioredClassifierImpl#getInterfaceRealizations <em>Interface Realization</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class BehavioredClassifierImpl
+ extends ClassifierImpl
+ implements BehavioredClassifier {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BehavioredClassifierImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.BEHAVIORED_CLASSIFIER;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR) {
+ return createOwnedBehaviorsList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Behavior> getOwnedBehaviors() {
+ return (EList<Behavior>) eDynamicGet(
+ UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR, true,
+ true);
+ }
+
+ private EList<Behavior> createOwnedBehaviorsList() {
+ return new SubsetSupersetEObjectContainmentEList.Resolving<Behavior>(
+ Behavior.class, this,
+ UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR, null,
+ OWNED_BEHAVIOR_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getClassifierBehavior() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetClassifierBehavior() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassifierBehavior(Behavior newClassifierBehavior) {
+ eDynamicSet(
+ UMLPackage.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR,
+ newClassifierBehavior);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newClassifierBehavior != null) {
+ EList<Behavior> ownedBehaviors = getOwnedBehaviors();
+ if (!ownedBehaviors.contains(newClassifierBehavior)) {
+ ownedBehaviors.add(newClassifierBehavior);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior createClassifierBehavior(String name, EClass eClass) {
+ Behavior newClassifierBehavior = (Behavior) create(eClass);
+ setClassifierBehavior(newClassifierBehavior);
+ if (name != null)
+ newClassifierBehavior.setName(name);
+ return newClassifierBehavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InterfaceRealization> getInterfaceRealizations() {
+ return (EList<InterfaceRealization>) eDynamicGet(
+ UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClassBehavior(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return BehavioredClassifierOperations.validateClassBehavior(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> getImplementedInterfaces() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER___GET_IMPLEMENTED_INTERFACES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER___GET_IMPLEMENTED_INTERFACES,
+ result = BehavioredClassifierOperations
+ .getImplementedInterfaces(this));
+ }
+ return result;
+ }
+ return BehavioredClassifierOperations.getImplementedInterfaces(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> getAllImplementedInterfaces() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER___GET_ALL_IMPLEMENTED_INTERFACES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER___GET_ALL_IMPLEMENTED_INTERFACES,
+ result = BehavioredClassifierOperations
+ .getAllImplementedInterfaces(this));
+ }
+ return result;
+ }
+ return BehavioredClassifierOperations.getAllImplementedInterfaces(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIORED_CLASSIFIER__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInterfaceRealizations())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIORED_CLASSIFIER__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION :
+ return ((InternalEList<?>) getInterfaceRealizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR :
+ return ((InternalEList<?>) getOwnedBehaviors())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIORED_CLASSIFIER__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__NAME :
+ return getName();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__MEMBER :
+ return getMembers();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__FEATURE :
+ return getFeatures();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__GENERAL :
+ return getGenerals();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__USE_CASE :
+ return getUseCases();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIORED_CLASSIFIER__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIORED_CLASSIFIER__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__NAME :
+ unsetName();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.BEHAVIORED_CLASSIFIER__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNER :
+ return isSetOwner();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__NAME :
+ return isSetName();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.BEHAVIORED_CLASSIFIER__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__MEMBER :
+ return isSetMembers();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_MODEL :
+ return getModel();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.BEHAVIORED_CLASSIFIER___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_LABEL :
+ return getLabel();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___SEPARATOR :
+ return separator();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___PARENTS :
+ return parents();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_COMMENT,
+ UMLPackage.BEHAVIORED_CLASSIFIER__NAME_EXPRESSION,
+ UMLPackage.BEHAVIORED_CLASSIFIER__ELEMENT_IMPORT,
+ UMLPackage.BEHAVIORED_CLASSIFIER__PACKAGE_IMPORT,
+ UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_MEMBER,
+ UMLPackage.BEHAVIORED_CLASSIFIER__TEMPLATE_BINDING,
+ UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE,
+ UMLPackage.BEHAVIORED_CLASSIFIER__COLLABORATION_USE,
+ UMLPackage.BEHAVIORED_CLASSIFIER__GENERALIZATION,
+ UMLPackage.BEHAVIORED_CLASSIFIER__SUBSTITUTION,
+ UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_RULE,
+ UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_USE_CASE,
+ UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedBehaviors() <em>Owned Behavior</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedBehaviors()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_BEHAVIOR_ESUBSETS = new int[]{
+ UMLPackage.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior createOwnedBehavior(String name, EClass eClass) {
+ Behavior newOwnedBehavior = (Behavior) create(eClass);
+ getOwnedBehaviors().add(newOwnedBehavior);
+ if (name != null)
+ newOwnedBehavior.setName(name);
+ return newOwnedBehavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getOwnedBehavior(String name) {
+ return getOwnedBehavior(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getOwnedBehavior(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ ownedBehaviorLoop : for (Behavior ownedBehavior : getOwnedBehaviors()) {
+ if (eClass != null && !eClass.isInstance(ownedBehavior))
+ continue ownedBehaviorLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedBehavior.getName())
+ : name.equals(ownedBehavior.getName())))
+ continue ownedBehaviorLoop;
+ return ownedBehavior;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedBehavior(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterfaceRealization createInterfaceRealization(String name,
+ Interface contract) {
+ InterfaceRealization newInterfaceRealization = (InterfaceRealization) create(
+ UMLPackage.Literals.INTERFACE_REALIZATION);
+ getInterfaceRealizations().add(newInterfaceRealization);
+ if (name != null)
+ newInterfaceRealization.setName(name);
+ if (contract != null)
+ newInterfaceRealization.setContract(contract);
+ return newInterfaceRealization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterfaceRealization getInterfaceRealization(String name,
+ Interface contract) {
+ return getInterfaceRealization(name, contract, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterfaceRealization getInterfaceRealization(String name,
+ Interface contract, boolean ignoreCase, boolean createOnDemand) {
+ interfaceRealizationLoop : for (InterfaceRealization interfaceRealization : getInterfaceRealizations()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(interfaceRealization.getName())
+ : name.equals(interfaceRealization.getName())))
+ continue interfaceRealizationLoop;
+ if (contract != null
+ && !contract.equals(interfaceRealization.getContract()))
+ continue interfaceRealizationLoop;
+ return interfaceRealization;
+ }
+ return createOnDemand
+ ? createInterfaceRealization(name, contract)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION);
+ }
+
+} //BehavioredClassifierImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BroadcastSignalActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BroadcastSignalActionImpl.java
new file mode 100644
index 00000000..7cb83c4e
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/BroadcastSignalActionImpl.java
@@ -0,0 +1,654 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.BroadcastSignalActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Broadcast Signal Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.BroadcastSignalActionImpl#getSignal <em>Signal</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BroadcastSignalActionImpl
+ extends InvocationActionImpl
+ implements BroadcastSignalAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BroadcastSignalActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.BROADCAST_SIGNAL_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Signal getSignal() {
+ return (Signal) eDynamicGet(
+ UMLPackage.BROADCAST_SIGNAL_ACTION__SIGNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BROADCAST_SIGNAL_ACTION__SIGNAL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Signal basicGetSignal() {
+ return (Signal) eDynamicGet(
+ UMLPackage.BROADCAST_SIGNAL_ACTION__SIGNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BROADCAST_SIGNAL_ACTION__SIGNAL, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSignal(Signal newSignal) {
+ eDynamicSet(
+ UMLPackage.BROADCAST_SIGNAL_ACTION__SIGNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BROADCAST_SIGNAL_ACTION__SIGNAL, newSignal);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNumberOfArguments(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return BroadcastSignalActionOperations.validateNumberOfArguments(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeOrderingMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return BroadcastSignalActionOperations
+ .validateTypeOrderingMultiplicity(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoOnport(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return BroadcastSignalActionOperations.validateNoOnport(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__NAME :
+ return getName();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__ARGUMENT :
+ return getArguments();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__ON_PORT :
+ if (resolve)
+ return getOnPort();
+ return basicGetOnPort();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__SIGNAL :
+ if (resolve)
+ return getSignal();
+ return basicGetSignal();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__ARGUMENT :
+ getArguments().clear();
+ getArguments()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__ON_PORT :
+ setOnPort((Port) newValue);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__SIGNAL :
+ setSignal((Signal) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__ARGUMENT :
+ getArguments().clear();
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__ON_PORT :
+ setOnPort((Port) null);
+ return;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__SIGNAL :
+ setSignal((Signal) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__ARGUMENT :
+ return !getArguments().isEmpty();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__ON_PORT :
+ return basicGetOnPort() != null;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION__SIGNAL :
+ return basicGetSignal() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_NUMBER_OF_ARGUMENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNumberOfArguments(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOrderingMultiplicity(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_NO_ONPORT__DIAGNOSTICCHAIN_MAP :
+ return validateNoOnport((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //BroadcastSignalActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallActionImpl.java
new file mode 100644
index 00000000..5dc13eec
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallActionImpl.java
@@ -0,0 +1,878 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.CallAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.CallActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Call Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CallActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CallActionImpl#isSynchronous <em>Is Synchronous</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CallActionImpl#getResults <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class CallActionImpl
+ extends InvocationActionImpl
+ implements CallAction {
+
+ /**
+ * The default value of the '{@link #isSynchronous() <em>Is Synchronous</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSynchronous()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_SYNCHRONOUS_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CallActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CALL_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this, UMLPackage.CALL_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.CALL_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSynchronous() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.CALL_ACTION__IS_SYNCHRONOUS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_ACTION__IS_SYNCHRONOUS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsSynchronous(boolean newIsSynchronous) {
+ eDynamicSet(
+ UMLPackage.CALL_ACTION__IS_SYNCHRONOUS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_ACTION__IS_SYNCHRONOUS, newIsSynchronous);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputPin> getResults() {
+ return (EList<OutputPin>) eDynamicGet(
+ UMLPackage.CALL_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_ACTION__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ getResults().add(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult(String name, Type type) {
+ return getResult(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult(String name, Type type, boolean ignoreCase,
+ boolean createOnDemand) {
+ resultLoop : for (OutputPin result : getResults()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(result.getName())
+ : name.equals(result.getName())))
+ continue resultLoop;
+ if (type != null && !type.equals(result.getType()))
+ continue resultLoop;
+ return result;
+ }
+ return createOnDemand
+ ? createResult(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateArgumentPins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CallActionOperations.validateArgumentPins(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResultPins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CallActionOperations.validateResultPins(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSynchronousCall(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CallActionOperations.validateSynchronousCall(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Parameter> inputParameters() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Parameter> result = (EList<Parameter>) cache.get(this,
+ UMLPackage.Literals.CALL_ACTION___INPUT_PARAMETERS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CALL_ACTION___INPUT_PARAMETERS,
+ result = CallActionOperations.inputParameters(this));
+ }
+ return result;
+ }
+ return CallActionOperations.inputParameters(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Parameter> outputParameters() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Parameter> result = (EList<Parameter>) cache.get(this,
+ UMLPackage.Literals.CALL_ACTION___OUTPUT_PARAMETERS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CALL_ACTION___OUTPUT_PARAMETERS,
+ result = CallActionOperations.outputParameters(this));
+ }
+ return result;
+ }
+ return CallActionOperations.outputParameters(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CALL_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CALL_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CALL_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CALL_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.CALL_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CALL_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CALL_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CALL_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CALL_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CALL_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CALL_ACTION__ARGUMENT :
+ return ((InternalEList<?>) getArguments()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CALL_ACTION__RESULT :
+ return ((InternalEList<?>) getResults()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CALL_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CALL_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CALL_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CALL_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CALL_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CALL_ACTION__NAME :
+ return getName();
+ case UMLPackage.CALL_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CALL_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CALL_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CALL_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CALL_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.CALL_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.CALL_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.CALL_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.CALL_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.CALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.CALL_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.CALL_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.CALL_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.CALL_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.CALL_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.CALL_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.CALL_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.CALL_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.CALL_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.CALL_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.CALL_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.CALL_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.CALL_ACTION__ARGUMENT :
+ return getArguments();
+ case UMLPackage.CALL_ACTION__ON_PORT :
+ if (resolve)
+ return getOnPort();
+ return basicGetOnPort();
+ case UMLPackage.CALL_ACTION__IS_SYNCHRONOUS :
+ return isSynchronous();
+ case UMLPackage.CALL_ACTION__RESULT :
+ return getResults();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CALL_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__ARGUMENT :
+ getArguments().clear();
+ getArguments()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__ON_PORT :
+ setOnPort((Port) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__IS_SYNCHRONOUS :
+ setIsSynchronous((Boolean) newValue);
+ return;
+ case UMLPackage.CALL_ACTION__RESULT :
+ getResults().clear();
+ getResults().addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CALL_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CALL_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CALL_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CALL_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CALL_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CALL_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.CALL_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.CALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.CALL_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.CALL_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.CALL_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.CALL_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.CALL_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.CALL_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.CALL_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.CALL_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.CALL_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.CALL_ACTION__ARGUMENT :
+ getArguments().clear();
+ return;
+ case UMLPackage.CALL_ACTION__ON_PORT :
+ setOnPort((Port) null);
+ return;
+ case UMLPackage.CALL_ACTION__IS_SYNCHRONOUS :
+ setIsSynchronous(IS_SYNCHRONOUS_EDEFAULT);
+ return;
+ case UMLPackage.CALL_ACTION__RESULT :
+ getResults().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CALL_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CALL_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CALL_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CALL_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.CALL_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CALL_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.CALL_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CALL_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CALL_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CALL_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CALL_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.CALL_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.CALL_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.CALL_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.CALL_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.CALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.CALL_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.CALL_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.CALL_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.CALL_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.CALL_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.CALL_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.CALL_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.CALL_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.CALL_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.CALL_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.CALL_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.CALL_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.CALL_ACTION__ARGUMENT :
+ return !getArguments().isEmpty();
+ case UMLPackage.CALL_ACTION__ON_PORT :
+ return basicGetOnPort() != null;
+ case UMLPackage.CALL_ACTION__IS_SYNCHRONOUS :
+ return isSynchronous() != IS_SYNCHRONOUS_EDEFAULT;
+ case UMLPackage.CALL_ACTION__RESULT :
+ return !getResults().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CALL_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CALL_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CALL_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CALL_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CALL_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CALL_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CALL_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CALL_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CALL_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CALL_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CALL_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.CALL_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CALL_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CALL_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CALL_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CALL_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CALL_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CALL_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CALL_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CALL_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CALL_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CALL_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CALL_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CALL_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CALL_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CALL_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CALL_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CALL_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CALL_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CALL_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CALL_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CALL_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CALL_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CALL_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CALL_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CALL_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CALL_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.CALL_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CALL_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.CALL_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.CALL_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.CALL_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.CALL_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.CALL_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.CALL_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.CALL_ACTION___VALIDATE_ARGUMENT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateArgumentPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_ACTION___VALIDATE_RESULT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateResultPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP :
+ return validateSynchronousCall(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_ACTION___INPUT_PARAMETERS :
+ return inputParameters();
+ case UMLPackage.CALL_ACTION___OUTPUT_PARAMETERS :
+ return outputParameters();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.CALL_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs() || eIsSet(UMLPackage.CALL_ACTION__RESULT);
+ }
+
+} //CallActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallBehaviorActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallBehaviorActionImpl.java
new file mode 100644
index 00000000..c09667be
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallBehaviorActionImpl.java
@@ -0,0 +1,708 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.CallBehaviorActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Call Behavior Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CallBehaviorActionImpl#getBehavior <em>Behavior</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CallBehaviorActionImpl
+ extends CallActionImpl
+ implements CallBehaviorAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CallBehaviorActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CALL_BEHAVIOR_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getBehavior() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.CALL_BEHAVIOR_ACTION__BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_BEHAVIOR_ACTION__BEHAVIOR, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetBehavior() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.CALL_BEHAVIOR_ACTION__BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_BEHAVIOR_ACTION__BEHAVIOR, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBehavior(Behavior newBehavior) {
+ eDynamicSet(
+ UMLPackage.CALL_BEHAVIOR_ACTION__BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_BEHAVIOR_ACTION__BEHAVIOR, newBehavior);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoOnport(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CallBehaviorActionOperations.validateNoOnport(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Parameter> outputParameters() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Parameter> result = (EList<Parameter>) cache.get(this,
+ UMLPackage.Literals.CALL_ACTION___OUTPUT_PARAMETERS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CALL_ACTION___OUTPUT_PARAMETERS,
+ result = CallBehaviorActionOperations
+ .outputParameters(this));
+ }
+ return result;
+ }
+ return CallBehaviorActionOperations.outputParameters(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Parameter> inputParameters() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Parameter> result = (EList<Parameter>) cache.get(this,
+ UMLPackage.Literals.CALL_ACTION___INPUT_PARAMETERS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CALL_ACTION___INPUT_PARAMETERS,
+ result = CallBehaviorActionOperations
+ .inputParameters(this));
+ }
+ return result;
+ }
+ return CallBehaviorActionOperations.inputParameters(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CALL_BEHAVIOR_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__NAME :
+ return getName();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__ARGUMENT :
+ return getArguments();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__ON_PORT :
+ if (resolve)
+ return getOnPort();
+ return basicGetOnPort();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IS_SYNCHRONOUS :
+ return isSynchronous();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__RESULT :
+ return getResults();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__BEHAVIOR :
+ if (resolve)
+ return getBehavior();
+ return basicGetBehavior();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CALL_BEHAVIOR_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__ARGUMENT :
+ getArguments().clear();
+ getArguments()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__ON_PORT :
+ setOnPort((Port) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IS_SYNCHRONOUS :
+ setIsSynchronous((Boolean) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__RESULT :
+ getResults().clear();
+ getResults().addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__BEHAVIOR :
+ setBehavior((Behavior) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CALL_BEHAVIOR_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__ARGUMENT :
+ getArguments().clear();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__ON_PORT :
+ setOnPort((Port) null);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IS_SYNCHRONOUS :
+ setIsSynchronous(IS_SYNCHRONOUS_EDEFAULT);
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__RESULT :
+ getResults().clear();
+ return;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__BEHAVIOR :
+ setBehavior((Behavior) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CALL_BEHAVIOR_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CALL_BEHAVIOR_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__ARGUMENT :
+ return !getArguments().isEmpty();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__ON_PORT :
+ return basicGetOnPort() != null;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__IS_SYNCHRONOUS :
+ return isSynchronous() != IS_SYNCHRONOUS_EDEFAULT;
+ case UMLPackage.CALL_BEHAVIOR_ACTION__RESULT :
+ return !getResults().isEmpty();
+ case UMLPackage.CALL_BEHAVIOR_ACTION__BEHAVIOR :
+ return basicGetBehavior() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CALL_BEHAVIOR_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_ARGUMENT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateArgumentPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_RESULT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateResultPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP :
+ return validateSynchronousCall(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_BEHAVIOR_ACTION___INPUT_PARAMETERS :
+ return inputParameters();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___OUTPUT_PARAMETERS :
+ return outputParameters();
+ case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_NO_ONPORT__DIAGNOSTICCHAIN_MAP :
+ return validateNoOnport((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //CallBehaviorActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallEventImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallEventImpl.java
new file mode 100644
index 00000000..2b6fb410
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallEventImpl.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Call Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CallEventImpl#getOperation <em>Operation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CallEventImpl
+ extends MessageEventImpl
+ implements CallEvent {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CallEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CALL_EVENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOperation() {
+ return (Operation) eDynamicGet(
+ UMLPackage.CALL_EVENT__OPERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_EVENT__OPERATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation basicGetOperation() {
+ return (Operation) eDynamicGet(
+ UMLPackage.CALL_EVENT__OPERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_EVENT__OPERATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperation(Operation newOperation) {
+ eDynamicSet(UMLPackage.CALL_EVENT__OPERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_EVENT__OPERATION, newOperation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CALL_EVENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CALL_EVENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CALL_EVENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CALL_EVENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CALL_EVENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CALL_EVENT__NAME :
+ return getName();
+ case UMLPackage.CALL_EVENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CALL_EVENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CALL_EVENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CALL_EVENT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CALL_EVENT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.CALL_EVENT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.CALL_EVENT__OPERATION :
+ if (resolve)
+ return getOperation();
+ return basicGetOperation();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CALL_EVENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CALL_EVENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CALL_EVENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CALL_EVENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CALL_EVENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CALL_EVENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.CALL_EVENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.CALL_EVENT__OPERATION :
+ setOperation((Operation) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CALL_EVENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CALL_EVENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CALL_EVENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CALL_EVENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CALL_EVENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CALL_EVENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.CALL_EVENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.CALL_EVENT__OPERATION :
+ setOperation((Operation) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CALL_EVENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CALL_EVENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CALL_EVENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CALL_EVENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.CALL_EVENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CALL_EVENT__NAME :
+ return isSetName();
+ case UMLPackage.CALL_EVENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CALL_EVENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CALL_EVENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CALL_EVENT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CALL_EVENT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.CALL_EVENT__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.CALL_EVENT__OPERATION :
+ return basicGetOperation() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //CallEventImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallOperationActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallOperationActionImpl.java
new file mode 100644
index 00000000..38ea8f33
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CallOperationActionImpl.java
@@ -0,0 +1,904 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.CallOperationActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Call Operation Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CallOperationActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CallOperationActionImpl#getOperation <em>Operation</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CallOperationActionImpl#getTarget <em>Target</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CallOperationActionImpl
+ extends CallActionImpl
+ implements CallOperationAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CallOperationActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CALL_OPERATION_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.CALL_OPERATION_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.CALL_OPERATION_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOperation() {
+ return (Operation) eDynamicGet(
+ UMLPackage.CALL_OPERATION_ACTION__OPERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_OPERATION_ACTION__OPERATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation basicGetOperation() {
+ return (Operation) eDynamicGet(
+ UMLPackage.CALL_OPERATION_ACTION__OPERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_OPERATION_ACTION__OPERATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperation(Operation newOperation) {
+ eDynamicSet(
+ UMLPackage.CALL_OPERATION_ACTION__OPERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_OPERATION_ACTION__OPERATION, newOperation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getTarget() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.CALL_OPERATION_ACTION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_OPERATION_ACTION__TARGET, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetTarget() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.CALL_OPERATION_ACTION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_OPERATION_ACTION__TARGET, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTarget(InputPin newTarget,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newTarget,
+ UMLPackage.CALL_OPERATION_ACTION__TARGET, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTarget(InputPin newTarget) {
+ eDynamicSet(
+ UMLPackage.CALL_OPERATION_ACTION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CALL_OPERATION_ACTION__TARGET, newTarget);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createTarget(String name, Type type, EClass eClass) {
+ InputPin newTarget = (InputPin) create(eClass);
+ setTarget(newTarget);
+ if (name != null)
+ newTarget.setName(name);
+ if (type != null)
+ newTarget.setType(type);
+ return newTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createTarget(String name, Type type) {
+ return createTarget(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeTargetPin(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CallOperationActionOperations.validateTypeTargetPin(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Parameter> outputParameters() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Parameter> result = (EList<Parameter>) cache.get(this,
+ UMLPackage.Literals.CALL_ACTION___OUTPUT_PARAMETERS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CALL_ACTION___OUTPUT_PARAMETERS,
+ result = CallOperationActionOperations
+ .outputParameters(this));
+ }
+ return result;
+ }
+ return CallOperationActionOperations.outputParameters(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Parameter> inputParameters() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Parameter> result = (EList<Parameter>) cache.get(this,
+ UMLPackage.Literals.CALL_ACTION___INPUT_PARAMETERS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CALL_ACTION___INPUT_PARAMETERS,
+ result = CallOperationActionOperations
+ .inputParameters(this));
+ }
+ return result;
+ }
+ return CallOperationActionOperations.inputParameters(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CALL_OPERATION_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CALL_OPERATION_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CALL_OPERATION_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CALL_OPERATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CALL_OPERATION_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.CALL_OPERATION_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CALL_OPERATION_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CALL_OPERATION_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CALL_OPERATION_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CALL_OPERATION_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CALL_OPERATION_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CALL_OPERATION_ACTION__ARGUMENT :
+ return ((InternalEList<?>) getArguments()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CALL_OPERATION_ACTION__RESULT :
+ return ((InternalEList<?>) getResults()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CALL_OPERATION_ACTION__TARGET :
+ return basicSetTarget(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CALL_OPERATION_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CALL_OPERATION_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CALL_OPERATION_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CALL_OPERATION_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CALL_OPERATION_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CALL_OPERATION_ACTION__NAME :
+ return getName();
+ case UMLPackage.CALL_OPERATION_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CALL_OPERATION_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CALL_OPERATION_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CALL_OPERATION_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CALL_OPERATION_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.CALL_OPERATION_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.CALL_OPERATION_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.CALL_OPERATION_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.CALL_OPERATION_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.CALL_OPERATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.CALL_OPERATION_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.CALL_OPERATION_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.CALL_OPERATION_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.CALL_OPERATION_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.CALL_OPERATION_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.CALL_OPERATION_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.CALL_OPERATION_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.CALL_OPERATION_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.CALL_OPERATION_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.CALL_OPERATION_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.CALL_OPERATION_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.CALL_OPERATION_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.CALL_OPERATION_ACTION__ARGUMENT :
+ return getArguments();
+ case UMLPackage.CALL_OPERATION_ACTION__ON_PORT :
+ if (resolve)
+ return getOnPort();
+ return basicGetOnPort();
+ case UMLPackage.CALL_OPERATION_ACTION__IS_SYNCHRONOUS :
+ return isSynchronous();
+ case UMLPackage.CALL_OPERATION_ACTION__RESULT :
+ return getResults();
+ case UMLPackage.CALL_OPERATION_ACTION__OPERATION :
+ if (resolve)
+ return getOperation();
+ return basicGetOperation();
+ case UMLPackage.CALL_OPERATION_ACTION__TARGET :
+ if (resolve)
+ return getTarget();
+ return basicGetTarget();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CALL_OPERATION_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__ARGUMENT :
+ getArguments().clear();
+ getArguments()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__ON_PORT :
+ setOnPort((Port) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__IS_SYNCHRONOUS :
+ setIsSynchronous((Boolean) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__RESULT :
+ getResults().clear();
+ getResults().addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__OPERATION :
+ setOperation((Operation) newValue);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__TARGET :
+ setTarget((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CALL_OPERATION_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__ARGUMENT :
+ getArguments().clear();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__ON_PORT :
+ setOnPort((Port) null);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__IS_SYNCHRONOUS :
+ setIsSynchronous(IS_SYNCHRONOUS_EDEFAULT);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__RESULT :
+ getResults().clear();
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__OPERATION :
+ setOperation((Operation) null);
+ return;
+ case UMLPackage.CALL_OPERATION_ACTION__TARGET :
+ setTarget((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CALL_OPERATION_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CALL_OPERATION_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CALL_OPERATION_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CALL_OPERATION_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.CALL_OPERATION_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CALL_OPERATION_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.CALL_OPERATION_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CALL_OPERATION_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CALL_OPERATION_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CALL_OPERATION_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CALL_OPERATION_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.CALL_OPERATION_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.CALL_OPERATION_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.CALL_OPERATION_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.CALL_OPERATION_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.CALL_OPERATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.CALL_OPERATION_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.CALL_OPERATION_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.CALL_OPERATION_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.CALL_OPERATION_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.CALL_OPERATION_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.CALL_OPERATION_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.CALL_OPERATION_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.CALL_OPERATION_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.CALL_OPERATION_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.CALL_OPERATION_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.CALL_OPERATION_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.CALL_OPERATION_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.CALL_OPERATION_ACTION__ARGUMENT :
+ return !getArguments().isEmpty();
+ case UMLPackage.CALL_OPERATION_ACTION__ON_PORT :
+ return basicGetOnPort() != null;
+ case UMLPackage.CALL_OPERATION_ACTION__IS_SYNCHRONOUS :
+ return isSynchronous() != IS_SYNCHRONOUS_EDEFAULT;
+ case UMLPackage.CALL_OPERATION_ACTION__RESULT :
+ return !getResults().isEmpty();
+ case UMLPackage.CALL_OPERATION_ACTION__OPERATION :
+ return basicGetOperation() != null;
+ case UMLPackage.CALL_OPERATION_ACTION__TARGET :
+ return basicGetTarget() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CALL_OPERATION_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CALL_OPERATION_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CALL_OPERATION_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CALL_OPERATION_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CALL_OPERATION_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.CALL_OPERATION_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CALL_OPERATION_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CALL_OPERATION_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CALL_OPERATION_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CALL_OPERATION_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CALL_OPERATION_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CALL_OPERATION_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CALL_OPERATION_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CALL_OPERATION_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CALL_OPERATION_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CALL_OPERATION_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CALL_OPERATION_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CALL_OPERATION_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CALL_OPERATION_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.CALL_OPERATION_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.CALL_OPERATION_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.CALL_OPERATION_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.CALL_OPERATION_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.CALL_OPERATION_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.CALL_OPERATION_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_ARGUMENT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateArgumentPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_RESULT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateResultPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP :
+ return validateSynchronousCall(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CALL_OPERATION_ACTION___INPUT_PARAMETERS :
+ return inputParameters();
+ case UMLPackage.CALL_OPERATION_ACTION___OUTPUT_PARAMETERS :
+ return outputParameters();
+ case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_TYPE_TARGET_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateTypeTargetPin((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.CALL_OPERATION_ACTION__ARGUMENT,
+ UMLPackage.CALL_OPERATION_ACTION__TARGET};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.CALL_OPERATION_ACTION__TARGET);
+ }
+
+} //CallOperationActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CentralBufferNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CentralBufferNodeImpl.java
new file mode 100644
index 00000000..5b31b183
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CentralBufferNodeImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Central Buffer Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class CentralBufferNodeImpl
+ extends ObjectNodeImpl
+ implements CentralBufferNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CentralBufferNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CENTRAL_BUFFER_NODE;
+ }
+
+} //CentralBufferNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ChangeEventImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ChangeEventImpl.java
new file mode 100644
index 00000000..bf9a958e
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ChangeEventImpl.java
@@ -0,0 +1,386 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Change Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ChangeEventImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ChangeEventImpl#getChangeExpression <em>Change Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ChangeEventImpl
+ extends EventImpl
+ implements ChangeEvent {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ChangeEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CHANGE_EVENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.CHANGE_EVENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.CHANGE_EVENT__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getChangeExpression() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.CHANGE_EVENT__CHANGE_EXPRESSION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CHANGE_EVENT__CHANGE_EXPRESSION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetChangeExpression() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.CHANGE_EVENT__CHANGE_EXPRESSION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CHANGE_EVENT__CHANGE_EXPRESSION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetChangeExpression(
+ ValueSpecification newChangeExpression, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newChangeExpression,
+ UMLPackage.CHANGE_EVENT__CHANGE_EXPRESSION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setChangeExpression(ValueSpecification newChangeExpression) {
+ eDynamicSet(
+ UMLPackage.CHANGE_EVENT__CHANGE_EXPRESSION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CHANGE_EVENT__CHANGE_EXPRESSION,
+ newChangeExpression);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createChangeExpression(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newChangeExpression = (ValueSpecification) create(
+ eClass);
+ setChangeExpression(newChangeExpression);
+ if (name != null)
+ newChangeExpression.setName(name);
+ if (type != null)
+ newChangeExpression.setType(type);
+ return newChangeExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CHANGE_EVENT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CHANGE_EVENT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CHANGE_EVENT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CHANGE_EVENT__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.CHANGE_EVENT__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.CHANGE_EVENT__CHANGE_EXPRESSION :
+ return basicSetChangeExpression(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CHANGE_EVENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CHANGE_EVENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CHANGE_EVENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CHANGE_EVENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CHANGE_EVENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CHANGE_EVENT__NAME :
+ return getName();
+ case UMLPackage.CHANGE_EVENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CHANGE_EVENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CHANGE_EVENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CHANGE_EVENT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CHANGE_EVENT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.CHANGE_EVENT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.CHANGE_EVENT__CHANGE_EXPRESSION :
+ if (resolve)
+ return getChangeExpression();
+ return basicGetChangeExpression();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CHANGE_EVENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CHANGE_EVENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CHANGE_EVENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CHANGE_EVENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CHANGE_EVENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CHANGE_EVENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.CHANGE_EVENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.CHANGE_EVENT__CHANGE_EXPRESSION :
+ setChangeExpression((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CHANGE_EVENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CHANGE_EVENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CHANGE_EVENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CHANGE_EVENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CHANGE_EVENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CHANGE_EVENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.CHANGE_EVENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.CHANGE_EVENT__CHANGE_EXPRESSION :
+ setChangeExpression((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CHANGE_EVENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CHANGE_EVENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CHANGE_EVENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CHANGE_EVENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.CHANGE_EVENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CHANGE_EVENT__NAME :
+ return isSetName();
+ case UMLPackage.CHANGE_EVENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CHANGE_EVENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CHANGE_EVENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CHANGE_EVENT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CHANGE_EVENT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.CHANGE_EVENT__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.CHANGE_EVENT__CHANGE_EXPRESSION :
+ return basicGetChangeExpression() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.CHANGE_EVENT__OWNED_COMMENT,
+ UMLPackage.CHANGE_EVENT__NAME_EXPRESSION,
+ UMLPackage.CHANGE_EVENT__CHANGE_EXPRESSION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.CHANGE_EVENT__CHANGE_EXPRESSION);
+ }
+
+} //ChangeEventImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClassImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClassImpl.java
new file mode 100644
index 00000000..d8d2e22b
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClassImpl.java
@@ -0,0 +1,2265 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedSubsetEObjectEList;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentEList;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioredClassifier;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.BehavioredClassifierOperations;
+import org.eclipse.uml2.uml.internal.operations.ClassOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Class</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#getOwnedBehaviors <em>Owned Behavior</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#getClassifierBehavior <em>Classifier Behavior</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#getInterfaceRealizations <em>Interface Realization</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#getFeatures <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#getAttributes <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#getOwnedOperations <em>Owned Operation</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#getExtensions <em>Extension</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#isActive <em>Is Active</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#getNestedClassifiers <em>Nested Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#getOwnedReceptions <em>Owned Reception</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#getSuperClasses <em>Super Class</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#getOwnedAttributes <em>Owned Attribute</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassImpl#isAbstract <em>Is Abstract</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ClassImpl
+ extends EncapsulatedClassifierImpl
+ implements org.eclipse.uml2.uml.Class {
+
+ /**
+ * The default value of the '{@link #isActive() <em>Is Active</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isActive()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ACTIVE_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CLASS;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR) {
+ return createOwnedBehaviorsList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.CLASS__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.CLASS__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.CLASS__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.CLASS__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Behavior> getOwnedBehaviors() {
+ return (EList<Behavior>) eDynamicGet(
+ UMLPackage.CLASS__OWNED_BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR, true,
+ true);
+ }
+
+ private EList<Behavior> createOwnedBehaviorsList() {
+ return new SubsetSupersetEObjectContainmentEList.Resolving<Behavior>(
+ Behavior.class, this, UMLPackage.CLASS__OWNED_BEHAVIOR, null,
+ OWNED_BEHAVIOR_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getClassifierBehavior() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.CLASS__CLASSIFIER_BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetClassifierBehavior() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.CLASS__CLASSIFIER_BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassifierBehavior(Behavior newClassifierBehavior) {
+ eDynamicSet(
+ UMLPackage.CLASS__CLASSIFIER_BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR,
+ newClassifierBehavior);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newClassifierBehavior != null) {
+ EList<Behavior> ownedBehaviors = getOwnedBehaviors();
+ if (!ownedBehaviors.contains(newClassifierBehavior)) {
+ ownedBehaviors.add(newClassifierBehavior);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior createClassifierBehavior(String name, EClass eClass) {
+ Behavior newClassifierBehavior = (Behavior) create(eClass);
+ setClassifierBehavior(newClassifierBehavior);
+ if (name != null)
+ newClassifierBehavior.setName(name);
+ return newClassifierBehavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InterfaceRealization> getInterfaceRealizations() {
+ return (EList<InterfaceRealization>) eDynamicGet(
+ UMLPackage.CLASS__INTERFACE_REALIZATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Feature> getFeatures() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Feature> features = (EList<Feature>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__FEATURE);
+ if (features == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__FEATURE,
+ features = new DerivedUnionEObjectEList<Feature>(
+ Feature.class, this, UMLPackage.CLASS__FEATURE,
+ FEATURE_ESUBSETS));
+ }
+ return features;
+ }
+ return new DerivedUnionEObjectEList<Feature>(Feature.class, this,
+ UMLPackage.CLASS__FEATURE, FEATURE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Property> getAttributes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Property> attributes = (EList<Property>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__ATTRIBUTE);
+ if (attributes == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__ATTRIBUTE,
+ attributes = new DerivedUnionEObjectEList<Property>(
+ Property.class, this, UMLPackage.CLASS__ATTRIBUTE,
+ ATTRIBUTE_ESUBSETS));
+ }
+ return attributes;
+ }
+ return new DerivedUnionEObjectEList<Property>(Property.class, this,
+ UMLPackage.CLASS__ATTRIBUTE, ATTRIBUTE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Operation> getOwnedOperations() {
+ return (EList<Operation>) eDynamicGet(
+ UMLPackage.CLASS__OWNED_OPERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASS__OWNED_OPERATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation createOwnedOperation(String name,
+ EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ Operation newOwnedOperation = (Operation) create(
+ UMLPackage.Literals.OPERATION);
+ getOwnedOperations().add(newOwnedOperation);
+ if (name != null)
+ newOwnedOperation.setName(name);
+ int ownedParameterListSize = 0;
+ int ownedParameterNamesSize = ownedParameterNames == null
+ ? 0
+ : ownedParameterNames.size();
+ if (ownedParameterNamesSize > ownedParameterListSize)
+ ownedParameterListSize = ownedParameterNamesSize;
+ int ownedParameterTypesSize = ownedParameterTypes == null
+ ? 0
+ : ownedParameterTypes.size();
+ if (ownedParameterTypesSize > ownedParameterListSize)
+ ownedParameterListSize = ownedParameterTypesSize;
+ for (int i = 0; i < ownedParameterListSize; i++) {
+ newOwnedOperation.createOwnedParameter(i < ownedParameterNamesSize
+ ? (String) ownedParameterNames.get(i)
+ : null,
+ i < ownedParameterTypesSize
+ ? (Type) ownedParameterTypes.get(i)
+ : null);
+ }
+ return newOwnedOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOwnedOperation(String name,
+ EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ return getOwnedOperation(name, ownedParameterNames, ownedParameterTypes,
+ false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOwnedOperation(String name,
+ EList<String> ownedParameterNames, EList<Type> ownedParameterTypes,
+ boolean ignoreCase, boolean createOnDemand) {
+ ownedOperationLoop : for (Operation ownedOperation : getOwnedOperations()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedOperation.getName())
+ : name.equals(ownedOperation.getName())))
+ continue ownedOperationLoop;
+ EList<Parameter> ownedParameterList = ownedOperation
+ .getOwnedParameters();
+ int ownedParameterListSize = ownedParameterList.size();
+ if (ownedParameterNames != null
+ && ownedParameterNames.size() != ownedParameterListSize
+ || (ownedParameterTypes != null
+ && ownedParameterTypes.size() != ownedParameterListSize))
+ continue ownedOperationLoop;
+ for (int j = 0; j < ownedParameterListSize; j++) {
+ Parameter ownedParameter = ownedParameterList.get(j);
+ if (ownedParameterNames != null && !(ignoreCase
+ ? (ownedParameterNames.get(j))
+ .equalsIgnoreCase(ownedParameter.getName())
+ : ownedParameterNames.get(j)
+ .equals(ownedParameter.getName())))
+ continue ownedOperationLoop;
+ if (ownedParameterTypes != null && !ownedParameterTypes.get(j)
+ .equals(ownedParameter.getType()))
+ continue ownedOperationLoop;
+ }
+ return ownedOperation;
+ }
+ return createOnDemand
+ ? createOwnedOperation(name, ownedParameterNames,
+ ownedParameterTypes)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getNestedClassifiers() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.CLASS__NESTED_CLASSIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASS__NESTED_CLASSIFIER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier createNestedClassifier(String name, EClass eClass) {
+ Classifier newNestedClassifier = (Classifier) create(eClass);
+ getNestedClassifiers().add(newNestedClassifier);
+ if (name != null)
+ newNestedClassifier.setName(name);
+ return newNestedClassifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getNestedClassifier(String name) {
+ return getNestedClassifier(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getNestedClassifier(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ nestedClassifierLoop : for (Classifier nestedClassifier : getNestedClassifiers()) {
+ if (eClass != null && !eClass.isInstance(nestedClassifier))
+ continue nestedClassifierLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(nestedClassifier.getName())
+ : name.equals(nestedClassifier.getName())))
+ continue nestedClassifierLoop;
+ return nestedClassifier;
+ }
+ return createOnDemand && eClass != null
+ ? createNestedClassifier(name, eClass)
+ : null;
+ }
+
+ protected static class SuperClassEList
+ extends DerivedSubsetEObjectEList<Object> {
+
+ protected SuperClassEList(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] sourceFeatureIDs) {
+ super(dataClass, owner, featureID, sourceFeatureIDs);
+ }
+
+ @Override
+ public List<Object> basicList() {
+ return new SuperClassEList(dataClass, owner, featureID,
+ sourceFeatureIDs) {
+
+ @Override
+ public ListIterator<Object> listIterator(int index) {
+ return basicListIterator(index);
+ }
+ };
+ }
+
+ @Override
+ protected boolean isIncluded(EStructuralFeature feature) {
+ return false;
+ }
+
+ @Override
+ protected Object derive(Object object) {
+ return ((Generalization) object).getGeneral();
+ }
+
+ @Override
+ protected Generalization validate(int index, Object object) {
+ Generalization generalization = UMLFactory.eINSTANCE
+ .createGeneralization();
+ generalization
+ .setGeneral((Classifier) super.validate(index, object));
+ return generalization;
+ }
+
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getSuperClasses() <em>Super Class</em>}' reference list.
+ * @see #getSuperClasses()
+ */
+ protected static final int[] SUPER_CLASS_ESUPERSETS = new int[]{
+ UMLPackage.CLASS__GENERALIZATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @SuppressWarnings("unchecked")
+ public EList<org.eclipse.uml2.uml.Class> getSuperClasses() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ EList<org.eclipse.uml2.uml.Class> superClasses = (EList<org.eclipse.uml2.uml.Class>) cache
+ .get(eResource, this, UMLPackage.Literals.CLASS__SUPER_CLASS);
+ if (superClasses == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASS__SUPER_CLASS,
+ superClasses = (EList<org.eclipse.uml2.uml.Class>) ((EList<?>) new SuperClassEList(
+ org.eclipse.uml2.uml.Class.class, this,
+ UMLPackage.CLASS__SUPER_CLASS,
+ SUPER_CLASS_ESUPERSETS)));
+ }
+ return superClasses;
+ }
+ return (EList<org.eclipse.uml2.uml.Class>) ((EList<?>) new SuperClassEList(
+ org.eclipse.uml2.uml.Class.class, this,
+ UMLPackage.CLASS__SUPER_CLASS, SUPER_CLASS_ESUPERSETS));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getSuperClass(String name) {
+ return getSuperClass(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getSuperClass(String name,
+ boolean ignoreCase, EClass eClass) {
+ superClassLoop : for (org.eclipse.uml2.uml.Class superClass : getSuperClasses()) {
+ if (eClass != null && !eClass.isInstance(superClass))
+ continue superClassLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(superClass.getName())
+ : name.equals(superClass.getName())))
+ continue superClassLoop;
+ return superClass;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSuperClasses() {
+ return !getSuperClasses().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isActive() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.CLASS__IS_ACTIVE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASS__IS_ACTIVE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsActive(boolean newIsActive) {
+ eDynamicSet(UMLPackage.CLASS__IS_ACTIVE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASS__IS_ACTIVE, newIsActive);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Reception> getOwnedReceptions() {
+ return (EList<Reception>) eDynamicGet(
+ UMLPackage.CLASS__OWNED_RECEPTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASS__OWNED_RECEPTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Reception createOwnedReception(String name,
+ EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ Reception newOwnedReception = (Reception) create(
+ UMLPackage.Literals.RECEPTION);
+ getOwnedReceptions().add(newOwnedReception);
+ if (name != null)
+ newOwnedReception.setName(name);
+ int ownedParameterListSize = 0;
+ int ownedParameterNamesSize = ownedParameterNames == null
+ ? 0
+ : ownedParameterNames.size();
+ if (ownedParameterNamesSize > ownedParameterListSize)
+ ownedParameterListSize = ownedParameterNamesSize;
+ int ownedParameterTypesSize = ownedParameterTypes == null
+ ? 0
+ : ownedParameterTypes.size();
+ if (ownedParameterTypesSize > ownedParameterListSize)
+ ownedParameterListSize = ownedParameterTypesSize;
+ for (int i = 0; i < ownedParameterListSize; i++) {
+ newOwnedReception.createOwnedParameter(i < ownedParameterNamesSize
+ ? (String) ownedParameterNames.get(i)
+ : null,
+ i < ownedParameterTypesSize
+ ? (Type) ownedParameterTypes.get(i)
+ : null);
+ }
+ return newOwnedReception;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Reception getOwnedReception(String name,
+ EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ return getOwnedReception(name, ownedParameterNames, ownedParameterTypes,
+ false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Reception getOwnedReception(String name,
+ EList<String> ownedParameterNames, EList<Type> ownedParameterTypes,
+ boolean ignoreCase, boolean createOnDemand) {
+ ownedReceptionLoop : for (Reception ownedReception : getOwnedReceptions()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedReception.getName())
+ : name.equals(ownedReception.getName())))
+ continue ownedReceptionLoop;
+ EList<Parameter> ownedParameterList = ownedReception
+ .getOwnedParameters();
+ int ownedParameterListSize = ownedParameterList.size();
+ if (ownedParameterNames != null
+ && ownedParameterNames.size() != ownedParameterListSize
+ || (ownedParameterTypes != null
+ && ownedParameterTypes.size() != ownedParameterListSize))
+ continue ownedReceptionLoop;
+ for (int j = 0; j < ownedParameterListSize; j++) {
+ Parameter ownedParameter = ownedParameterList.get(j);
+ if (ownedParameterNames != null && !(ignoreCase
+ ? (ownedParameterNames.get(j))
+ .equalsIgnoreCase(ownedParameter.getName())
+ : ownedParameterNames.get(j)
+ .equals(ownedParameter.getName())))
+ continue ownedReceptionLoop;
+ if (ownedParameterTypes != null && !ownedParameterTypes.get(j)
+ .equals(ownedParameter.getType()))
+ continue ownedReceptionLoop;
+ }
+ return ownedReception;
+ }
+ return createOnDemand
+ ? createOwnedReception(name, ownedParameterNames,
+ ownedParameterTypes)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Extension> getExtensions() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Extension> result = (EList<Extension>) cache.get(this,
+ UMLPackage.Literals.CLASS__EXTENSION);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.CLASS__EXTENSION,
+ result = ClassOperations.getExtensions(this));
+ }
+ return result;
+ }
+ return ClassOperations.getExtensions(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Extension getExtension(String name) {
+ return getExtension(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Extension getExtension(String name, boolean ignoreCase) {
+ extensionLoop : for (Extension extension : getExtensions()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(extension.getName())
+ : name.equals(extension.getName())))
+ continue extensionLoop;
+ return extension;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Property> getOwnedAttributes() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.CLASS__OWNED_ATTRIBUTE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Property createOwnedAttribute(String name, Type type,
+ EClass eClass) {
+ Property newOwnedAttribute = (Property) create(eClass);
+ getOwnedAttributes().add(newOwnedAttribute);
+ if (name != null)
+ newOwnedAttribute.setName(name);
+ if (type != null)
+ newOwnedAttribute.setType(type);
+ return newOwnedAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Property createOwnedAttribute(String name, Type type) {
+ return createOwnedAttribute(name, type, UMLPackage.Literals.PROPERTY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Property getOwnedAttribute(String name, Type type) {
+ return getOwnedAttribute(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Property getOwnedAttribute(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ ownedAttributeLoop : for (Property ownedAttribute : getOwnedAttributes()) {
+ if (eClass != null && !eClass.isInstance(ownedAttribute))
+ continue ownedAttributeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedAttribute.getName())
+ : name.equals(ownedAttribute.getName())))
+ continue ownedAttributeLoop;
+ if (type != null && !type.equals(ownedAttribute.getType()))
+ continue ownedAttributeLoop;
+ return ownedAttribute;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedAttribute(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetOwnedAttributes() {
+ return !getOwnedAttributes().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isAbstract() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.CLASS__IS_ABSTRACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__IS_ABSTRACT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setIsAbstract(boolean newIsAbstract) {
+ eDynamicSet(UMLPackage.CLASS__IS_ABSTRACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__IS_ABSTRACT, newIsAbstract);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetIsAbstract() {
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClassBehavior(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return BehavioredClassifierOperations.validateClassBehavior(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> getImplementedInterfaces() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER___GET_IMPLEMENTED_INTERFACES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER___GET_IMPLEMENTED_INTERFACES,
+ result = BehavioredClassifierOperations
+ .getImplementedInterfaces(this));
+ }
+ return result;
+ }
+ return BehavioredClassifierOperations.getImplementedInterfaces(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> getAllImplementedInterfaces() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER___GET_ALL_IMPLEMENTED_INTERFACES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER___GET_ALL_IMPLEMENTED_INTERFACES,
+ result = BehavioredClassifierOperations
+ .getAllImplementedInterfaces(this));
+ }
+ return result;
+ }
+ return BehavioredClassifierOperations.getAllImplementedInterfaces(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePassiveClass(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClassOperations.validatePassiveClass(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation createOwnedOperation(String name,
+ EList<String> parameterNames, EList<Type> parameterTypes,
+ Type returnType) {
+ return ClassOperations.createOwnedOperation(this, name, parameterNames,
+ parameterTypes, returnType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMetaclass() {
+ return ClassOperations.isMetaclass(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CLASS__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASS__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASS__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASS__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASS__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.CLASS__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.CLASS__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASS__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - UMLPackage.CLASS__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.CLASS__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASS__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASS__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASS__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASS__INTERFACE_REALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInterfaceRealizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASS__OWNED_OPERATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedOperations())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CLASS__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CLASS__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.CLASS__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.CLASS__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.CLASS__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CLASS__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__OWNED_CONNECTOR :
+ return ((InternalEList<?>) getOwnedConnectors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__INTERFACE_REALIZATION :
+ return ((InternalEList<?>) getInterfaceRealizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__OWNED_BEHAVIOR :
+ return ((InternalEList<?>) getOwnedBehaviors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__NESTED_CLASSIFIER :
+ return ((InternalEList<?>) getNestedClassifiers())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASS__OWNED_RECEPTION :
+ return ((InternalEList<?>) getOwnedReceptions())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CLASS__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CLASS__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CLASS__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CLASS__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CLASS__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CLASS__NAME :
+ return getName();
+ case UMLPackage.CLASS__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CLASS__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CLASS__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CLASS__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CLASS__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.CLASS__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.CLASS__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.CLASS__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.CLASS__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.CLASS__MEMBER :
+ return getMembers();
+ case UMLPackage.CLASS__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.CLASS__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.CLASS__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.CLASS__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.CLASS__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.CLASS__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.CLASS__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.CLASS__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.CLASS__FEATURE :
+ return getFeatures();
+ case UMLPackage.CLASS__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.CLASS__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.CLASS__GENERAL :
+ return getGenerals();
+ case UMLPackage.CLASS__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.CLASS__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.CLASS__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.CLASS__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.CLASS__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.CLASS__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.CLASS__USE_CASE :
+ return getUseCases();
+ case UMLPackage.CLASS__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.CLASS__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.CLASS__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.CLASS__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.CLASS__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.CLASS__PART :
+ return getParts();
+ case UMLPackage.CLASS__ROLE :
+ return getRoles();
+ case UMLPackage.CLASS__OWNED_PORT :
+ return getOwnedPorts();
+ case UMLPackage.CLASS__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.CLASS__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.CLASS__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ case UMLPackage.CLASS__OWNED_OPERATION :
+ return getOwnedOperations();
+ case UMLPackage.CLASS__EXTENSION :
+ return getExtensions();
+ case UMLPackage.CLASS__IS_ACTIVE :
+ return isActive();
+ case UMLPackage.CLASS__NESTED_CLASSIFIER :
+ return getNestedClassifiers();
+ case UMLPackage.CLASS__OWNED_RECEPTION :
+ return getOwnedReceptions();
+ case UMLPackage.CLASS__SUPER_CLASS :
+ return getSuperClasses();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CLASS__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CLASS__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CLASS__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CLASS__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CLASS__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CLASS__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CLASS__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.CLASS__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.CLASS__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.CLASS__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.CLASS__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.CLASS__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.CLASS__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.CLASS__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.CLASS__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.CLASS__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.CLASS__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.CLASS__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.CLASS__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.CLASS__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.CLASS__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.CLASS__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.CLASS__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.CLASS__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.CLASS__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.CLASS__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.CLASS__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.CLASS__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.CLASS__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.CLASS__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.CLASS__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ case UMLPackage.CLASS__IS_ACTIVE :
+ setIsActive((Boolean) newValue);
+ return;
+ case UMLPackage.CLASS__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ getNestedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.CLASS__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ getOwnedReceptions()
+ .addAll((Collection<? extends Reception>) newValue);
+ return;
+ case UMLPackage.CLASS__SUPER_CLASS :
+ getSuperClasses().clear();
+ getSuperClasses().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Class>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CLASS__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CLASS__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CLASS__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CLASS__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CLASS__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CLASS__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.CLASS__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.CLASS__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.CLASS__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.CLASS__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.CLASS__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.CLASS__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.CLASS__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.CLASS__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.CLASS__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.CLASS__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.CLASS__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.CLASS__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.CLASS__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.CLASS__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.CLASS__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.CLASS__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.CLASS__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.CLASS__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.CLASS__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.CLASS__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.CLASS__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ case UMLPackage.CLASS__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.CLASS__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.CLASS__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ case UMLPackage.CLASS__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ case UMLPackage.CLASS__IS_ACTIVE :
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ case UMLPackage.CLASS__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ return;
+ case UMLPackage.CLASS__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ return;
+ case UMLPackage.CLASS__SUPER_CLASS :
+ getSuperClasses().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CLASS__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CLASS__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CLASS__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CLASS__OWNER :
+ return isSetOwner();
+ case UMLPackage.CLASS__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CLASS__NAME :
+ return isSetName();
+ case UMLPackage.CLASS__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CLASS__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CLASS__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CLASS__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CLASS__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.CLASS__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.CLASS__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.CLASS__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.CLASS__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.CLASS__MEMBER :
+ return isSetMembers();
+ case UMLPackage.CLASS__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.CLASS__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.CLASS__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.CLASS__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.CLASS__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.CLASS__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.CLASS__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.CLASS__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.CLASS__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.CLASS__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.CLASS__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.CLASS__GENERAL :
+ return isSetGenerals();
+ case UMLPackage.CLASS__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.CLASS__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.CLASS__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.CLASS__IS_ABSTRACT :
+ return isSetIsAbstract();
+ case UMLPackage.CLASS__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.CLASS__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.CLASS__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.CLASS__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.CLASS__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.CLASS__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.CLASS__OWNED_ATTRIBUTE :
+ return isSetOwnedAttributes();
+ case UMLPackage.CLASS__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.CLASS__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.CLASS__ROLE :
+ return isSetRoles();
+ case UMLPackage.CLASS__OWNED_PORT :
+ return !getOwnedPorts().isEmpty();
+ case UMLPackage.CLASS__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.CLASS__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.CLASS__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ case UMLPackage.CLASS__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ case UMLPackage.CLASS__EXTENSION :
+ return !getExtensions().isEmpty();
+ case UMLPackage.CLASS__IS_ACTIVE :
+ return isActive() != IS_ACTIVE_EDEFAULT;
+ case UMLPackage.CLASS__NESTED_CLASSIFIER :
+ return !getNestedClassifiers().isEmpty();
+ case UMLPackage.CLASS__OWNED_RECEPTION :
+ return !getOwnedReceptions().isEmpty();
+ case UMLPackage.CLASS__SUPER_CLASS :
+ return isSetSuperClasses();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == BehavioredClassifier.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.CLASS__CLASSIFIER_BEHAVIOR :
+ return UMLPackage.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR;
+ case UMLPackage.CLASS__INTERFACE_REALIZATION :
+ return UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION;
+ case UMLPackage.CLASS__OWNED_BEHAVIOR :
+ return UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == BehavioredClassifier.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR :
+ return UMLPackage.CLASS__CLASSIFIER_BEHAVIOR;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION :
+ return UMLPackage.CLASS__INTERFACE_REALIZATION;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR :
+ return UMLPackage.CLASS__OWNED_BEHAVIOR;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == BehavioredClassifier.class) {
+ switch (baseOperationID) {
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.CLASS___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_ALL_IMPLEMENTED_INTERFACES :
+ return UMLPackage.CLASS___GET_ALL_IMPLEMENTED_INTERFACES;
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_IMPLEMENTED_INTERFACES :
+ return UMLPackage.CLASS___GET_IMPLEMENTED_INTERFACES;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CLASS___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CLASS___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CLASS___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CLASS___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CLASS___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CLASS___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CLASS___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CLASS___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CLASS___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CLASS___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CLASS___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLASS___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CLASS___GET_MODEL :
+ return getModel();
+ case UMLPackage.CLASS___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CLASS___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CLASS___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CLASS___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CLASS___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CLASS___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CLASS___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CLASS___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CLASS___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CLASS___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CLASS___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CLASS___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLASS___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CLASS___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLASS___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CLASS___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CLASS___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CLASS___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CLASS___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CLASS___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CLASS___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CLASS___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CLASS___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CLASS___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CLASS___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CLASS___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CLASS___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CLASS___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CLASS___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CLASS___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CLASS___SEPARATOR :
+ return separator();
+ case UMLPackage.CLASS___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CLASS___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.CLASS___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.CLASS___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.CLASS___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.CLASS___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.CLASS___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.CLASS___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.CLASS___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.CLASS___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.CLASS___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.CLASS___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.CLASS___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.CLASS___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.CLASS___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.CLASS___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.CLASS___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.CLASS___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.CLASS___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.CLASS___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.CLASS___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.CLASS___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.CLASS___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.CLASS___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.CLASS___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.CLASS___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.CLASS___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.CLASS___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.CLASS___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.CLASS___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.CLASS___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.CLASS___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.CLASS___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.CLASS___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.CLASS___PARENTS :
+ return parents();
+ case UMLPackage.CLASS___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.CLASS___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.CLASS___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.CLASS___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.CLASS___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.CLASS___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.CLASS___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.CLASS___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.CLASS___GET_PARTS :
+ return getParts();
+ case UMLPackage.CLASS___ALL_ROLES :
+ return allRoles();
+ case UMLPackage.CLASS___GET_OWNED_PORTS :
+ return getOwnedPorts();
+ case UMLPackage.CLASS___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.CLASS___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ case UMLPackage.CLASS___VALIDATE_PASSIVE_CLASS__DIAGNOSTICCHAIN_MAP :
+ return validatePassiveClass((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASS___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ case UMLPackage.CLASS___IS_METACLASS :
+ return isMetaclass();
+ case UMLPackage.CLASS___GET_EXTENSIONS :
+ return getExtensions();
+ case UMLPackage.CLASS___GET_SUPER_CLASSES :
+ return getSuperClasses();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers() || isSetOwnedAttributes()
+ || eIsSet(UMLPackage.CLASS__OWNED_BEHAVIOR)
+ || eIsSet(UMLPackage.CLASS__OWNED_OPERATION)
+ || eIsSet(UMLPackage.CLASS__NESTED_CLASSIFIER)
+ || eIsSet(UMLPackage.CLASS__OWNED_RECEPTION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.CLASS__OWNED_COMMENT, UMLPackage.CLASS__NAME_EXPRESSION,
+ UMLPackage.CLASS__ELEMENT_IMPORT, UMLPackage.CLASS__PACKAGE_IMPORT,
+ UMLPackage.CLASS__OWNED_MEMBER, UMLPackage.CLASS__TEMPLATE_BINDING,
+ UMLPackage.CLASS__OWNED_TEMPLATE_SIGNATURE,
+ UMLPackage.CLASS__COLLABORATION_USE, UMLPackage.CLASS__GENERALIZATION,
+ UMLPackage.CLASS__SUBSTITUTION,
+ UMLPackage.CLASS__INTERFACE_REALIZATION};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.CLASS__OWNED_RULE, UMLPackage.CLASS__OWNED_USE_CASE,
+ UMLPackage.CLASS__OWNED_ATTRIBUTE, UMLPackage.CLASS__OWNED_CONNECTOR,
+ UMLPackage.CLASS__OWNED_BEHAVIOR, UMLPackage.CLASS__OWNED_OPERATION,
+ UMLPackage.CLASS__NESTED_CLASSIFIER, UMLPackage.CLASS__OWNED_RECEPTION};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedBehaviors() <em>Owned Behavior</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedBehaviors()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_BEHAVIOR_ESUBSETS = new int[]{
+ UMLPackage.CLASS__CLASSIFIER_BEHAVIOR};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior createOwnedBehavior(String name, EClass eClass) {
+ Behavior newOwnedBehavior = (Behavior) create(eClass);
+ getOwnedBehaviors().add(newOwnedBehavior);
+ if (name != null)
+ newOwnedBehavior.setName(name);
+ return newOwnedBehavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getOwnedBehavior(String name) {
+ return getOwnedBehavior(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getOwnedBehavior(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ ownedBehaviorLoop : for (Behavior ownedBehavior : getOwnedBehaviors()) {
+ if (eClass != null && !eClass.isInstance(ownedBehavior))
+ continue ownedBehaviorLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedBehavior.getName())
+ : name.equals(ownedBehavior.getName())))
+ continue ownedBehaviorLoop;
+ return ownedBehavior;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedBehavior(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterfaceRealization createInterfaceRealization(String name,
+ Interface contract) {
+ InterfaceRealization newInterfaceRealization = (InterfaceRealization) create(
+ UMLPackage.Literals.INTERFACE_REALIZATION);
+ getInterfaceRealizations().add(newInterfaceRealization);
+ if (name != null)
+ newInterfaceRealization.setName(name);
+ if (contract != null)
+ newInterfaceRealization.setContract(contract);
+ return newInterfaceRealization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterfaceRealization getInterfaceRealization(String name,
+ Interface contract) {
+ return getInterfaceRealization(name, contract, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterfaceRealization getInterfaceRealization(String name,
+ Interface contract, boolean ignoreCase, boolean createOnDemand) {
+ interfaceRealizationLoop : for (InterfaceRealization interfaceRealization : getInterfaceRealizations()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(interfaceRealization.getName())
+ : name.equals(interfaceRealization.getName())))
+ continue interfaceRealizationLoop;
+ if (contract != null
+ && !contract.equals(interfaceRealization.getContract()))
+ continue interfaceRealizationLoop;
+ return interfaceRealization;
+ }
+ return createOnDemand
+ ? createInterfaceRealization(name, contract)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.CLASS__INTERFACE_REALIZATION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getFeatures() <em>Feature</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeatures()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] FEATURE_ESUBSETS = new int[]{
+ UMLPackage.CLASS__ATTRIBUTE, UMLPackage.CLASS__OWNED_CONNECTOR,
+ UMLPackage.CLASS__OWNED_OPERATION, UMLPackage.CLASS__OWNED_RECEPTION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetFeatures() {
+ return super.isSetFeatures()
+ || eIsSet(UMLPackage.CLASS__OWNED_OPERATION)
+ || eIsSet(UMLPackage.CLASS__OWNED_RECEPTION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getAttributes() <em>Attribute</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributes()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] ATTRIBUTE_ESUBSETS = new int[]{
+ UMLPackage.CLASS__OWNED_ATTRIBUTE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetAttributes() {
+ return super.isSetAttributes() || isSetOwnedAttributes();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Classifier> getGenerals() {
+ @SuppressWarnings("unchecked")
+ EList<Classifier> superClass = (EList<Classifier>) ((EList<?>) getSuperClasses());
+ return superClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetGenerals() {
+ return false;
+ }
+
+} //ClassImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClassifierImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClassifierImpl.java
new file mode 100644
index 00000000..821f9317
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClassifierImpl.java
@@ -0,0 +1,3268 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 212765, 418466, 454400, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedEObjectEList;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentEList;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TemplateableElement;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.ClassifierOperations;
+import org.eclipse.uml2.uml.internal.operations.PackageableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.ParameterableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.RedefinableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.TemplateableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.TypeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Classifier</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getRedefinedElements <em>Redefined Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getRedefinitionContexts <em>Redefinition Context</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#isLeaf <em>Is Leaf</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getTemplateParameter <em>Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getOwningTemplateParameter <em>Owning Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getVisibility <em>Visibility</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getPackage <em>Package</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getTemplateBindings <em>Template Binding</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getOwnedTemplateSignature <em>Owned Template Signature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getFeatures <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getMembers <em>Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getAttributes <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getCollaborationUses <em>Collaboration Use</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getGenerals <em>General</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getGeneralizations <em>Generalization</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getPowertypeExtents <em>Powertype Extent</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getInheritedMembers <em>Inherited Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#isAbstract <em>Is Abstract</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#isFinalSpecialization <em>Is Final Specialization</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getOwnedUseCases <em>Owned Use Case</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getUseCases <em>Use Case</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getRedefinedClassifiers <em>Redefined Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getRepresentation <em>Representation</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierImpl#getSubstitutions <em>Substitution</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ClassifierImpl
+ extends NamespaceImpl
+ implements Classifier {
+
+ /**
+ * The default value of the '{@link #isLeaf() <em>Is Leaf</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLeaf()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_LEAF_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isAbstract() <em>Is Abstract</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isAbstract()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ABSTRACT_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isFinalSpecialization() <em>Is Final Specialization</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isFinalSpecialization()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_FINAL_SPECIALIZATION_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassifierImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CLASSIFIER;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.CLASSIFIER__COLLABORATION_USE) {
+ return createCollaborationUsesList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RedefinableElement> getRedefinedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<RedefinableElement> redefinedElements = (EList<RedefinableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT);
+ if (redefinedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT,
+ redefinedElements = new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.CLASSIFIER__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS));
+ }
+ return redefinedElements;
+ }
+ return new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.CLASSIFIER__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Classifier> getRedefinitionContextsGen() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> redefinitionContexts = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+ if (redefinitionContexts == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.CLASSIFIER__REDEFINITION_CONTEXT, null));
+ }
+ return redefinitionContexts;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.CLASSIFIER__REDEFINITION_CONTEXT, null);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinitionContexts() <em>Redefinition Context</em>}' reference list.
+ * @see #getRedefinitionContexts()
+ */
+ protected static final int[] REDEFINITION_CONTEXT_ESUBSETS = new int[]{
+ UMLPackage.CLASSIFIER__NAMESPACE};
+
+ public EList<Classifier> getRedefinitionContexts() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> redefinitionContexts = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+ if (redefinitionContexts == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts = new DerivedEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.CLASSIFIER__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS));
+ }
+ return redefinitionContexts;
+ }
+ return new DerivedEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.CLASSIFIER__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinitionContext(String name) {
+ return getRedefinitionContext(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinitionContext(String name, boolean ignoreCase,
+ EClass eClass) {
+ redefinitionContextLoop : for (Classifier redefinitionContext : getRedefinitionContexts()) {
+ if (eClass != null && !eClass.isInstance(redefinitionContext))
+ continue redefinitionContextLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinitionContext.getName())
+ : name.equals(redefinitionContext.getName())))
+ continue redefinitionContextLoop;
+ return redefinitionContext;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isLeaf() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.CLASSIFIER__IS_LEAF - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__IS_LEAF, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsLeaf(boolean newIsLeaf) {
+ eDynamicSet(UMLPackage.CLASSIFIER__IS_LEAF - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__IS_LEAF, newIsLeaf);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.CLASSIFIER__TEMPLATE_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.CLASSIFIER__TEMPLATE_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemplateParameterGen(
+ TemplateParameter newTemplateParameter, NotificationChain msgs) {
+ if (newTemplateParameter != null
+ && !(newTemplateParameter instanceof ClassifierTemplateParameter)) {
+ throw new IllegalArgumentException(
+ "newTemplateParameter must be an instance of ClassifierTemplateParameter"); //$NON-NLS-1$
+ }
+ msgs = eDynamicInverseAdd((InternalEObject) newTemplateParameter,
+ UMLPackage.CLASSIFIER__TEMPLATE_PARAMETER, msgs);
+ return msgs;
+ }
+
+ public NotificationChain basicSetTemplateParameter(
+ TemplateParameter newTemplateParameter, NotificationChain msgs) {
+ msgs = basicSetTemplateParameterGen(newTemplateParameter, msgs);
+
+ Resource.Internal eInternalResource = eInternalResource();
+
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+
+ if (owningTemplateParameter != null
+ && owningTemplateParameter != newTemplateParameter) {
+
+ setOwningTemplateParameter(null);
+ }
+ }
+
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemplateParameter(TemplateParameter newTemplateParameter) {
+ if (newTemplateParameter != null
+ && !(newTemplateParameter instanceof ClassifierTemplateParameter)) {
+ throw new IllegalArgumentException(
+ "newTemplateParameter must be an instance of ClassifierTemplateParameter"); //$NON-NLS-1$
+ }
+ eDynamicSet(
+ UMLPackage.CLASSIFIER__TEMPLATE_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ newTemplateParameter);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetTemplateParameter() {
+ return basicGetTemplateParameter() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newOwningTemplateParameter,
+ UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter) {
+ eDynamicSet(
+ UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ newOwningTemplateParameter);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public VisibilityKind getVisibility() {
+ return (VisibilityKind) eDynamicGet(
+ UMLPackage.CLASSIFIER__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setVisibility(VisibilityKind newVisibility) {
+ eDynamicSet(UMLPackage.CLASSIFIER__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY, newVisibility);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void unsetVisibility() {
+ eDynamicUnset(UMLPackage.CLASSIFIER__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetVisibility() {
+ return eDynamicIsSet(
+ UMLPackage.CLASSIFIER__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ org.eclipse.uml2.uml.Package package_ = basicGetPackage();
+ if (package_ != null) {
+ return package_;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getPackage() {
+ org.eclipse.uml2.uml.Package package_ = basicGetPackage();
+ return package_ != null && package_.eIsProxy()
+ ? (org.eclipse.uml2.uml.Package) eResolveProxy(
+ (InternalEObject) package_)
+ : package_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public org.eclipse.uml2.uml.Package basicGetPackage() {
+ InternalEObject eInternalContainer = eInternalContainer();
+ return eInternalContainer instanceof org.eclipse.uml2.uml.Package
+ ? (org.eclipse.uml2.uml.Package) eInternalContainer
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void setPackage(org.eclipse.uml2.uml.Package newPackage) {
+ if (newPackage != eInternalContainer()) {
+ if (EcoreUtil.isAncestor(this, newPackage))
+ throw new IllegalArgumentException(
+ "Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newPackage != null)
+ msgs = ((InternalEList<Type>) newPackage.getOwnedTypes())
+ .basicAdd(this, msgs);
+ msgs = eBasicSetContainer((InternalEObject) newPackage,
+ InternalEObject.EOPPOSITE_FEATURE_BASE
+ - UMLPackage.PACKAGE__PACKAGED_ELEMENT,
+ msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ UMLPackage.CLASSIFIER__PACKAGE, newPackage, newPackage));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.CLASSIFIER__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.CLASSIFIER__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<TemplateBinding> getTemplateBindings() {
+ return (EList<TemplateBinding>) eDynamicGet(
+ UMLPackage.CLASSIFIER__TEMPLATE_BINDING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding createTemplateBinding(TemplateSignature signature) {
+ TemplateBinding newTemplateBinding = (TemplateBinding) create(
+ UMLPackage.Literals.TEMPLATE_BINDING);
+ getTemplateBindings().add(newTemplateBinding);
+ if (signature != null)
+ newTemplateBinding.setSignature(signature);
+ return newTemplateBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding getTemplateBinding(TemplateSignature signature) {
+ return getTemplateBinding(signature, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding getTemplateBinding(TemplateSignature signature,
+ boolean createOnDemand) {
+ templateBindingLoop : for (TemplateBinding templateBinding : getTemplateBindings()) {
+ if (signature != null
+ && !signature.equals(templateBinding.getSignature()))
+ continue templateBindingLoop;
+ return templateBinding;
+ }
+ return createOnDemand
+ ? createTemplateBinding(signature)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature getOwnedTemplateSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature basicGetOwnedTemplateSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedTemplateSignature(
+ TemplateSignature newOwnedTemplateSignature,
+ NotificationChain msgs) {
+ if (newOwnedTemplateSignature != null
+ && !(newOwnedTemplateSignature instanceof RedefinableTemplateSignature)) {
+ throw new IllegalArgumentException(
+ "newOwnedTemplateSignature must be an instance of RedefinableTemplateSignature"); //$NON-NLS-1$
+ }
+ msgs = eDynamicInverseAdd((InternalEObject) newOwnedTemplateSignature,
+ UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedTemplateSignature(
+ TemplateSignature newOwnedTemplateSignature) {
+ if (newOwnedTemplateSignature != null
+ && !(newOwnedTemplateSignature instanceof RedefinableTemplateSignature)) {
+ throw new IllegalArgumentException(
+ "newOwnedTemplateSignature must be an instance of RedefinableTemplateSignature"); //$NON-NLS-1$
+ }
+ eDynamicSet(
+ UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ newOwnedTemplateSignature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature createOwnedTemplateSignature(EClass eClass) {
+ TemplateSignature newOwnedTemplateSignature = (TemplateSignature) create(
+ eClass);
+ setOwnedTemplateSignature(newOwnedTemplateSignature);
+ return newOwnedTemplateSignature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public TemplateSignature createOwnedTemplateSignature() {
+ TemplateSignature newOwnedTemplateSignature = UMLFactory.eINSTANCE
+ .createRedefinableTemplateSignature();
+ setOwnedTemplateSignature(newOwnedTemplateSignature);
+ return newOwnedTemplateSignature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetOwnedTemplateSignature() {
+ return basicGetOwnedTemplateSignature() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Feature> getFeatures() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Feature> features = (EList<Feature>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__FEATURE);
+ if (features == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__FEATURE,
+ features = new DerivedUnionEObjectEList<Feature>(
+ Feature.class, this, UMLPackage.CLASSIFIER__FEATURE,
+ FEATURE_ESUBSETS));
+ }
+ return features;
+ }
+ return new DerivedUnionEObjectEList<Feature>(Feature.class, this,
+ UMLPackage.CLASSIFIER__FEATURE, FEATURE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> members = (EList<NamedElement>) cache
+ .get(eResource, this, UMLPackage.Literals.NAMESPACE__MEMBER);
+ if (members == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__MEMBER,
+ members = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this, UMLPackage.CLASSIFIER__MEMBER,
+ MEMBER_ESUBSETS));
+ }
+ return members;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.CLASSIFIER__MEMBER, MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.CLASSIFIER__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.CLASSIFIER__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Property> getAttributes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Property> attributes = (EList<Property>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__ATTRIBUTE);
+ if (attributes == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__ATTRIBUTE,
+ attributes = new DerivedUnionEObjectEList<Property>(
+ Property.class, this, UMLPackage.CLASSIFIER__ATTRIBUTE,
+ null));
+ }
+ return attributes;
+ }
+ return new DerivedUnionEObjectEList<Property>(Property.class, this,
+ UMLPackage.CLASSIFIER__ATTRIBUTE, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getAttribute(String name, Type type) {
+ return getAttribute(name, type, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getAttribute(String name, Type type, boolean ignoreCase,
+ EClass eClass) {
+ attributeLoop : for (Property attribute : getAttributes()) {
+ if (eClass != null && !eClass.isInstance(attribute))
+ continue attributeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(attribute.getName())
+ : name.equals(attribute.getName())))
+ continue attributeLoop;
+ if (type != null && !type.equals(attribute.getType()))
+ continue attributeLoop;
+ return attribute;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<CollaborationUse> getCollaborationUses() {
+ return (EList<CollaborationUse>) eDynamicGet(
+ UMLPackage.CLASSIFIER__COLLABORATION_USE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__COLLABORATION_USE, true, true);
+ }
+
+ private EList<CollaborationUse> createCollaborationUsesList() {
+ return new SubsetSupersetEObjectContainmentEList.Resolving<CollaborationUse>(
+ CollaborationUse.class, this,
+ UMLPackage.CLASSIFIER__COLLABORATION_USE, null,
+ COLLABORATION_USE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isAbstract() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.CLASSIFIER__IS_ABSTRACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__IS_ABSTRACT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsAbstract(boolean newIsAbstract) {
+ eDynamicSet(UMLPackage.CLASSIFIER__IS_ABSTRACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__IS_ABSTRACT, newIsAbstract);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isFinalSpecialization() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.CLASSIFIER__IS_FINAL_SPECIALIZATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__IS_FINAL_SPECIALIZATION, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsFinalSpecialization(boolean newIsFinalSpecialization) {
+ eDynamicSet(
+ UMLPackage.CLASSIFIER__IS_FINAL_SPECIALIZATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__IS_FINAL_SPECIALIZATION,
+ newIsFinalSpecialization);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Generalization> getGeneralizations() {
+ return (EList<Generalization>) eDynamicGet(
+ UMLPackage.CLASSIFIER__GENERALIZATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__GENERALIZATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<GeneralizationSet> getPowertypeExtents() {
+ return (EList<GeneralizationSet>) eDynamicGet(
+ UMLPackage.CLASSIFIER__POWERTYPE_EXTENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__POWERTYPE_EXTENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralizationSet getPowertypeExtent(String name) {
+ return getPowertypeExtent(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralizationSet getPowertypeExtent(String name,
+ boolean ignoreCase) {
+ powertypeExtentLoop : for (GeneralizationSet powertypeExtent : getPowertypeExtents()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(powertypeExtent.getName())
+ : name.equals(powertypeExtent.getName())))
+ continue powertypeExtentLoop;
+ return powertypeExtent;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getInheritedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> result = (EList<NamedElement>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER__INHERITED_MEMBER);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CLASSIFIER__INHERITED_MEMBER,
+ result = ClassifierOperations.getInheritedMembers(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.getInheritedMembers(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getInheritedMember(String name) {
+ return getInheritedMember(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getInheritedMember(String name, boolean ignoreCase,
+ EClass eClass) {
+ inheritedMemberLoop : for (NamedElement inheritedMember : getInheritedMembers()) {
+ if (eClass != null && !eClass.isInstance(inheritedMember))
+ continue inheritedMemberLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(inheritedMember.getName())
+ : name.equals(inheritedMember.getName())))
+ continue inheritedMemberLoop;
+ return inheritedMember;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getRedefinedClassifiers() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.CLASSIFIER__REDEFINED_CLASSIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__REDEFINED_CLASSIFIER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinedClassifier(String name) {
+ return getRedefinedClassifier(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinedClassifier(String name, boolean ignoreCase,
+ EClass eClass) {
+ redefinedClassifierLoop : for (Classifier redefinedClassifier : getRedefinedClassifiers()) {
+ if (eClass != null && !eClass.isInstance(redefinedClassifier))
+ continue redefinedClassifierLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedClassifier.getName())
+ : name.equals(redefinedClassifier.getName())))
+ continue redefinedClassifierLoop;
+ return redefinedClassifier;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Classifier> getGenerals() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Classifier> result = (EList<Classifier>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER__GENERAL);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.CLASSIFIER__GENERAL,
+ result = ClassifierOperations.getGenerals(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.getGenerals(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getGeneral(String name) {
+ return getGeneral(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getGeneral(String name, boolean ignoreCase,
+ EClass eClass) {
+ generalLoop : for (Classifier general : getGenerals()) {
+ if (eClass != null && !eClass.isInstance(general))
+ continue generalLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(general.getName())
+ : name.equals(general.getName())))
+ continue generalLoop;
+ return general;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<UseCase> getOwnedUseCases() {
+ return (EList<UseCase>) eDynamicGet(
+ UMLPackage.CLASSIFIER__OWNED_USE_CASE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__OWNED_USE_CASE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase createOwnedUseCase(String name) {
+ UseCase newOwnedUseCase = (UseCase) create(
+ UMLPackage.Literals.USE_CASE);
+ getOwnedUseCases().add(newOwnedUseCase);
+ if (name != null)
+ newOwnedUseCase.setName(name);
+ return newOwnedUseCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase getOwnedUseCase(String name) {
+ return getOwnedUseCase(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase getOwnedUseCase(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ ownedUseCaseLoop : for (UseCase ownedUseCase : getOwnedUseCases()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedUseCase.getName())
+ : name.equals(ownedUseCase.getName())))
+ continue ownedUseCaseLoop;
+ return ownedUseCase;
+ }
+ return createOnDemand
+ ? createOwnedUseCase(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<UseCase> getUseCases() {
+ return (EList<UseCase>) eDynamicGet(
+ UMLPackage.CLASSIFIER__USE_CASE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__USE_CASE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase getUseCase(String name) {
+ return getUseCase(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase getUseCase(String name, boolean ignoreCase) {
+ useCaseLoop : for (UseCase useCase : getUseCases()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(useCase.getName())
+ : name.equals(useCase.getName())))
+ continue useCaseLoop;
+ return useCase;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Substitution> getSubstitutions() {
+ return (EList<Substitution>) eDynamicGet(
+ UMLPackage.CLASSIFIER__SUBSTITUTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__SUBSTITUTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollaborationUse getRepresentation() {
+ return (CollaborationUse) eDynamicGet(
+ UMLPackage.CLASSIFIER__REPRESENTATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__REPRESENTATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollaborationUse basicGetRepresentation() {
+ return (CollaborationUse) eDynamicGet(
+ UMLPackage.CLASSIFIER__REPRESENTATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__REPRESENTATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRepresentation(CollaborationUse newRepresentation) {
+ eDynamicSet(
+ UMLPackage.CLASSIFIER__REPRESENTATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__REPRESENTATION, newRepresentation);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newRepresentation != null) {
+ EList<CollaborationUse> collaborationUses = getCollaborationUses();
+ if (!collaborationUses.contains(newRepresentation)) {
+ collaborationUses.add(newRepresentation);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollaborationUse createRepresentation(String name) {
+ CollaborationUse newRepresentation = (CollaborationUse) create(
+ UMLPackage.Literals.COLLABORATION_USE);
+ setRepresentation(newRepresentation);
+ if (name != null)
+ newRepresentation.setName(name);
+ return newRepresentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinitionContextValid(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations
+ .validateRedefinitionContextValid(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinitionConsistent(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations.validateRedefinitionConsistent(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNonLeafRedefinition(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations.validateNonLeafRedefinition(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRedefinitionContextValid(
+ RedefinableElement redefinedElement) {
+ return RedefinableElementOperations.isRedefinitionContextValid(this,
+ redefinedElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isConsistentWith(RedefinableElement redefiningElement) {
+ return RedefinableElementOperations.isConsistentWith(this,
+ redefiningElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCompatibleWith(ParameterableElement p) {
+ return ParameterableElementOperations.isCompatibleWith(this, p);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTemplateParameter() {
+ return ParameterableElementOperations.isTemplateParameter(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNamespaceNeedsVisibility(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PackageableElementOperations
+ .validateNamespaceNeedsVisibility(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Association createAssociation(boolean end1IsNavigable,
+ AggregationKind end1Aggregation, String end1Name, int end1Lower,
+ int end1Upper, Type end1Type, boolean end2IsNavigable,
+ AggregationKind end2Aggregation, String end2Name, int end2Lower,
+ int end2Upper) {
+ return TypeOperations.createAssociation(this, end1IsNavigable,
+ end1Aggregation, end1Name, end1Lower, end1Upper, end1Type,
+ end2IsNavigable, end2Aggregation, end2Name, end2Lower, end2Upper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Association> getAssociations() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Association> result = (EList<Association>) cache.get(this,
+ UMLPackage.Literals.TYPE___GET_ASSOCIATIONS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.TYPE___GET_ASSOCIATIONS,
+ result = TypeOperations.getAssociations(this));
+ }
+ return result;
+ }
+ return TypeOperations.getAssociations(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParameterableElement> parameterableElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<ParameterableElement> result = (EList<ParameterableElement>) cache
+ .get(this,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS,
+ result = TemplateableElementOperations
+ .parameterableElements(this));
+ }
+ return result;
+ }
+ return TemplateableElementOperations.parameterableElements(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTemplate() {
+ return ClassifierOperations.isTemplate(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoCyclesInGeneralization(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClassifierOperations.validateNoCyclesInGeneralization(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSpecializeType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClassifierOperations.validateSpecializeType(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMapsToGeneralizationSet(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClassifierOperations.validateMapsToGeneralizationSet(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNonFinalParents(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClassifierOperations.validateNonFinalParents(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Generalization createGeneralization(Classifier general) {
+ Generalization newGeneralization = (Generalization) create(
+ UMLPackage.Literals.GENERALIZATION);
+ getGeneralizations().add(newGeneralization);
+ if (general != null)
+ newGeneralization.setGeneral(general);
+ return newGeneralization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Generalization getGeneralization(Classifier general) {
+ return getGeneralization(general, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Generalization getGeneralization(Classifier general,
+ boolean createOnDemand) {
+ generalizationLoop : for (Generalization generalization : getGeneralizations()) {
+ if (general != null && !general.equals(generalization.getGeneral()))
+ continue generalizationLoop;
+ return generalization;
+ }
+ return createOnDemand
+ ? createGeneralization(general)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Property> getAllAttributes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Property> result = (EList<Property>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER___GET_ALL_ATTRIBUTES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CLASSIFIER___GET_ALL_ATTRIBUTES,
+ result = ClassifierOperations.getAllAttributes(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.getAllAttributes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Operation> getOperations() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Operation> result = (EList<Operation>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER___GET_OPERATIONS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.CLASSIFIER___GET_OPERATIONS,
+ result = ClassifierOperations.getOperations(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.getOperations(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Operation> getAllOperations() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Operation> result = (EList<Operation>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER___GET_ALL_OPERATIONS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CLASSIFIER___GET_ALL_OPERATIONS,
+ result = ClassifierOperations.getAllOperations(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.getAllOperations(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOperation(String name, EList<String> parameterNames,
+ EList<Type> parameterTypes) {
+ return ClassifierOperations.getOperation(this, name, parameterNames,
+ parameterTypes);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOperation(String name, EList<String> parameterNames,
+ EList<Type> parameterTypes, boolean ignoreCase) {
+ return ClassifierOperations.getOperation(this, name, parameterNames,
+ parameterTypes, ignoreCase);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> getUsedInterfaces() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER___GET_USED_INTERFACES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CLASSIFIER___GET_USED_INTERFACES,
+ result = ClassifierOperations.getUsedInterfaces(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.getUsedInterfaces(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> getAllUsedInterfaces() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER___GET_ALL_USED_INTERFACES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CLASSIFIER___GET_ALL_USED_INTERFACES,
+ result = ClassifierOperations.getAllUsedInterfaces(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.getAllUsedInterfaces(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean maySpecializeType(Classifier c) {
+ return ClassifierOperations.maySpecializeType(this, c);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Feature> allFeatures() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Feature> result = (EList<Feature>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER___ALL_FEATURES);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.CLASSIFIER___ALL_FEATURES,
+ result = ClassifierOperations.allFeatures(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.allFeatures(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Classifier> parents() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Classifier> result = (EList<Classifier>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER___PARENTS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.CLASSIFIER___PARENTS,
+ result = ClassifierOperations.parents(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.parents(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> directlyRealizedInterfaces() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER___DIRECTLY_REALIZED_INTERFACES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CLASSIFIER___DIRECTLY_REALIZED_INTERFACES,
+ result = ClassifierOperations
+ .directlyRealizedInterfaces(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.directlyRealizedInterfaces(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> directlyUsedInterfaces() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER___DIRECTLY_USED_INTERFACES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CLASSIFIER___DIRECTLY_USED_INTERFACES,
+ result = ClassifierOperations.directlyUsedInterfaces(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.directlyUsedInterfaces(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> allRealizedInterfaces() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER___ALL_REALIZED_INTERFACES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CLASSIFIER___ALL_REALIZED_INTERFACES,
+ result = ClassifierOperations.allRealizedInterfaces(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.allRealizedInterfaces(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> allUsedInterfaces() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER___ALL_USED_INTERFACES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CLASSIFIER___ALL_USED_INTERFACES,
+ result = ClassifierOperations.allUsedInterfaces(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.allUsedInterfaces(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSubstitutableFor(Classifier contract) {
+ return ClassifierOperations.isSubstitutableFor(this, contract);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Property> allAttributes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Property> result = (EList<Property>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER___ALL_ATTRIBUTES);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.CLASSIFIER___ALL_ATTRIBUTES,
+ result = ClassifierOperations.allAttributes(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.allAttributes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<StructuralFeature> allSlottableFeatures() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<StructuralFeature> result = (EList<StructuralFeature>) cache
+ .get(this,
+ UMLPackage.Literals.CLASSIFIER___ALL_SLOTTABLE_FEATURES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CLASSIFIER___ALL_SLOTTABLE_FEATURES,
+ result = ClassifierOperations.allSlottableFeatures(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.allSlottableFeatures(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> inheritableMembers(Classifier c) {
+ return ClassifierOperations.inheritableMembers(this, c);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean hasVisibilityOf(NamedElement n) {
+ return ClassifierOperations.hasVisibilityOf(this, n);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> inherit(EList<NamedElement> inhs) {
+ return ClassifierOperations.inherit(this, inhs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Classifier> allParents() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Classifier> result = (EList<Classifier>) cache.get(this,
+ UMLPackage.Literals.CLASSIFIER___ALL_PARENTS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.CLASSIFIER___ALL_PARENTS,
+ result = ClassifierOperations.allParents(this));
+ }
+ return result;
+ }
+ return ClassifierOperations.allParents(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CLASSIFIER__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.CLASSIFIER__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CLASSIFIER__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CLASSIFIER__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.CLASSIFIER__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.CLASSIFIER__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.CLASSIFIER__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CLASSIFIER__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CLASSIFIER__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CLASSIFIER__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CLASSIFIER__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CLASSIFIER__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CLASSIFIER__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CLASSIFIER__NAME :
+ return getName();
+ case UMLPackage.CLASSIFIER__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CLASSIFIER__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CLASSIFIER__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CLASSIFIER__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CLASSIFIER__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.CLASSIFIER__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.CLASSIFIER__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.CLASSIFIER__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.CLASSIFIER__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.CLASSIFIER__MEMBER :
+ return getMembers();
+ case UMLPackage.CLASSIFIER__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.CLASSIFIER__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.CLASSIFIER__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.CLASSIFIER__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.CLASSIFIER__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.CLASSIFIER__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.CLASSIFIER__FEATURE :
+ return getFeatures();
+ case UMLPackage.CLASSIFIER__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.CLASSIFIER__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.CLASSIFIER__GENERAL :
+ return getGenerals();
+ case UMLPackage.CLASSIFIER__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.CLASSIFIER__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.CLASSIFIER__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.CLASSIFIER__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.CLASSIFIER__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.CLASSIFIER__USE_CASE :
+ return getUseCases();
+ case UMLPackage.CLASSIFIER__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.CLASSIFIER__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.CLASSIFIER__SUBSTITUTION :
+ return getSubstitutions();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CLASSIFIER__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.CLASSIFIER__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CLASSIFIER__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CLASSIFIER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CLASSIFIER__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CLASSIFIER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CLASSIFIER__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CLASSIFIER__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.CLASSIFIER__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.CLASSIFIER__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.CLASSIFIER__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.CLASSIFIER__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.CLASSIFIER__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.CLASSIFIER__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.CLASSIFIER__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.CLASSIFIER__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.CLASSIFIER__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.CLASSIFIER__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.CLASSIFIER__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.CLASSIFIER__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.CLASSIFIER__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.CLASSIFIER__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.CLASSIFIER__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.CLASSIFIER__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CLASSIFIER__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CLASSIFIER__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CLASSIFIER__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CLASSIFIER__OWNER :
+ return isSetOwner();
+ case UMLPackage.CLASSIFIER__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CLASSIFIER__NAME :
+ return isSetName();
+ case UMLPackage.CLASSIFIER__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CLASSIFIER__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CLASSIFIER__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CLASSIFIER__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CLASSIFIER__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.CLASSIFIER__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.CLASSIFIER__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.CLASSIFIER__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.CLASSIFIER__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.CLASSIFIER__MEMBER :
+ return isSetMembers();
+ case UMLPackage.CLASSIFIER__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.CLASSIFIER__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.CLASSIFIER__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.CLASSIFIER__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.CLASSIFIER__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.CLASSIFIER__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.CLASSIFIER__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.CLASSIFIER__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.CLASSIFIER__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.CLASSIFIER__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.CLASSIFIER__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.CLASSIFIER__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.CLASSIFIER__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.CLASSIFIER__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.CLASSIFIER__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.CLASSIFIER__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.CLASSIFIER__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.CLASSIFIER__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.CLASSIFIER__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.CLASSIFIER__IS_LEAF :
+ return UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF;
+ case UMLPackage.CLASSIFIER__REDEFINED_ELEMENT :
+ return UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT;
+ case UMLPackage.CLASSIFIER__REDEFINITION_CONTEXT :
+ return UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == ParameterableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.CLASSIFIER__TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == PackageableElement.class) {
+ switch (derivedFeatureID) {
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == Type.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.CLASSIFIER__PACKAGE :
+ return UMLPackage.TYPE__PACKAGE;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == TemplateableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.CLASSIFIER__TEMPLATE_BINDING :
+ return UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING;
+ case UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ return UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF :
+ return UMLPackage.CLASSIFIER__IS_LEAF;
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT :
+ return UMLPackage.CLASSIFIER__REDEFINED_ELEMENT;
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT :
+ return UMLPackage.CLASSIFIER__REDEFINITION_CONTEXT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == ParameterableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return UMLPackage.CLASSIFIER__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == PackageableElement.class) {
+ switch (baseFeatureID) {
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == Type.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.TYPE__PACKAGE :
+ return UMLPackage.CLASSIFIER__PACKAGE;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == TemplateableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING :
+ return UMLPackage.CLASSIFIER__TEMPLATE_BINDING;
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE :
+ return UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.CLASSIFIER___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.CLASSIFIER___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.CLASSIFIER___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return UMLPackage.CLASSIFIER___IS_CONSISTENT_WITH__REDEFINABLEELEMENT;
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return UMLPackage.CLASSIFIER___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == ParameterableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return UMLPackage.CLASSIFIER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_TEMPLATE_PARAMETER :
+ return UMLPackage.CLASSIFIER___IS_TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == PackageableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.PACKAGEABLE_ELEMENT___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.CLASSIFIER___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == Type.class) {
+ switch (baseOperationID) {
+ case UMLPackage.TYPE___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return UMLPackage.CLASSIFIER___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT;
+ case UMLPackage.TYPE___GET_ASSOCIATIONS :
+ return UMLPackage.CLASSIFIER___GET_ASSOCIATIONS;
+ case UMLPackage.TYPE___CONFORMS_TO__TYPE :
+ return UMLPackage.CLASSIFIER___CONFORMS_TO__TYPE;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == TemplateableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT___IS_TEMPLATE :
+ return UMLPackage.CLASSIFIER___IS_TEMPLATE;
+ case UMLPackage.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS :
+ return UMLPackage.CLASSIFIER___PARAMETERABLE_ELEMENTS;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CLASSIFIER___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CLASSIFIER___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CLASSIFIER___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CLASSIFIER___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CLASSIFIER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLASSIFIER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER___GET_MODEL :
+ return getModel();
+ case UMLPackage.CLASSIFIER___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CLASSIFIER___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CLASSIFIER___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CLASSIFIER___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CLASSIFIER___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CLASSIFIER___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLASSIFIER___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLASSIFIER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CLASSIFIER___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CLASSIFIER___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CLASSIFIER___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CLASSIFIER___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CLASSIFIER___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CLASSIFIER___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CLASSIFIER___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CLASSIFIER___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CLASSIFIER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CLASSIFIER___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CLASSIFIER___SEPARATOR :
+ return separator();
+ case UMLPackage.CLASSIFIER___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CLASSIFIER___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.CLASSIFIER___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.CLASSIFIER___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.CLASSIFIER___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.CLASSIFIER___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.CLASSIFIER___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.CLASSIFIER___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.CLASSIFIER___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.CLASSIFIER___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.CLASSIFIER___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.CLASSIFIER___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.CLASSIFIER___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.CLASSIFIER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.CLASSIFIER___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.CLASSIFIER___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.CLASSIFIER___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.CLASSIFIER___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.CLASSIFIER___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.CLASSIFIER___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.CLASSIFIER___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.CLASSIFIER___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.CLASSIFIER___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.CLASSIFIER___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.CLASSIFIER___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.CLASSIFIER___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.CLASSIFIER___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.CLASSIFIER___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.CLASSIFIER___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.CLASSIFIER___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.CLASSIFIER___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.CLASSIFIER___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.CLASSIFIER___PARENTS :
+ return parents();
+ case UMLPackage.CLASSIFIER___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.CLASSIFIER___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.CLASSIFIER___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.CLASSIFIER___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.CLASSIFIER___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.CLASSIFIER___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.CLASSIFIER___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedElements() <em>Redefined Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.CLASSIFIER__REDEFINED_CLASSIFIER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableElement getRedefinedElement(String name) {
+ return getRedefinedElement(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableElement getRedefinedElement(String name,
+ boolean ignoreCase, EClass eClass) {
+ redefinedElementLoop : for (RedefinableElement redefinedElement : getRedefinedElements()) {
+ if (eClass != null && !eClass.isInstance(redefinedElement))
+ continue redefinedElementLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedElement.getName())
+ : name.equals(redefinedElement.getName())))
+ continue redefinedElementLoop;
+ return redefinedElement;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRedefinedElements() {
+ return eIsSet(UMLPackage.CLASSIFIER__REDEFINED_CLASSIFIER);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRedefinitionContextsGen() {
+ return false;
+ }
+
+ public boolean isSetRedefinitionContexts() {
+ return basicGetNamespace() instanceof Classifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null) {
+ return owningTemplateParameter;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.CLASSIFIER__OWNING_TEMPLATE_PARAMETER);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace() || eIsSet(UMLPackage.CLASSIFIER__PACKAGE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.CLASSIFIER__OWNED_COMMENT,
+ UMLPackage.CLASSIFIER__NAME_EXPRESSION,
+ UMLPackage.CLASSIFIER__ELEMENT_IMPORT,
+ UMLPackage.CLASSIFIER__PACKAGE_IMPORT,
+ UMLPackage.CLASSIFIER__OWNED_MEMBER,
+ UMLPackage.CLASSIFIER__TEMPLATE_BINDING,
+ UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE,
+ UMLPackage.CLASSIFIER__COLLABORATION_USE,
+ UMLPackage.CLASSIFIER__GENERALIZATION,
+ UMLPackage.CLASSIFIER__SUBSTITUTION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.CLASSIFIER__TEMPLATE_BINDING)
+ || isSetOwnedTemplateSignature()
+ || eIsSet(UMLPackage.CLASSIFIER__COLLABORATION_USE)
+ || eIsSet(UMLPackage.CLASSIFIER__GENERALIZATION)
+ || eIsSet(UMLPackage.CLASSIFIER__SUBSTITUTION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getFeatures() <em>Feature</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeatures()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] FEATURE_ESUBSETS = new int[]{
+ UMLPackage.CLASSIFIER__ATTRIBUTE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Feature getFeature(String name) {
+ return getFeature(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Feature getFeature(String name, boolean ignoreCase, EClass eClass) {
+ featureLoop : for (Feature feature : getFeatures()) {
+ if (eClass != null && !eClass.isInstance(feature))
+ continue featureLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(feature.getName())
+ : name.equals(feature.getName())))
+ continue featureLoop;
+ return feature;
+ }
+ return null;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getMembers() <em>Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] MEMBER_ESUBSETS = new int[]{
+ UMLPackage.CLASSIFIER__OWNED_MEMBER,
+ UMLPackage.CLASSIFIER__IMPORTED_MEMBER, UMLPackage.CLASSIFIER__FEATURE,
+ UMLPackage.CLASSIFIER__INHERITED_MEMBER};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.CLASSIFIER__OWNED_RULE,
+ UMLPackage.CLASSIFIER__OWNED_USE_CASE};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getCollaborationUses() <em>Collaboration Use</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCollaborationUses()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] COLLABORATION_USE_ESUBSETS = new int[]{
+ UMLPackage.CLASSIFIER__REPRESENTATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollaborationUse createCollaborationUse(String name) {
+ CollaborationUse newCollaborationUse = (CollaborationUse) create(
+ UMLPackage.Literals.COLLABORATION_USE);
+ getCollaborationUses().add(newCollaborationUse);
+ if (name != null)
+ newCollaborationUse.setName(name);
+ return newCollaborationUse;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollaborationUse getCollaborationUse(String name) {
+ return getCollaborationUse(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollaborationUse getCollaborationUse(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ collaborationUseLoop : for (CollaborationUse collaborationUse : getCollaborationUses()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(collaborationUse.getName())
+ : name.equals(collaborationUse.getName())))
+ continue collaborationUseLoop;
+ return collaborationUse;
+ }
+ return createOnDemand
+ ? createCollaborationUse(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Substitution createSubstitution(String name, Classifier contract) {
+ Substitution newSubstitution = (Substitution) create(
+ UMLPackage.Literals.SUBSTITUTION);
+ getSubstitutions().add(newSubstitution);
+ if (name != null)
+ newSubstitution.setName(name);
+ if (contract != null)
+ newSubstitution.setContract(contract);
+ return newSubstitution;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Substitution getSubstitution(String name, Classifier contract) {
+ return getSubstitution(name, contract, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Substitution getSubstitution(String name, Classifier contract,
+ boolean ignoreCase, boolean createOnDemand) {
+ substitutionLoop : for (Substitution substitution : getSubstitutions()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(substitution.getName())
+ : name.equals(substitution.getName())))
+ continue substitutionLoop;
+ if (contract != null
+ && !contract.equals(substitution.getContract()))
+ continue substitutionLoop;
+ return substitution;
+ }
+ return createOnDemand
+ ? createSubstitution(name, contract)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetFeatures() {
+ return isSetAttributes();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetMembers() {
+ return super.isSetMembers() || isSetFeatures()
+ || eIsSet(UMLPackage.CLASSIFIER__INHERITED_MEMBER);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.CLASSIFIER__OWNED_USE_CASE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetAttributes() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean conformsTo(Type other) {
+ return ClassifierOperations.conformsTo(this, other);
+ }
+
+} //ClassifierImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClassifierTemplateParameterImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClassifierTemplateParameterImpl.java
new file mode 100644
index 00000000..d8ccb1f5
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClassifierTemplateParameterImpl.java
@@ -0,0 +1,680 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.ClassifierTemplateParameterOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Classifier Template Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierTemplateParameterImpl#isAllowSubstitutable <em>Allow Substitutable</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierTemplateParameterImpl#getConstrainingClassifiers <em>Constraining Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClassifierTemplateParameterImpl#getParameteredElement <em>Parametered Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ClassifierTemplateParameterImpl
+ extends TemplateParameterImpl
+ implements ClassifierTemplateParameter {
+
+ /**
+ * The default value of the '{@link #isAllowSubstitutable() <em>Allow Substitutable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isAllowSubstitutable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ALLOW_SUBSTITUTABLE_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassifierTemplateParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CLASSIFIER_TEMPLATE_PARAMETER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isAllowSubstitutable() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAllowSubstitutable(boolean newAllowSubstitutable) {
+ eDynamicSet(
+ UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE,
+ newAllowSubstitutable);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getConstrainingClassifiers() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__CONSTRAINING_CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER_TEMPLATE_PARAMETER__CONSTRAINING_CLASSIFIER,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getConstrainingClassifier(String name) {
+ return getConstrainingClassifier(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getConstrainingClassifier(String name, boolean ignoreCase,
+ EClass eClass) {
+ constrainingClassifierLoop : for (Classifier constrainingClassifier : getConstrainingClassifiers()) {
+ if (eClass != null && !eClass.isInstance(constrainingClassifier))
+ continue constrainingClassifierLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(constrainingClassifier.getName())
+ : name.equals(constrainingClassifier.getName())))
+ continue constrainingClassifierLoop;
+ return constrainingClassifier;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ParameterableElement getParameteredElement() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ParameterableElement basicGetParameteredElement() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParameteredElementGen(
+ ParameterableElement newParameteredElement,
+ NotificationChain msgs) {
+ if (newParameteredElement != null
+ && !(newParameteredElement instanceof Classifier)) {
+ throw new IllegalArgumentException(
+ "newParameteredElement must be an instance of Classifier"); //$NON-NLS-1$
+ }
+ msgs = eDynamicInverseAdd((InternalEObject) newParameteredElement,
+ UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ msgs);
+ return msgs;
+ }
+
+ @Override
+ public NotificationChain basicSetParameteredElement(
+ ParameterableElement newParameteredElement,
+ NotificationChain msgs) {
+ msgs = basicSetParameteredElementGen(newParameteredElement, msgs);
+
+ Resource.Internal eInternalResource = eInternalResource();
+
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+
+ ParameterableElement ownedParameteredElement = basicGetOwnedParameteredElement();
+ if (ownedParameteredElement != null
+ && ownedParameteredElement != newParameteredElement) {
+
+ setOwnedParameteredElement(null);
+ }
+ }
+
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParameteredElement(
+ ParameterableElement newParameteredElement) {
+ if (newParameteredElement != null
+ && !(newParameteredElement instanceof Classifier)) {
+ throw new IllegalArgumentException(
+ "newParameteredElement must be an instance of Classifier"); //$NON-NLS-1$
+ }
+ eDynamicSet(
+ UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ newParameteredElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetParameteredElement() {
+ return basicGetParameteredElement() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateHasConstrainingClassifier(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ClassifierTemplateParameterOperations
+ .validateHasConstrainingClassifier(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParameteredElementNoFeatures(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ClassifierTemplateParameterOperations
+ .validateParameteredElementNoFeatures(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMatchingAbstract(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClassifierTemplateParameterOperations
+ .validateMatchingAbstract(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateActualIsClassifier(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClassifierTemplateParameterOperations
+ .validateActualIsClassifier(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConstrainingClassifiersConstrainArgs(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ClassifierTemplateParameterOperations
+ .validateConstrainingClassifiersConstrainArgs(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConstrainingClassifiersConstrainParameteredElement(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ClassifierTemplateParameterOperations
+ .validateConstrainingClassifiersConstrainParameteredElement(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ ParameterableElement parameteredElement = basicGetParameteredElement();
+ if (parameteredElement != null)
+ msgs = ((InternalEObject) parameteredElement)
+ .eInverseRemove(this,
+ UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ ParameterableElement.class, msgs);
+ return basicSetParameteredElement(
+ (ParameterableElement) otherEnd, msgs);
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__SIGNATURE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetSignature((TemplateSignature) otherEnd, msgs);
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ ParameterableElement ownedParameteredElement = basicGetOwnedParameteredElement();
+ if (ownedParameteredElement != null)
+ msgs = ((InternalEObject) ownedParameteredElement)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ null, msgs);
+ return basicSetOwnedParameteredElement(
+ (ParameterableElement) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ return basicSetOwnedDefault(null, msgs);
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ return basicSetParameteredElement(null, msgs);
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__SIGNATURE :
+ return basicSetSignature(null, msgs);
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ return basicSetOwnedParameteredElement(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__DEFAULT :
+ if (resolve)
+ return getDefault();
+ return basicGetDefault();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ if (resolve)
+ return getOwnedDefault();
+ return basicGetOwnedDefault();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ if (resolve)
+ return getParameteredElement();
+ return basicGetParameteredElement();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__SIGNATURE :
+ if (resolve)
+ return getSignature();
+ return basicGetSignature();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ if (resolve)
+ return getOwnedParameteredElement();
+ return basicGetOwnedParameteredElement();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE :
+ return isAllowSubstitutable();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__CONSTRAINING_CLASSIFIER :
+ return getConstrainingClassifiers();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__DEFAULT :
+ setDefault((ParameterableElement) newValue);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ setOwnedDefault((ParameterableElement) newValue);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ setParameteredElement((ParameterableElement) newValue);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__SIGNATURE :
+ setSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ setOwnedParameteredElement((ParameterableElement) newValue);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE :
+ setAllowSubstitutable((Boolean) newValue);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__CONSTRAINING_CLASSIFIER :
+ getConstrainingClassifiers().clear();
+ getConstrainingClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__DEFAULT :
+ setDefault((ParameterableElement) null);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ setOwnedDefault((ParameterableElement) null);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ setParameteredElement((ParameterableElement) null);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__SIGNATURE :
+ setSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ setOwnedParameteredElement((ParameterableElement) null);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE :
+ setAllowSubstitutable(ALLOW_SUBSTITUTABLE_EDEFAULT);
+ return;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__CONSTRAINING_CLASSIFIER :
+ getConstrainingClassifiers().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNER :
+ return isSetOwner();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__DEFAULT :
+ return basicGetDefault() != null;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ return basicGetOwnedDefault() != null;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ return isSetParameteredElement();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__SIGNATURE :
+ return basicGetSignature() != null;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ return basicGetOwnedParameteredElement() != null;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE :
+ return isAllowSubstitutable() != ALLOW_SUBSTITUTABLE_EDEFAULT;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__CONSTRAINING_CLASSIFIER :
+ return !getConstrainingClassifiers().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_MODEL :
+ return getModel();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___VALIDATE_MUST_BE_COMPATIBLE__DIAGNOSTICCHAIN_MAP :
+ return validateMustBeCompatible(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___VALIDATE_HAS_CONSTRAINING_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateHasConstrainingClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___VALIDATE_PARAMETERED_ELEMENT_NO_FEATURES__DIAGNOSTICCHAIN_MAP :
+ return validateParameteredElementNoFeatures(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___VALIDATE_MATCHING_ABSTRACT__DIAGNOSTICCHAIN_MAP :
+ return validateMatchingAbstract(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___VALIDATE_ACTUAL_IS_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateActualIsClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___VALIDATE_CONSTRAINING_CLASSIFIERS_CONSTRAIN_ARGS__DIAGNOSTICCHAIN_MAP :
+ return validateConstrainingClassifiersConstrainArgs(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER___VALIDATE_CONSTRAINING_CLASSIFIERS_CONSTRAIN_PARAMETERED_ELEMENT__DIAGNOSTICCHAIN_MAP :
+ return validateConstrainingClassifiersConstrainParameteredElement(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ClassifierTemplateParameterImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClauseImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClauseImpl.java
new file mode 100644
index 00000000..3056973c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClauseImpl.java
@@ -0,0 +1,601 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Clause;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ExecutableNode;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.ClauseOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Clause</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClauseImpl#getBodies <em>Body</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClauseImpl#getBodyOutputs <em>Body Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClauseImpl#getDecider <em>Decider</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClauseImpl#getPredecessorClauses <em>Predecessor Clause</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClauseImpl#getSuccessorClauses <em>Successor Clause</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClauseImpl#getTests <em>Test</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ClauseImpl
+ extends ElementImpl
+ implements Clause {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClauseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CLAUSE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ExecutableNode> getTests() {
+ return (EList<ExecutableNode>) eDynamicGet(
+ UMLPackage.CLAUSE__TEST - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLAUSE__TEST, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getTest(String name) {
+ return getTest(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getTest(String name, boolean ignoreCase,
+ EClass eClass) {
+ testLoop : for (ExecutableNode test : getTests()) {
+ if (eClass != null && !eClass.isInstance(test))
+ continue testLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(test.getName())
+ : name.equals(test.getName())))
+ continue testLoop;
+ return test;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ExecutableNode> getBodies() {
+ return (EList<ExecutableNode>) eDynamicGet(
+ UMLPackage.CLAUSE__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLAUSE__BODY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getBody(String name) {
+ return getBody(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getBody(String name, boolean ignoreCase,
+ EClass eClass) {
+ bodyLoop : for (ExecutableNode body : getBodies()) {
+ if (eClass != null && !eClass.isInstance(body))
+ continue bodyLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(body.getName())
+ : name.equals(body.getName())))
+ continue bodyLoop;
+ return body;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Clause> getPredecessorClauses() {
+ return (EList<Clause>) eDynamicGet(
+ UMLPackage.CLAUSE__PREDECESSOR_CLAUSE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLAUSE__PREDECESSOR_CLAUSE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Clause> getSuccessorClauses() {
+ return (EList<Clause>) eDynamicGet(
+ UMLPackage.CLAUSE__SUCCESSOR_CLAUSE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLAUSE__SUCCESSOR_CLAUSE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getDecider() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.CLAUSE__DECIDER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLAUSE__DECIDER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetDecider() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.CLAUSE__DECIDER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLAUSE__DECIDER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDecider(OutputPin newDecider) {
+ eDynamicSet(UMLPackage.CLAUSE__DECIDER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLAUSE__DECIDER, newDecider);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputPin> getBodyOutputs() {
+ return (EList<OutputPin>) eDynamicGet(
+ UMLPackage.CLAUSE__BODY_OUTPUT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLAUSE__BODY_OUTPUT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getBodyOutput(String name, Type type) {
+ return getBodyOutput(name, type, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getBodyOutput(String name, Type type, boolean ignoreCase) {
+ bodyOutputLoop : for (OutputPin bodyOutput : getBodyOutputs()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(bodyOutput.getName())
+ : name.equals(bodyOutput.getName())))
+ continue bodyOutputLoop;
+ if (type != null && !type.equals(bodyOutput.getType()))
+ continue bodyOutputLoop;
+ return bodyOutput;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDeciderOutput(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClauseOperations.validateDeciderOutput(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTestAndBody(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClauseOperations.validateTestAndBody(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBodyOutputPins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClauseOperations.validateBodyOutputPins(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CLAUSE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLAUSE__PREDECESSOR_CLAUSE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPredecessorClauses())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CLAUSE__SUCCESSOR_CLAUSE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSuccessorClauses())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CLAUSE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLAUSE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLAUSE__PREDECESSOR_CLAUSE :
+ return ((InternalEList<?>) getPredecessorClauses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLAUSE__SUCCESSOR_CLAUSE :
+ return ((InternalEList<?>) getSuccessorClauses())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CLAUSE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CLAUSE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CLAUSE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CLAUSE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CLAUSE__BODY :
+ return getBodies();
+ case UMLPackage.CLAUSE__BODY_OUTPUT :
+ return getBodyOutputs();
+ case UMLPackage.CLAUSE__DECIDER :
+ if (resolve)
+ return getDecider();
+ return basicGetDecider();
+ case UMLPackage.CLAUSE__PREDECESSOR_CLAUSE :
+ return getPredecessorClauses();
+ case UMLPackage.CLAUSE__SUCCESSOR_CLAUSE :
+ return getSuccessorClauses();
+ case UMLPackage.CLAUSE__TEST :
+ return getTests();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CLAUSE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CLAUSE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CLAUSE__BODY :
+ getBodies().clear();
+ getBodies()
+ .addAll((Collection<? extends ExecutableNode>) newValue);
+ return;
+ case UMLPackage.CLAUSE__BODY_OUTPUT :
+ getBodyOutputs().clear();
+ getBodyOutputs()
+ .addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.CLAUSE__DECIDER :
+ setDecider((OutputPin) newValue);
+ return;
+ case UMLPackage.CLAUSE__PREDECESSOR_CLAUSE :
+ getPredecessorClauses().clear();
+ getPredecessorClauses()
+ .addAll((Collection<? extends Clause>) newValue);
+ return;
+ case UMLPackage.CLAUSE__SUCCESSOR_CLAUSE :
+ getSuccessorClauses().clear();
+ getSuccessorClauses()
+ .addAll((Collection<? extends Clause>) newValue);
+ return;
+ case UMLPackage.CLAUSE__TEST :
+ getTests().clear();
+ getTests()
+ .addAll((Collection<? extends ExecutableNode>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CLAUSE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CLAUSE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CLAUSE__BODY :
+ getBodies().clear();
+ return;
+ case UMLPackage.CLAUSE__BODY_OUTPUT :
+ getBodyOutputs().clear();
+ return;
+ case UMLPackage.CLAUSE__DECIDER :
+ setDecider((OutputPin) null);
+ return;
+ case UMLPackage.CLAUSE__PREDECESSOR_CLAUSE :
+ getPredecessorClauses().clear();
+ return;
+ case UMLPackage.CLAUSE__SUCCESSOR_CLAUSE :
+ getSuccessorClauses().clear();
+ return;
+ case UMLPackage.CLAUSE__TEST :
+ getTests().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CLAUSE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CLAUSE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CLAUSE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CLAUSE__OWNER :
+ return isSetOwner();
+ case UMLPackage.CLAUSE__BODY :
+ return !getBodies().isEmpty();
+ case UMLPackage.CLAUSE__BODY_OUTPUT :
+ return !getBodyOutputs().isEmpty();
+ case UMLPackage.CLAUSE__DECIDER :
+ return basicGetDecider() != null;
+ case UMLPackage.CLAUSE__PREDECESSOR_CLAUSE :
+ return !getPredecessorClauses().isEmpty();
+ case UMLPackage.CLAUSE__SUCCESSOR_CLAUSE :
+ return !getSuccessorClauses().isEmpty();
+ case UMLPackage.CLAUSE__TEST :
+ return !getTests().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CLAUSE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CLAUSE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLAUSE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLAUSE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CLAUSE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CLAUSE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CLAUSE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CLAUSE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CLAUSE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CLAUSE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CLAUSE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CLAUSE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CLAUSE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLAUSE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CLAUSE___GET_MODEL :
+ return getModel();
+ case UMLPackage.CLAUSE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CLAUSE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CLAUSE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CLAUSE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CLAUSE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CLAUSE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CLAUSE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CLAUSE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CLAUSE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CLAUSE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CLAUSE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CLAUSE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLAUSE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CLAUSE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLAUSE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CLAUSE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CLAUSE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CLAUSE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CLAUSE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CLAUSE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CLAUSE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CLAUSE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CLAUSE___VALIDATE_BODY_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateBodyOutputPins(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLAUSE___VALIDATE_DECIDER_OUTPUT__DIAGNOSTICCHAIN_MAP :
+ return validateDeciderOutput((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLAUSE___VALIDATE_TEST_AND_BODY__DIAGNOSTICCHAIN_MAP :
+ return validateTestAndBody((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ClauseImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClearAssociationActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClearAssociationActionImpl.java
new file mode 100644
index 00000000..46589f8f
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClearAssociationActionImpl.java
@@ -0,0 +1,809 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ClearAssociationActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Clear Association Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClearAssociationActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClearAssociationActionImpl#getAssociation <em>Association</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClearAssociationActionImpl#getObject <em>Object</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ClearAssociationActionImpl
+ extends ActionImpl
+ implements ClearAssociationAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClearAssociationActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CLEAR_ASSOCIATION_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.CLEAR_ASSOCIATION_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.CLEAR_ASSOCIATION_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.CLEAR_ASSOCIATION_ACTION__OBJECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLEAR_ASSOCIATION_ACTION__OBJECT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.CLEAR_ASSOCIATION_ACTION__OBJECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLEAR_ASSOCIATION_ACTION__OBJECT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObject(InputPin newObject,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newObject,
+ UMLPackage.CLEAR_ASSOCIATION_ACTION__OBJECT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObject(InputPin newObject) {
+ eDynamicSet(
+ UMLPackage.CLEAR_ASSOCIATION_ACTION__OBJECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLEAR_ASSOCIATION_ACTION__OBJECT, newObject);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type, EClass eClass) {
+ InputPin newObject = (InputPin) create(eClass);
+ setObject(newObject);
+ if (name != null)
+ newObject.setName(name);
+ if (type != null)
+ newObject.setType(type);
+ return newObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type) {
+ return createObject(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Association getAssociation() {
+ return (Association) eDynamicGet(
+ UMLPackage.CLEAR_ASSOCIATION_ACTION__ASSOCIATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLEAR_ASSOCIATION_ACTION__ASSOCIATION, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Association basicGetAssociation() {
+ return (Association) eDynamicGet(
+ UMLPackage.CLEAR_ASSOCIATION_ACTION__ASSOCIATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLEAR_ASSOCIATION_ACTION__ASSOCIATION, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAssociation(Association newAssociation) {
+ eDynamicSet(
+ UMLPackage.CLEAR_ASSOCIATION_ACTION__ASSOCIATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLEAR_ASSOCIATION_ACTION__ASSOCIATION,
+ newAssociation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSameType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClearAssociationActionOperations.validateSameType(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClearAssociationActionOperations.validateMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__NAME :
+ return getName();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__ASSOCIATION :
+ if (resolve)
+ return getAssociation();
+ return basicGetAssociation();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__ASSOCIATION :
+ setAssociation((Association) newValue);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__ASSOCIATION :
+ setAssociation((Association) null);
+ return;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__ASSOCIATION :
+ return basicGetAssociation() != null;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OBJECT :
+ return basicGetObject() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSameType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.CLEAR_ASSOCIATION_ACTION__OBJECT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.CLEAR_ASSOCIATION_ACTION__OBJECT);
+ }
+
+} //ClearAssociationActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClearStructuralFeatureActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClearStructuralFeatureActionImpl.java
new file mode 100644
index 00000000..88f2c7e2
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClearStructuralFeatureActionImpl.java
@@ -0,0 +1,792 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.ClearStructuralFeatureActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Clear Structural Feature Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClearStructuralFeatureActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ClearStructuralFeatureActionImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ClearStructuralFeatureActionImpl
+ extends StructuralFeatureActionImpl
+ implements ClearStructuralFeatureAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClearStructuralFeatureActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CLEAR_STRUCTURAL_FEATURE_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(
+ UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT,
+ newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeOfResult(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClearStructuralFeatureActionOperations.validateTypeOfResult(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfResult(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ClearStructuralFeatureActionOperations
+ .validateMultiplicityOfResult(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__NAME :
+ return getName();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ if (resolve)
+ return getStructuralFeature();
+ return basicGetStructuralFeature();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ setStructuralFeature((StructuralFeature) newValue);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ setStructuralFeature((StructuralFeature) null);
+ return;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ return basicGetObject() != null;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ return basicGetStructuralFeature() != null;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT :
+ return basicGetResult() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_OBJECT_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateObjectType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateVisibility((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
+ return validateNotStatic((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateOneFeaturingClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfResult((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfResult(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__RESULT);
+ }
+
+} //ClearStructuralFeatureActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClearVariableActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClearVariableActionImpl.java
new file mode 100644
index 00000000..173d0374
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ClearVariableActionImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Clear Variable Action</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ClearVariableActionImpl
+ extends VariableActionImpl
+ implements ClearVariableAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClearVariableActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CLEAR_VARIABLE_ACTION;
+ }
+
+} //ClearVariableActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CollaborationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CollaborationImpl.java
new file mode 100644
index 00000000..bff70aaa
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CollaborationImpl.java
@@ -0,0 +1,1594 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentEList;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioredClassifier;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.BehavioredClassifierOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Collaboration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CollaborationImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CollaborationImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CollaborationImpl#getOwnedBehaviors <em>Owned Behavior</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CollaborationImpl#getClassifierBehavior <em>Classifier Behavior</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CollaborationImpl#getInterfaceRealizations <em>Interface Realization</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CollaborationImpl#getRoles <em>Role</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CollaborationImpl#getCollaborationRoles <em>Collaboration Role</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CollaborationImpl
+ extends StructuredClassifierImpl
+ implements Collaboration {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CollaborationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.COLLABORATION;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR) {
+ return createOwnedBehaviorsList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.COLLABORATION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.COLLABORATION__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.COLLABORATION__OWNED_COMMENT,
+ UMLPackage.COLLABORATION__NAME_EXPRESSION,
+ UMLPackage.COLLABORATION__ELEMENT_IMPORT,
+ UMLPackage.COLLABORATION__PACKAGE_IMPORT,
+ UMLPackage.COLLABORATION__OWNED_MEMBER,
+ UMLPackage.COLLABORATION__TEMPLATE_BINDING,
+ UMLPackage.COLLABORATION__OWNED_TEMPLATE_SIGNATURE,
+ UMLPackage.COLLABORATION__COLLABORATION_USE,
+ UMLPackage.COLLABORATION__GENERALIZATION,
+ UMLPackage.COLLABORATION__SUBSTITUTION,
+ UMLPackage.COLLABORATION__INTERFACE_REALIZATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<ConnectableElement> getRoles() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ConnectableElement> roles = (EList<ConnectableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER__ROLE);
+ if (roles == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER__ROLE,
+ roles = new DerivedUnionEObjectEList<ConnectableElement>(
+ ConnectableElement.class, this,
+ UMLPackage.COLLABORATION__ROLE, ROLE_ESUBSETS));
+ }
+ return roles;
+ }
+ return new DerivedUnionEObjectEList<ConnectableElement>(
+ ConnectableElement.class, this, UMLPackage.COLLABORATION__ROLE,
+ ROLE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.COLLABORATION__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.COLLABORATION__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getParts() <em>Part</em>}' reference list.
+ * @see #getParts()
+ */
+ protected static final int[] PART_ESUPERSETS = new int[]{
+ UMLPackage.COLLABORATION__OWNED_ATTRIBUTE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public EList<Property> getParts() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Property> parts = (EList<Property>) cache.get(eResource, this,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER__PART);
+ if (parts == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER__PART,
+ parts = new StructuredClassifierImpl.PartEList(
+ Property.class, this, UMLPackage.COLLABORATION__PART,
+ PART_ESUPERSETS));
+ }
+ return parts;
+ }
+ return new StructuredClassifierImpl.PartEList(Property.class, this,
+ UMLPackage.COLLABORATION__PART, PART_ESUPERSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ConnectableElement> getCollaborationRoles() {
+ return (EList<ConnectableElement>) eDynamicGet(
+ UMLPackage.COLLABORATION__COLLABORATION_ROLE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COLLABORATION__COLLABORATION_ROLE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectableElement getCollaborationRole(String name, Type type) {
+ return getCollaborationRole(name, type, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectableElement getCollaborationRole(String name, Type type,
+ boolean ignoreCase, EClass eClass) {
+ collaborationRoleLoop : for (ConnectableElement collaborationRole : getCollaborationRoles()) {
+ if (eClass != null && !eClass.isInstance(collaborationRole))
+ continue collaborationRoleLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(collaborationRole.getName())
+ : name.equals(collaborationRole.getName())))
+ continue collaborationRoleLoop;
+ if (type != null && !type.equals(collaborationRole.getType()))
+ continue collaborationRoleLoop;
+ return collaborationRole;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClassBehavior(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return BehavioredClassifierOperations.validateClassBehavior(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> getAllImplementedInterfaces() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER___GET_ALL_IMPLEMENTED_INTERFACES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER___GET_ALL_IMPLEMENTED_INTERFACES,
+ result = BehavioredClassifierOperations
+ .getAllImplementedInterfaces(this));
+ }
+ return result;
+ }
+ return BehavioredClassifierOperations.getAllImplementedInterfaces(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> getImplementedInterfaces() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER___GET_IMPLEMENTED_INTERFACES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER___GET_IMPLEMENTED_INTERFACES,
+ result = BehavioredClassifierOperations
+ .getImplementedInterfaces(this));
+ }
+ return result;
+ }
+ return BehavioredClassifierOperations.getImplementedInterfaces(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.COLLABORATION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.COLLABORATION__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.COLLABORATION__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.COLLABORATION__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.COLLABORATION__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__INTERFACE_REALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInterfaceRealizations())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.COLLABORATION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.COLLABORATION__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.COLLABORATION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.COLLABORATION__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.COLLABORATION__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.COLLABORATION__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__OWNED_CONNECTOR :
+ return ((InternalEList<?>) getOwnedConnectors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__INTERFACE_REALIZATION :
+ return ((InternalEList<?>) getInterfaceRealizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION__OWNED_BEHAVIOR :
+ return ((InternalEList<?>) getOwnedBehaviors())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.COLLABORATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.COLLABORATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.COLLABORATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.COLLABORATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.COLLABORATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.COLLABORATION__NAME :
+ return getName();
+ case UMLPackage.COLLABORATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.COLLABORATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.COLLABORATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.COLLABORATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.COLLABORATION__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.COLLABORATION__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.COLLABORATION__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.COLLABORATION__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.COLLABORATION__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.COLLABORATION__MEMBER :
+ return getMembers();
+ case UMLPackage.COLLABORATION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.COLLABORATION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.COLLABORATION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.COLLABORATION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.COLLABORATION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.COLLABORATION__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.COLLABORATION__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.COLLABORATION__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.COLLABORATION__FEATURE :
+ return getFeatures();
+ case UMLPackage.COLLABORATION__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.COLLABORATION__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.COLLABORATION__GENERAL :
+ return getGenerals();
+ case UMLPackage.COLLABORATION__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.COLLABORATION__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.COLLABORATION__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.COLLABORATION__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.COLLABORATION__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.COLLABORATION__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.COLLABORATION__USE_CASE :
+ return getUseCases();
+ case UMLPackage.COLLABORATION__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.COLLABORATION__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.COLLABORATION__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.COLLABORATION__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.COLLABORATION__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.COLLABORATION__PART :
+ return getParts();
+ case UMLPackage.COLLABORATION__ROLE :
+ return getRoles();
+ case UMLPackage.COLLABORATION__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.COLLABORATION__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.COLLABORATION__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ case UMLPackage.COLLABORATION__COLLABORATION_ROLE :
+ return getCollaborationRoles();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.COLLABORATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.COLLABORATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.COLLABORATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.COLLABORATION__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.COLLABORATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.COLLABORATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.COLLABORATION__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.COLLABORATION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.COLLABORATION__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.COLLABORATION__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.COLLABORATION__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.COLLABORATION__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.COLLABORATION__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.COLLABORATION__COLLABORATION_ROLE :
+ getCollaborationRoles().clear();
+ getCollaborationRoles().addAll(
+ (Collection<? extends ConnectableElement>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.COLLABORATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.COLLABORATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.COLLABORATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.COLLABORATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.COLLABORATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.COLLABORATION__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.COLLABORATION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.COLLABORATION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.COLLABORATION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.COLLABORATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.COLLABORATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.COLLABORATION__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.COLLABORATION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.COLLABORATION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.COLLABORATION__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.COLLABORATION__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.COLLABORATION__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.COLLABORATION__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.COLLABORATION__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.COLLABORATION__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.COLLABORATION__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.COLLABORATION__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.COLLABORATION__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.COLLABORATION__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.COLLABORATION__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.COLLABORATION__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.COLLABORATION__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ case UMLPackage.COLLABORATION__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.COLLABORATION__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.COLLABORATION__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ case UMLPackage.COLLABORATION__COLLABORATION_ROLE :
+ getCollaborationRoles().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.COLLABORATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.COLLABORATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.COLLABORATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.COLLABORATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.COLLABORATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.COLLABORATION__NAME :
+ return isSetName();
+ case UMLPackage.COLLABORATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.COLLABORATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.COLLABORATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.COLLABORATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.COLLABORATION__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.COLLABORATION__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.COLLABORATION__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.COLLABORATION__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.COLLABORATION__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.COLLABORATION__MEMBER :
+ return isSetMembers();
+ case UMLPackage.COLLABORATION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.COLLABORATION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.COLLABORATION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.COLLABORATION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.COLLABORATION__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.COLLABORATION__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.COLLABORATION__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.COLLABORATION__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.COLLABORATION__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.COLLABORATION__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.COLLABORATION__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.COLLABORATION__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.COLLABORATION__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.COLLABORATION__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.COLLABORATION__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.COLLABORATION__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.COLLABORATION__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.COLLABORATION__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.COLLABORATION__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.COLLABORATION__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.COLLABORATION__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.COLLABORATION__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.COLLABORATION__OWNED_ATTRIBUTE :
+ return !getOwnedAttributes().isEmpty();
+ case UMLPackage.COLLABORATION__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.COLLABORATION__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.COLLABORATION__ROLE :
+ return isSetRoles();
+ case UMLPackage.COLLABORATION__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.COLLABORATION__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.COLLABORATION__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ case UMLPackage.COLLABORATION__COLLABORATION_ROLE :
+ return !getCollaborationRoles().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == BehavioredClassifier.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.COLLABORATION__CLASSIFIER_BEHAVIOR :
+ return UMLPackage.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR;
+ case UMLPackage.COLLABORATION__INTERFACE_REALIZATION :
+ return UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION;
+ case UMLPackage.COLLABORATION__OWNED_BEHAVIOR :
+ return UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == BehavioredClassifier.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR :
+ return UMLPackage.COLLABORATION__CLASSIFIER_BEHAVIOR;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION :
+ return UMLPackage.COLLABORATION__INTERFACE_REALIZATION;
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR :
+ return UMLPackage.COLLABORATION__OWNED_BEHAVIOR;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == BehavioredClassifier.class) {
+ switch (baseOperationID) {
+ case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.COLLABORATION___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_ALL_IMPLEMENTED_INTERFACES :
+ return UMLPackage.COLLABORATION___GET_ALL_IMPLEMENTED_INTERFACES;
+ case UMLPackage.BEHAVIORED_CLASSIFIER___GET_IMPLEMENTED_INTERFACES :
+ return UMLPackage.COLLABORATION___GET_IMPLEMENTED_INTERFACES;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.COLLABORATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.COLLABORATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.COLLABORATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.COLLABORATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.COLLABORATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.COLLABORATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.COLLABORATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.COLLABORATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.COLLABORATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.COLLABORATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COLLABORATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.COLLABORATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.COLLABORATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.COLLABORATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.COLLABORATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.COLLABORATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.COLLABORATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.COLLABORATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.COLLABORATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.COLLABORATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.COLLABORATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.COLLABORATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COLLABORATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.COLLABORATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COLLABORATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.COLLABORATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.COLLABORATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.COLLABORATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.COLLABORATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.COLLABORATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.COLLABORATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.COLLABORATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.COLLABORATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.COLLABORATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.COLLABORATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.COLLABORATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.COLLABORATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.COLLABORATION___SEPARATOR :
+ return separator();
+ case UMLPackage.COLLABORATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.COLLABORATION___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.COLLABORATION___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.COLLABORATION___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.COLLABORATION___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.COLLABORATION___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.COLLABORATION___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.COLLABORATION___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.COLLABORATION___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.COLLABORATION___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.COLLABORATION___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.COLLABORATION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.COLLABORATION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.COLLABORATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.COLLABORATION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.COLLABORATION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.COLLABORATION___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.COLLABORATION___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.COLLABORATION___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.COLLABORATION___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.COLLABORATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.COLLABORATION___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.COLLABORATION___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.COLLABORATION___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.COLLABORATION___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.COLLABORATION___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.COLLABORATION___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.COLLABORATION___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.COLLABORATION___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.COLLABORATION___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.COLLABORATION___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.COLLABORATION___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.COLLABORATION___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.COLLABORATION___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.COLLABORATION___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.COLLABORATION___PARENTS :
+ return parents();
+ case UMLPackage.COLLABORATION___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.COLLABORATION___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.COLLABORATION___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.COLLABORATION___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.COLLABORATION___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.COLLABORATION___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.COLLABORATION___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.COLLABORATION___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.COLLABORATION___GET_PARTS :
+ return getParts();
+ case UMLPackage.COLLABORATION___ALL_ROLES :
+ return allRoles();
+ case UMLPackage.COLLABORATION___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.COLLABORATION___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.COLLABORATION__INTERFACE_REALIZATION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.COLLABORATION__OWNED_RULE,
+ UMLPackage.COLLABORATION__OWNED_USE_CASE,
+ UMLPackage.COLLABORATION__OWNED_ATTRIBUTE,
+ UMLPackage.COLLABORATION__OWNED_CONNECTOR,
+ UMLPackage.COLLABORATION__OWNED_BEHAVIOR};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Behavior> getOwnedBehaviors() {
+ return (EList<Behavior>) eDynamicGet(
+ UMLPackage.COLLABORATION__OWNED_BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR, true,
+ true);
+ }
+
+ private EList<Behavior> createOwnedBehaviorsList() {
+ return new SubsetSupersetEObjectContainmentEList.Resolving<Behavior>(
+ Behavior.class, this, UMLPackage.COLLABORATION__OWNED_BEHAVIOR,
+ null, OWNED_BEHAVIOR_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedBehaviors() <em>Owned Behavior</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedBehaviors()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_BEHAVIOR_ESUBSETS = new int[]{
+ UMLPackage.COLLABORATION__CLASSIFIER_BEHAVIOR};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior createOwnedBehavior(String name, EClass eClass) {
+ Behavior newOwnedBehavior = (Behavior) create(eClass);
+ getOwnedBehaviors().add(newOwnedBehavior);
+ if (name != null)
+ newOwnedBehavior.setName(name);
+ return newOwnedBehavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getOwnedBehavior(String name) {
+ return getOwnedBehavior(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getOwnedBehavior(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ ownedBehaviorLoop : for (Behavior ownedBehavior : getOwnedBehaviors()) {
+ if (eClass != null && !eClass.isInstance(ownedBehavior))
+ continue ownedBehaviorLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedBehavior.getName())
+ : name.equals(ownedBehavior.getName())))
+ continue ownedBehaviorLoop;
+ return ownedBehavior;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedBehavior(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getClassifierBehavior() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.COLLABORATION__CLASSIFIER_BEHAVIOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetClassifierBehavior() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.COLLABORATION__CLASSIFIER_BEHAVIOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassifierBehavior(Behavior newClassifierBehavior) {
+ eDynamicSet(
+ UMLPackage.COLLABORATION__CLASSIFIER_BEHAVIOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR,
+ newClassifierBehavior);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newClassifierBehavior != null) {
+ EList<Behavior> ownedBehaviors = getOwnedBehaviors();
+ if (!ownedBehaviors.contains(newClassifierBehavior)) {
+ ownedBehaviors.add(newClassifierBehavior);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior createClassifierBehavior(String name, EClass eClass) {
+ Behavior newClassifierBehavior = (Behavior) create(eClass);
+ setClassifierBehavior(newClassifierBehavior);
+ if (name != null)
+ newClassifierBehavior.setName(name);
+ return newClassifierBehavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InterfaceRealization> getInterfaceRealizations() {
+ return (EList<InterfaceRealization>) eDynamicGet(
+ UMLPackage.COLLABORATION__INTERFACE_REALIZATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterfaceRealization createInterfaceRealization(String name,
+ Interface contract) {
+ InterfaceRealization newInterfaceRealization = (InterfaceRealization) create(
+ UMLPackage.Literals.INTERFACE_REALIZATION);
+ getInterfaceRealizations().add(newInterfaceRealization);
+ if (name != null)
+ newInterfaceRealization.setName(name);
+ if (contract != null)
+ newInterfaceRealization.setContract(contract);
+ return newInterfaceRealization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterfaceRealization getInterfaceRealization(String name,
+ Interface contract) {
+ return getInterfaceRealization(name, contract, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterfaceRealization getInterfaceRealization(String name,
+ Interface contract, boolean ignoreCase, boolean createOnDemand) {
+ interfaceRealizationLoop : for (InterfaceRealization interfaceRealization : getInterfaceRealizations()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(interfaceRealization.getName())
+ : name.equals(interfaceRealization.getName())))
+ continue interfaceRealizationLoop;
+ if (contract != null
+ && !contract.equals(interfaceRealization.getContract()))
+ continue interfaceRealizationLoop;
+ return interfaceRealization;
+ }
+ return createOnDemand
+ ? createInterfaceRealization(name, contract)
+ : null;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRoles() <em>Role</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRoles()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] ROLE_ESUBSETS = new int[]{
+ UMLPackage.COLLABORATION__OWNED_ATTRIBUTE,
+ UMLPackage.COLLABORATION__COLLABORATION_ROLE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetRoles() {
+ return super.isSetRoles()
+ || eIsSet(UMLPackage.COLLABORATION__COLLABORATION_ROLE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.COLLABORATION__OWNED_BEHAVIOR);
+ }
+
+} //CollaborationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CollaborationUseImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CollaborationUseImpl.java
new file mode 100644
index 00000000..5b224d52
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CollaborationUseImpl.java
@@ -0,0 +1,592 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.CollaborationUseOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Collaboration Use</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CollaborationUseImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CollaborationUseImpl#getRoleBindings <em>Role Binding</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CollaborationUseImpl#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CollaborationUseImpl
+ extends NamedElementImpl
+ implements CollaborationUse {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CollaborationUseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.COLLABORATION_USE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.COLLABORATION_USE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.COLLABORATION_USE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collaboration getType() {
+ return (Collaboration) eDynamicGet(
+ UMLPackage.COLLABORATION_USE__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COLLABORATION_USE__TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collaboration basicGetType() {
+ return (Collaboration) eDynamicGet(
+ UMLPackage.COLLABORATION_USE__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COLLABORATION_USE__TYPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(Collaboration newType) {
+ eDynamicSet(UMLPackage.COLLABORATION_USE__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COLLABORATION_USE__TYPE, newType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Dependency> getRoleBindings() {
+ return (EList<Dependency>) eDynamicGet(
+ UMLPackage.COLLABORATION_USE__ROLE_BINDING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COLLABORATION_USE__ROLE_BINDING, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency createRoleBinding(String name, EClass eClass) {
+ Dependency newRoleBinding = (Dependency) create(eClass);
+ getRoleBindings().add(newRoleBinding);
+ if (name != null)
+ newRoleBinding.setName(name);
+ return newRoleBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency createRoleBinding(String name) {
+ return createRoleBinding(name, UMLPackage.Literals.DEPENDENCY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getRoleBinding(String name) {
+ return getRoleBinding(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getRoleBinding(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ roleBindingLoop : for (Dependency roleBinding : getRoleBindings()) {
+ if (eClass != null && !eClass.isInstance(roleBinding))
+ continue roleBindingLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(roleBinding.getName())
+ : name.equals(roleBinding.getName())))
+ continue roleBindingLoop;
+ return roleBinding;
+ }
+ return createOnDemand && eClass != null
+ ? createRoleBinding(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClientElements(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CollaborationUseOperations.validateClientElements(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEveryRole(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CollaborationUseOperations.validateEveryRole(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConnectors(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CollaborationUseOperations.validateConnectors(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.COLLABORATION_USE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION_USE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COLLABORATION_USE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.COLLABORATION_USE__ROLE_BINDING :
+ return ((InternalEList<?>) getRoleBindings())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.COLLABORATION_USE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.COLLABORATION_USE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.COLLABORATION_USE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.COLLABORATION_USE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.COLLABORATION_USE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.COLLABORATION_USE__NAME :
+ return getName();
+ case UMLPackage.COLLABORATION_USE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.COLLABORATION_USE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.COLLABORATION_USE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.COLLABORATION_USE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.COLLABORATION_USE__ROLE_BINDING :
+ return getRoleBindings();
+ case UMLPackage.COLLABORATION_USE__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.COLLABORATION_USE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.COLLABORATION_USE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.COLLABORATION_USE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.COLLABORATION_USE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.COLLABORATION_USE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.COLLABORATION_USE__ROLE_BINDING :
+ getRoleBindings().clear();
+ getRoleBindings()
+ .addAll((Collection<? extends Dependency>) newValue);
+ return;
+ case UMLPackage.COLLABORATION_USE__TYPE :
+ setType((Collaboration) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.COLLABORATION_USE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.COLLABORATION_USE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.COLLABORATION_USE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.COLLABORATION_USE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.COLLABORATION_USE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.COLLABORATION_USE__ROLE_BINDING :
+ getRoleBindings().clear();
+ return;
+ case UMLPackage.COLLABORATION_USE__TYPE :
+ setType((Collaboration) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.COLLABORATION_USE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.COLLABORATION_USE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.COLLABORATION_USE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.COLLABORATION_USE__OWNER :
+ return isSetOwner();
+ case UMLPackage.COLLABORATION_USE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.COLLABORATION_USE__NAME :
+ return isSetName();
+ case UMLPackage.COLLABORATION_USE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.COLLABORATION_USE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.COLLABORATION_USE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.COLLABORATION_USE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.COLLABORATION_USE__ROLE_BINDING :
+ return !getRoleBindings().isEmpty();
+ case UMLPackage.COLLABORATION_USE__TYPE :
+ return basicGetType() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.COLLABORATION_USE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION_USE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION_USE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.COLLABORATION_USE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.COLLABORATION_USE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.COLLABORATION_USE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.COLLABORATION_USE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COLLABORATION_USE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___GET_MODEL :
+ return getModel();
+ case UMLPackage.COLLABORATION_USE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.COLLABORATION_USE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.COLLABORATION_USE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.COLLABORATION_USE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.COLLABORATION_USE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.COLLABORATION_USE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.COLLABORATION_USE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COLLABORATION_USE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COLLABORATION_USE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.COLLABORATION_USE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.COLLABORATION_USE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.COLLABORATION_USE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION_USE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION_USE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION_USE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.COLLABORATION_USE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.COLLABORATION_USE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.COLLABORATION_USE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.COLLABORATION_USE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.COLLABORATION_USE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.COLLABORATION_USE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.COLLABORATION_USE___SEPARATOR :
+ return separator();
+ case UMLPackage.COLLABORATION_USE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.COLLABORATION_USE___VALIDATE_CLIENT_ELEMENTS__DIAGNOSTICCHAIN_MAP :
+ return validateClientElements(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION_USE___VALIDATE_EVERY_ROLE__DIAGNOSTICCHAIN_MAP :
+ return validateEveryRole((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COLLABORATION_USE___VALIDATE_CONNECTORS__DIAGNOSTICCHAIN_MAP :
+ return validateConnectors((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.COLLABORATION_USE__OWNED_COMMENT,
+ UMLPackage.COLLABORATION_USE__NAME_EXPRESSION,
+ UMLPackage.COLLABORATION_USE__ROLE_BINDING};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.COLLABORATION_USE__ROLE_BINDING);
+ }
+
+} //CollaborationUseImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CombinedFragmentImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CombinedFragmentImpl.java
new file mode 100644
index 00000000..38ab27fa
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CombinedFragmentImpl.java
@@ -0,0 +1,721 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionOperatorKind;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.CombinedFragmentOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Combined Fragment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CombinedFragmentImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CombinedFragmentImpl#getCfragmentGates <em>Cfragment Gate</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CombinedFragmentImpl#getInteractionOperator <em>Interaction Operator</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CombinedFragmentImpl#getOperands <em>Operand</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CombinedFragmentImpl
+ extends InteractionFragmentImpl
+ implements CombinedFragment {
+
+ /**
+ * The default value of the '{@link #getInteractionOperator() <em>Interaction Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInteractionOperator()
+ * @generated
+ * @ordered
+ */
+ protected static final InteractionOperatorKind INTERACTION_OPERATOR_EDEFAULT = InteractionOperatorKind.SEQ_LITERAL;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CombinedFragmentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.COMBINED_FRAGMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.COMBINED_FRAGMENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.COMBINED_FRAGMENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperatorKind getInteractionOperator() {
+ return (InteractionOperatorKind) eDynamicGet(
+ UMLPackage.COMBINED_FRAGMENT__INTERACTION_OPERATOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMBINED_FRAGMENT__INTERACTION_OPERATOR, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInteractionOperator(
+ InteractionOperatorKind newInteractionOperator) {
+ eDynamicSet(
+ UMLPackage.COMBINED_FRAGMENT__INTERACTION_OPERATOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMBINED_FRAGMENT__INTERACTION_OPERATOR,
+ newInteractionOperator);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InteractionOperand> getOperands() {
+ return (EList<InteractionOperand>) eDynamicGet(
+ UMLPackage.COMBINED_FRAGMENT__OPERAND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMBINED_FRAGMENT__OPERAND, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperand createOperand(String name) {
+ InteractionOperand newOperand = (InteractionOperand) create(
+ UMLPackage.Literals.INTERACTION_OPERAND);
+ getOperands().add(newOperand);
+ if (name != null)
+ newOperand.setName(name);
+ return newOperand;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperand getOperand(String name) {
+ return getOperand(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperand getOperand(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ operandLoop : for (InteractionOperand operand : getOperands()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(operand.getName())
+ : name.equals(operand.getName())))
+ continue operandLoop;
+ return operand;
+ }
+ return createOnDemand
+ ? createOperand(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Gate> getCfragmentGates() {
+ return (EList<Gate>) eDynamicGet(
+ UMLPackage.COMBINED_FRAGMENT__CFRAGMENT_GATE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMBINED_FRAGMENT__CFRAGMENT_GATE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Gate createCfragmentGate(String name) {
+ Gate newCfragmentGate = (Gate) create(UMLPackage.Literals.GATE);
+ getCfragmentGates().add(newCfragmentGate);
+ if (name != null)
+ newCfragmentGate.setName(name);
+ return newCfragmentGate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Gate getCfragmentGate(String name) {
+ return getCfragmentGate(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Gate getCfragmentGate(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ cfragmentGateLoop : for (Gate cfragmentGate : getCfragmentGates()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(cfragmentGate.getName())
+ : name.equals(cfragmentGate.getName())))
+ continue cfragmentGateLoop;
+ return cfragmentGate;
+ }
+ return createOnDemand
+ ? createCfragmentGate(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOptLoopBreakNeg(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CombinedFragmentOperations.validateOptLoopBreakNeg(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBreak(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CombinedFragmentOperations.validateBreak(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConsiderAndIgnore(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CombinedFragmentOperations.validateConsiderAndIgnore(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.COMBINED_FRAGMENT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMBINED_FRAGMENT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMBINED_FRAGMENT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.COMBINED_FRAGMENT__COVERED :
+ return ((InternalEList<?>) getCovereds()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.COMBINED_FRAGMENT__ENCLOSING_OPERAND :
+ return basicSetEnclosingOperand(null, msgs);
+ case UMLPackage.COMBINED_FRAGMENT__ENCLOSING_INTERACTION :
+ return basicSetEnclosingInteraction(null, msgs);
+ case UMLPackage.COMBINED_FRAGMENT__GENERAL_ORDERING :
+ return ((InternalEList<?>) getGeneralOrderings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMBINED_FRAGMENT__CFRAGMENT_GATE :
+ return ((InternalEList<?>) getCfragmentGates())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMBINED_FRAGMENT__OPERAND :
+ return ((InternalEList<?>) getOperands()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.COMBINED_FRAGMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.COMBINED_FRAGMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.COMBINED_FRAGMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.COMBINED_FRAGMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.COMBINED_FRAGMENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.COMBINED_FRAGMENT__NAME :
+ return getName();
+ case UMLPackage.COMBINED_FRAGMENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.COMBINED_FRAGMENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.COMBINED_FRAGMENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.COMBINED_FRAGMENT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.COMBINED_FRAGMENT__COVERED :
+ return getCovereds();
+ case UMLPackage.COMBINED_FRAGMENT__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.COMBINED_FRAGMENT__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.COMBINED_FRAGMENT__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ case UMLPackage.COMBINED_FRAGMENT__CFRAGMENT_GATE :
+ return getCfragmentGates();
+ case UMLPackage.COMBINED_FRAGMENT__INTERACTION_OPERATOR :
+ return getInteractionOperator();
+ case UMLPackage.COMBINED_FRAGMENT__OPERAND :
+ return getOperands();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.COMBINED_FRAGMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__CFRAGMENT_GATE :
+ getCfragmentGates().clear();
+ getCfragmentGates()
+ .addAll((Collection<? extends Gate>) newValue);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__INTERACTION_OPERATOR :
+ setInteractionOperator((InteractionOperatorKind) newValue);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__OPERAND :
+ getOperands().clear();
+ getOperands().addAll(
+ (Collection<? extends InteractionOperand>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.COMBINED_FRAGMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__CFRAGMENT_GATE :
+ getCfragmentGates().clear();
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__INTERACTION_OPERATOR :
+ setInteractionOperator(INTERACTION_OPERATOR_EDEFAULT);
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__OPERAND :
+ getOperands().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.COMBINED_FRAGMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.COMBINED_FRAGMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.COMBINED_FRAGMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.COMBINED_FRAGMENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.COMBINED_FRAGMENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.COMBINED_FRAGMENT__NAME :
+ return isSetName();
+ case UMLPackage.COMBINED_FRAGMENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.COMBINED_FRAGMENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.COMBINED_FRAGMENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.COMBINED_FRAGMENT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.COMBINED_FRAGMENT__COVERED :
+ return !getCovereds().isEmpty();
+ case UMLPackage.COMBINED_FRAGMENT__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.COMBINED_FRAGMENT__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.COMBINED_FRAGMENT__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ case UMLPackage.COMBINED_FRAGMENT__CFRAGMENT_GATE :
+ return !getCfragmentGates().isEmpty();
+ case UMLPackage.COMBINED_FRAGMENT__INTERACTION_OPERATOR :
+ return getInteractionOperator() != INTERACTION_OPERATOR_EDEFAULT;
+ case UMLPackage.COMBINED_FRAGMENT__OPERAND :
+ return !getOperands().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.COMBINED_FRAGMENT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMBINED_FRAGMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMBINED_FRAGMENT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.COMBINED_FRAGMENT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.COMBINED_FRAGMENT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.COMBINED_FRAGMENT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.COMBINED_FRAGMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COMBINED_FRAGMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___GET_MODEL :
+ return getModel();
+ case UMLPackage.COMBINED_FRAGMENT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.COMBINED_FRAGMENT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.COMBINED_FRAGMENT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.COMBINED_FRAGMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.COMBINED_FRAGMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.COMBINED_FRAGMENT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.COMBINED_FRAGMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COMBINED_FRAGMENT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COMBINED_FRAGMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.COMBINED_FRAGMENT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.COMBINED_FRAGMENT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.COMBINED_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMBINED_FRAGMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMBINED_FRAGMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMBINED_FRAGMENT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.COMBINED_FRAGMENT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.COMBINED_FRAGMENT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.COMBINED_FRAGMENT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.COMBINED_FRAGMENT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.COMBINED_FRAGMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.COMBINED_FRAGMENT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.COMBINED_FRAGMENT___SEPARATOR :
+ return separator();
+ case UMLPackage.COMBINED_FRAGMENT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.COMBINED_FRAGMENT___VALIDATE_BREAK__DIAGNOSTICCHAIN_MAP :
+ return validateBreak((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMBINED_FRAGMENT___VALIDATE_CONSIDER_AND_IGNORE__DIAGNOSTICCHAIN_MAP :
+ return validateConsiderAndIgnore(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMBINED_FRAGMENT___VALIDATE_OPT_LOOP_BREAK_NEG__DIAGNOSTICCHAIN_MAP :
+ return validateOptLoopBreakNeg(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.COMBINED_FRAGMENT__OWNED_COMMENT,
+ UMLPackage.COMBINED_FRAGMENT__NAME_EXPRESSION,
+ UMLPackage.COMBINED_FRAGMENT__GENERAL_ORDERING,
+ UMLPackage.COMBINED_FRAGMENT__CFRAGMENT_GATE,
+ UMLPackage.COMBINED_FRAGMENT__OPERAND};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.COMBINED_FRAGMENT__CFRAGMENT_GATE)
+ || eIsSet(UMLPackage.COMBINED_FRAGMENT__OPERAND);
+ }
+
+} //CombinedFragmentImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CommentImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CommentImpl.java
new file mode 100644
index 00000000..badc08a7
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CommentImpl.java
@@ -0,0 +1,230 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 451350, 485756
+ * Kenn Hussey - 519572
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Comment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CommentImpl#getAnnotatedElements <em>Annotated Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CommentImpl#getBody <em>Body</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CommentImpl
+ extends ElementImpl
+ implements Comment {
+
+ /**
+ * The default value of the '{@link #getBody() <em>Body</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBody()
+ * @generated
+ * @ordered
+ */
+ protected static final String BODY_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CommentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.COMMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBody() {
+ return (String) eDynamicGet(
+ UMLPackage.COMMENT__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMMENT__BODY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBody(String newBody) {
+ eDynamicSet(UMLPackage.COMMENT__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMMENT__BODY, newBody);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetBody() {
+ eDynamicUnset(UMLPackage.COMMENT__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMMENT__BODY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetBody() {
+ return eDynamicIsSet(UMLPackage.COMMENT__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMMENT__BODY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Element> getAnnotatedElements() {
+ return (EList<Element>) eDynamicGet(
+ UMLPackage.COMMENT__ANNOTATED_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMMENT__ANNOTATED_ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.COMMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.COMMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.COMMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.COMMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.COMMENT__ANNOTATED_ELEMENT :
+ return getAnnotatedElements();
+ case UMLPackage.COMMENT__BODY :
+ return getBody();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.COMMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.COMMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.COMMENT__ANNOTATED_ELEMENT :
+ getAnnotatedElements().clear();
+ getAnnotatedElements()
+ .addAll((Collection<? extends Element>) newValue);
+ return;
+ case UMLPackage.COMMENT__BODY :
+ setBody((String) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.COMMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.COMMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.COMMENT__ANNOTATED_ELEMENT :
+ getAnnotatedElements().clear();
+ return;
+ case UMLPackage.COMMENT__BODY :
+ unsetBody();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.COMMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.COMMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.COMMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.COMMENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.COMMENT__ANNOTATED_ELEMENT :
+ return !getAnnotatedElements().isEmpty();
+ case UMLPackage.COMMENT__BODY :
+ return isSetBody();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //CommentImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CommunicationPathImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CommunicationPathImpl.java
new file mode 100644
index 00000000..6b34a590
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CommunicationPathImpl.java
@@ -0,0 +1,385 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.CommunicationPathOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Communication Path</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class CommunicationPathImpl
+ extends AssociationImpl
+ implements CommunicationPath {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CommunicationPathImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.COMMUNICATION_PATH;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean validateAssociationEnds(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CommunicationPathOperations.validateAssociationEnds(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.COMMUNICATION_PATH___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.COMMUNICATION_PATH___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.COMMUNICATION_PATH___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.COMMUNICATION_PATH___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.COMMUNICATION_PATH___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___GET_MODEL :
+ return getModel();
+ case UMLPackage.COMMUNICATION_PATH___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.COMMUNICATION_PATH___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.COMMUNICATION_PATH___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.COMMUNICATION_PATH___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.COMMUNICATION_PATH___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.COMMUNICATION_PATH___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.COMMUNICATION_PATH___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.COMMUNICATION_PATH___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.COMMUNICATION_PATH___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___GET_LABEL :
+ return getLabel();
+ case UMLPackage.COMMUNICATION_PATH___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.COMMUNICATION_PATH___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.COMMUNICATION_PATH___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.COMMUNICATION_PATH___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.COMMUNICATION_PATH___SEPARATOR :
+ return separator();
+ case UMLPackage.COMMUNICATION_PATH___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.COMMUNICATION_PATH___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.COMMUNICATION_PATH___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.COMMUNICATION_PATH___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.COMMUNICATION_PATH___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.COMMUNICATION_PATH___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.COMMUNICATION_PATH___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.COMMUNICATION_PATH___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.COMMUNICATION_PATH___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.COMMUNICATION_PATH___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.COMMUNICATION_PATH___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.COMMUNICATION_PATH___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.COMMUNICATION_PATH___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.COMMUNICATION_PATH___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.COMMUNICATION_PATH___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.COMMUNICATION_PATH___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.COMMUNICATION_PATH___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.COMMUNICATION_PATH___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.COMMUNICATION_PATH___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___PARENTS :
+ return parents();
+ case UMLPackage.COMMUNICATION_PATH___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.COMMUNICATION_PATH___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.COMMUNICATION_PATH___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.COMMUNICATION_PATH___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.COMMUNICATION_PATH___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.COMMUNICATION_PATH___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.COMMUNICATION_PATH___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializedEndNumber(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializedEndTypes(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
+ return validateBinaryAssociations(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
+ return validateAssociationEnds(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___VALIDATE_ENDS_MUST_BE_TYPED__DIAGNOSTICCHAIN_MAP :
+ return validateEndsMustBeTyped(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMMUNICATION_PATH___IS_BINARY :
+ return isBinary();
+ case UMLPackage.COMMUNICATION_PATH___GET_END_TYPES :
+ return getEndTypes();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //CommunicationPathImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ComponentImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ComponentImpl.java
new file mode 100644
index 00000000..5a754983
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ComponentImpl.java
@@ -0,0 +1,1591 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ComponentOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Component</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ComponentImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ComponentImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ComponentImpl#isIndirectlyInstantiated <em>Is Indirectly Instantiated</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ComponentImpl#getPackagedElements <em>Packaged Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ComponentImpl#getProvideds <em>Provided</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ComponentImpl#getRealizations <em>Realization</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ComponentImpl#getRequireds <em>Required</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ComponentImpl
+ extends ClassImpl
+ implements Component {
+
+ /**
+ * The default value of the '{@link #isIndirectlyInstantiated() <em>Is Indirectly Instantiated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIndirectlyInstantiated()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_INDIRECTLY_INSTANTIATED_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComponentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.COMPONENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.COMPONENT__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.COMPONENT__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.COMPONENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.COMPONENT__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIndirectlyInstantiated() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.COMPONENT__IS_INDIRECTLY_INSTANTIATED
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMPONENT__IS_INDIRECTLY_INSTANTIATED, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsIndirectlyInstantiated(
+ boolean newIsIndirectlyInstantiated) {
+ eDynamicSet(
+ UMLPackage.COMPONENT__IS_INDIRECTLY_INSTANTIATED
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMPONENT__IS_INDIRECTLY_INSTANTIATED,
+ newIsIndirectlyInstantiated);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> getRequireds() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.COMPONENT__REQUIRED);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.COMPONENT__REQUIRED,
+ result = ComponentOperations.getRequireds(this));
+ }
+ return result;
+ }
+ return ComponentOperations.getRequireds(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getRequired(String name) {
+ return getRequired(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getRequired(String name, boolean ignoreCase) {
+ requiredLoop : for (Interface required : getRequireds()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(required.getName())
+ : name.equals(required.getName())))
+ continue requiredLoop;
+ return required;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoNestedClassifiers(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ComponentOperations.validateNoNestedClassifiers(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoPackagedElements(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ComponentOperations.validateNoPackagedElements(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> getProvideds() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.COMPONENT__PROVIDED);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.COMPONENT__PROVIDED,
+ result = ComponentOperations.getProvideds(this));
+ }
+ return result;
+ }
+ return ComponentOperations.getProvideds(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getProvided(String name) {
+ return getProvided(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getProvided(String name, boolean ignoreCase) {
+ providedLoop : for (Interface provided : getProvideds()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(provided.getName())
+ : name.equals(provided.getName())))
+ continue providedLoop;
+ return provided;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<PackageableElement> getPackagedElements() {
+ return (EList<PackageableElement>) eDynamicGet(
+ UMLPackage.COMPONENT__PACKAGED_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMPONENT__PACKAGED_ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement createPackagedElement(String name,
+ EClass eClass) {
+ PackageableElement newPackagedElement = (PackageableElement) create(
+ eClass);
+ getPackagedElements().add(newPackagedElement);
+ if (name != null)
+ newPackagedElement.setName(name);
+ return newPackagedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getPackagedElement(String name) {
+ return getPackagedElement(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getPackagedElement(String name,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ packagedElementLoop : for (PackageableElement packagedElement : getPackagedElements()) {
+ if (eClass != null && !eClass.isInstance(packagedElement))
+ continue packagedElementLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(packagedElement.getName())
+ : name.equals(packagedElement.getName())))
+ continue packagedElementLoop;
+ return packagedElement;
+ }
+ return createOnDemand && eClass != null
+ ? createPackagedElement(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ComponentRealization> getRealizations() {
+ return (EList<ComponentRealization>) eDynamicGet(
+ UMLPackage.COMPONENT__REALIZATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMPONENT__REALIZATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentRealization createRealization(String name) {
+ ComponentRealization newRealization = (ComponentRealization) create(
+ UMLPackage.Literals.COMPONENT_REALIZATION);
+ getRealizations().add(newRealization);
+ if (name != null)
+ newRealization.setName(name);
+ return newRealization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentRealization getRealization(String name) {
+ return getRealization(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentRealization getRealization(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ realizationLoop : for (ComponentRealization realization : getRealizations()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(realization.getName())
+ : name.equals(realization.getName())))
+ continue realizationLoop;
+ return realization;
+ }
+ return createOnDemand
+ ? createRealization(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class createOwnedClass(String name,
+ boolean isAbstract) {
+ return ComponentOperations.createOwnedClass(this, name, isAbstract);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumeration createOwnedEnumeration(String name) {
+ return ComponentOperations.createOwnedEnumeration(this, name);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PrimitiveType createOwnedPrimitiveType(String name) {
+ return ComponentOperations.createOwnedPrimitiveType(this, name);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface createOwnedInterface(String name) {
+ return ComponentOperations.createOwnedInterface(this, name);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.COMPONENT__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COMPONENT__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COMPONENT__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COMPONENT__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COMPONENT__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.COMPONENT__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.COMPONENT__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COMPONENT__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.COMPONENT__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.COMPONENT__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COMPONENT__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COMPONENT__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COMPONENT__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COMPONENT__INTERFACE_REALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInterfaceRealizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COMPONENT__OWNED_OPERATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedOperations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COMPONENT__REALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getRealizations())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.COMPONENT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.COMPONENT__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.COMPONENT__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.COMPONENT__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.COMPONENT__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.COMPONENT__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__OWNED_CONNECTOR :
+ return ((InternalEList<?>) getOwnedConnectors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__INTERFACE_REALIZATION :
+ return ((InternalEList<?>) getInterfaceRealizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__OWNED_BEHAVIOR :
+ return ((InternalEList<?>) getOwnedBehaviors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__NESTED_CLASSIFIER :
+ return ((InternalEList<?>) getNestedClassifiers())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__OWNED_RECEPTION :
+ return ((InternalEList<?>) getOwnedReceptions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__PACKAGED_ELEMENT :
+ return ((InternalEList<?>) getPackagedElements())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT__REALIZATION :
+ return ((InternalEList<?>) getRealizations())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.COMPONENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.COMPONENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.COMPONENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.COMPONENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.COMPONENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.COMPONENT__NAME :
+ return getName();
+ case UMLPackage.COMPONENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.COMPONENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.COMPONENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.COMPONENT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.COMPONENT__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.COMPONENT__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.COMPONENT__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.COMPONENT__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.COMPONENT__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.COMPONENT__MEMBER :
+ return getMembers();
+ case UMLPackage.COMPONENT__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.COMPONENT__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.COMPONENT__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.COMPONENT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.COMPONENT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.COMPONENT__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.COMPONENT__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.COMPONENT__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.COMPONENT__FEATURE :
+ return getFeatures();
+ case UMLPackage.COMPONENT__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.COMPONENT__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.COMPONENT__GENERAL :
+ return getGenerals();
+ case UMLPackage.COMPONENT__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.COMPONENT__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.COMPONENT__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.COMPONENT__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.COMPONENT__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.COMPONENT__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.COMPONENT__USE_CASE :
+ return getUseCases();
+ case UMLPackage.COMPONENT__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.COMPONENT__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.COMPONENT__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.COMPONENT__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.COMPONENT__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.COMPONENT__PART :
+ return getParts();
+ case UMLPackage.COMPONENT__ROLE :
+ return getRoles();
+ case UMLPackage.COMPONENT__OWNED_PORT :
+ return getOwnedPorts();
+ case UMLPackage.COMPONENT__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.COMPONENT__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.COMPONENT__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ case UMLPackage.COMPONENT__OWNED_OPERATION :
+ return getOwnedOperations();
+ case UMLPackage.COMPONENT__EXTENSION :
+ return getExtensions();
+ case UMLPackage.COMPONENT__IS_ACTIVE :
+ return isActive();
+ case UMLPackage.COMPONENT__NESTED_CLASSIFIER :
+ return getNestedClassifiers();
+ case UMLPackage.COMPONENT__OWNED_RECEPTION :
+ return getOwnedReceptions();
+ case UMLPackage.COMPONENT__SUPER_CLASS :
+ return getSuperClasses();
+ case UMLPackage.COMPONENT__IS_INDIRECTLY_INSTANTIATED :
+ return isIndirectlyInstantiated();
+ case UMLPackage.COMPONENT__PACKAGED_ELEMENT :
+ return getPackagedElements();
+ case UMLPackage.COMPONENT__PROVIDED :
+ return getProvideds();
+ case UMLPackage.COMPONENT__REALIZATION :
+ return getRealizations();
+ case UMLPackage.COMPONENT__REQUIRED :
+ return getRequireds();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.COMPONENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.COMPONENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.COMPONENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.COMPONENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.COMPONENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.COMPONENT__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.COMPONENT__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.COMPONENT__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.COMPONENT__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.COMPONENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.COMPONENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.COMPONENT__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.COMPONENT__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.COMPONENT__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.COMPONENT__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.COMPONENT__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.COMPONENT__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.COMPONENT__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.COMPONENT__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.COMPONENT__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.COMPONENT__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.COMPONENT__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.COMPONENT__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.COMPONENT__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.COMPONENT__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.COMPONENT__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.COMPONENT__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.COMPONENT__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.COMPONENT__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.COMPONENT__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.COMPONENT__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ case UMLPackage.COMPONENT__IS_ACTIVE :
+ setIsActive((Boolean) newValue);
+ return;
+ case UMLPackage.COMPONENT__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ getNestedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.COMPONENT__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ getOwnedReceptions()
+ .addAll((Collection<? extends Reception>) newValue);
+ return;
+ case UMLPackage.COMPONENT__SUPER_CLASS :
+ getSuperClasses().clear();
+ getSuperClasses().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Class>) newValue);
+ return;
+ case UMLPackage.COMPONENT__IS_INDIRECTLY_INSTANTIATED :
+ setIsIndirectlyInstantiated((Boolean) newValue);
+ return;
+ case UMLPackage.COMPONENT__PACKAGED_ELEMENT :
+ getPackagedElements().clear();
+ getPackagedElements().addAll(
+ (Collection<? extends PackageableElement>) newValue);
+ return;
+ case UMLPackage.COMPONENT__REALIZATION :
+ getRealizations().clear();
+ getRealizations().addAll(
+ (Collection<? extends ComponentRealization>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.COMPONENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.COMPONENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.COMPONENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.COMPONENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.COMPONENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.COMPONENT__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.COMPONENT__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.COMPONENT__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.COMPONENT__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.COMPONENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.COMPONENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.COMPONENT__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.COMPONENT__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.COMPONENT__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.COMPONENT__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.COMPONENT__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.COMPONENT__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.COMPONENT__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.COMPONENT__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.COMPONENT__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.COMPONENT__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.COMPONENT__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.COMPONENT__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.COMPONENT__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.COMPONENT__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.COMPONENT__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.COMPONENT__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ case UMLPackage.COMPONENT__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.COMPONENT__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.COMPONENT__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ case UMLPackage.COMPONENT__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ case UMLPackage.COMPONENT__IS_ACTIVE :
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ case UMLPackage.COMPONENT__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ return;
+ case UMLPackage.COMPONENT__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ return;
+ case UMLPackage.COMPONENT__SUPER_CLASS :
+ getSuperClasses().clear();
+ return;
+ case UMLPackage.COMPONENT__IS_INDIRECTLY_INSTANTIATED :
+ setIsIndirectlyInstantiated(
+ IS_INDIRECTLY_INSTANTIATED_EDEFAULT);
+ return;
+ case UMLPackage.COMPONENT__PACKAGED_ELEMENT :
+ getPackagedElements().clear();
+ return;
+ case UMLPackage.COMPONENT__REALIZATION :
+ getRealizations().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.COMPONENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.COMPONENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.COMPONENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.COMPONENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.COMPONENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.COMPONENT__NAME :
+ return isSetName();
+ case UMLPackage.COMPONENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.COMPONENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.COMPONENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.COMPONENT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.COMPONENT__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.COMPONENT__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.COMPONENT__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.COMPONENT__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.COMPONENT__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.COMPONENT__MEMBER :
+ return isSetMembers();
+ case UMLPackage.COMPONENT__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.COMPONENT__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.COMPONENT__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.COMPONENT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.COMPONENT__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.COMPONENT__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.COMPONENT__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.COMPONENT__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.COMPONENT__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.COMPONENT__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.COMPONENT__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.COMPONENT__GENERAL :
+ return isSetGenerals();
+ case UMLPackage.COMPONENT__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.COMPONENT__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.COMPONENT__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.COMPONENT__IS_ABSTRACT :
+ return isSetIsAbstract();
+ case UMLPackage.COMPONENT__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.COMPONENT__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.COMPONENT__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.COMPONENT__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.COMPONENT__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.COMPONENT__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.COMPONENT__OWNED_ATTRIBUTE :
+ return isSetOwnedAttributes();
+ case UMLPackage.COMPONENT__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.COMPONENT__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.COMPONENT__ROLE :
+ return isSetRoles();
+ case UMLPackage.COMPONENT__OWNED_PORT :
+ return !getOwnedPorts().isEmpty();
+ case UMLPackage.COMPONENT__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.COMPONENT__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.COMPONENT__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ case UMLPackage.COMPONENT__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ case UMLPackage.COMPONENT__EXTENSION :
+ return !getExtensions().isEmpty();
+ case UMLPackage.COMPONENT__IS_ACTIVE :
+ return isActive() != IS_ACTIVE_EDEFAULT;
+ case UMLPackage.COMPONENT__NESTED_CLASSIFIER :
+ return !getNestedClassifiers().isEmpty();
+ case UMLPackage.COMPONENT__OWNED_RECEPTION :
+ return !getOwnedReceptions().isEmpty();
+ case UMLPackage.COMPONENT__SUPER_CLASS :
+ return isSetSuperClasses();
+ case UMLPackage.COMPONENT__IS_INDIRECTLY_INSTANTIATED :
+ return isIndirectlyInstantiated() != IS_INDIRECTLY_INSTANTIATED_EDEFAULT;
+ case UMLPackage.COMPONENT__PACKAGED_ELEMENT :
+ return !getPackagedElements().isEmpty();
+ case UMLPackage.COMPONENT__PROVIDED :
+ return !getProvideds().isEmpty();
+ case UMLPackage.COMPONENT__REALIZATION :
+ return !getRealizations().isEmpty();
+ case UMLPackage.COMPONENT__REQUIRED :
+ return !getRequireds().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.COMPONENT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.COMPONENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.COMPONENT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.COMPONENT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.COMPONENT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.COMPONENT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.COMPONENT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.COMPONENT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.COMPONENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COMPONENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_MODEL :
+ return getModel();
+ case UMLPackage.COMPONENT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.COMPONENT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.COMPONENT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.COMPONENT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.COMPONENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.COMPONENT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.COMPONENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COMPONENT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.COMPONENT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.COMPONENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.COMPONENT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.COMPONENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.COMPONENT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.COMPONENT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.COMPONENT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.COMPONENT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.COMPONENT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.COMPONENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.COMPONENT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.COMPONENT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.COMPONENT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.COMPONENT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.COMPONENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.COMPONENT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.COMPONENT___SEPARATOR :
+ return separator();
+ case UMLPackage.COMPONENT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.COMPONENT___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.COMPONENT___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.COMPONENT___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.COMPONENT___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.COMPONENT___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.COMPONENT___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.COMPONENT___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.COMPONENT___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.COMPONENT___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.COMPONENT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.COMPONENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.COMPONENT___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.COMPONENT___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.COMPONENT___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.COMPONENT___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.COMPONENT___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.COMPONENT___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.COMPONENT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.COMPONENT___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.COMPONENT___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.COMPONENT___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.COMPONENT___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.COMPONENT___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.COMPONENT___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.COMPONENT___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.COMPONENT___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.COMPONENT___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.COMPONENT___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.COMPONENT___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.COMPONENT___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.COMPONENT___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.COMPONENT___PARENTS :
+ return parents();
+ case UMLPackage.COMPONENT___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.COMPONENT___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.COMPONENT___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.COMPONENT___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.COMPONENT___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.COMPONENT___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.COMPONENT___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.COMPONENT___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.COMPONENT___GET_PARTS :
+ return getParts();
+ case UMLPackage.COMPONENT___ALL_ROLES :
+ return allRoles();
+ case UMLPackage.COMPONENT___GET_OWNED_PORTS :
+ return getOwnedPorts();
+ case UMLPackage.COMPONENT___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.COMPONENT___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ case UMLPackage.COMPONENT___VALIDATE_PASSIVE_CLASS__DIAGNOSTICCHAIN_MAP :
+ return validatePassiveClass((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ case UMLPackage.COMPONENT___IS_METACLASS :
+ return isMetaclass();
+ case UMLPackage.COMPONENT___GET_EXTENSIONS :
+ return getExtensions();
+ case UMLPackage.COMPONENT___GET_SUPER_CLASSES :
+ return getSuperClasses();
+ case UMLPackage.COMPONENT___VALIDATE_NO_NESTED_CLASSIFIERS__DIAGNOSTICCHAIN_MAP :
+ return validateNoNestedClassifiers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___VALIDATE_NO_PACKAGED_ELEMENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNoPackagedElements(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.COMPONENT___CREATE_OWNED_CLASS__STRING_BOOLEAN :
+ return createOwnedClass((String) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.COMPONENT___CREATE_OWNED_ENUMERATION__STRING :
+ return createOwnedEnumeration((String) arguments.get(0));
+ case UMLPackage.COMPONENT___CREATE_OWNED_INTERFACE__STRING :
+ return createOwnedInterface((String) arguments.get(0));
+ case UMLPackage.COMPONENT___CREATE_OWNED_PRIMITIVE_TYPE__STRING :
+ return createOwnedPrimitiveType((String) arguments.get(0));
+ case UMLPackage.COMPONENT___GET_PROVIDEDS :
+ return getProvideds();
+ case UMLPackage.COMPONENT___GET_REQUIREDS :
+ return getRequireds();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.COMPONENT__OWNED_RULE, UMLPackage.COMPONENT__OWNED_USE_CASE,
+ UMLPackage.COMPONENT__OWNED_ATTRIBUTE,
+ UMLPackage.COMPONENT__OWNED_CONNECTOR,
+ UMLPackage.COMPONENT__OWNED_BEHAVIOR,
+ UMLPackage.COMPONENT__OWNED_OPERATION,
+ UMLPackage.COMPONENT__NESTED_CLASSIFIER,
+ UMLPackage.COMPONENT__OWNED_RECEPTION,
+ UMLPackage.COMPONENT__PACKAGED_ELEMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.COMPONENT__PACKAGED_ELEMENT);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.COMPONENT__OWNED_COMMENT,
+ UMLPackage.COMPONENT__NAME_EXPRESSION,
+ UMLPackage.COMPONENT__ELEMENT_IMPORT,
+ UMLPackage.COMPONENT__PACKAGE_IMPORT,
+ UMLPackage.COMPONENT__OWNED_MEMBER,
+ UMLPackage.COMPONENT__TEMPLATE_BINDING,
+ UMLPackage.COMPONENT__OWNED_TEMPLATE_SIGNATURE,
+ UMLPackage.COMPONENT__COLLABORATION_USE,
+ UMLPackage.COMPONENT__GENERALIZATION,
+ UMLPackage.COMPONENT__SUBSTITUTION,
+ UMLPackage.COMPONENT__INTERFACE_REALIZATION,
+ UMLPackage.COMPONENT__REALIZATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.COMPONENT__REALIZATION);
+ }
+
+} //ComponentImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ComponentRealizationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ComponentRealizationImpl.java
new file mode 100644
index 00000000..9a3b435e
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ComponentRealizationImpl.java
@@ -0,0 +1,642 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Component Realization</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ComponentRealizationImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ComponentRealizationImpl#getClients <em>Client</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ComponentRealizationImpl#getSuppliers <em>Supplier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ComponentRealizationImpl#getRealizingClassifiers <em>Realizing Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ComponentRealizationImpl#getAbstraction <em>Abstraction</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ComponentRealizationImpl
+ extends RealizationImpl
+ implements ComponentRealization {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComponentRealizationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.COMPONENT_REALIZATION;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.DEPENDENCY__CLIENT) {
+ return createClientsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.COMPONENT_REALIZATION__REALIZING_CLASSIFIER) {
+ return createRealizingClassifiersList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.DEPENDENCY__SUPPLIER) {
+ return createSuppliersList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getClients() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.COMPONENT_REALIZATION__CLIENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPENDENCY__CLIENT, true, true);
+ }
+
+ private EList<NamedElement> createClientsList() {
+ return new SubsetSupersetEObjectResolvingEList<NamedElement>(
+ NamedElement.class, this, UMLPackage.COMPONENT_REALIZATION__CLIENT,
+ null, CLIENT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getClients() <em>Client</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClients()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] CLIENT_ESUBSETS = new int[]{
+ UMLPackage.COMPONENT_REALIZATION__REALIZING_CLASSIFIER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getSuppliers() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.COMPONENT_REALIZATION__SUPPLIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPENDENCY__SUPPLIER, true, true);
+ }
+
+ private EList<NamedElement> createSuppliersList() {
+ return new SubsetSupersetEObjectResolvingEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.COMPONENT_REALIZATION__SUPPLIER, null,
+ SUPPLIER_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSuppliers() <em>Supplier</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuppliers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SUPPLIER_ESUBSETS = new int[]{
+ UMLPackage.COMPONENT_REALIZATION__ABSTRACTION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component getAbstraction() {
+ return (Component) eDynamicGet(
+ UMLPackage.COMPONENT_REALIZATION__ABSTRACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMPONENT_REALIZATION__ABSTRACTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component basicGetAbstraction() {
+ return (Component) eDynamicGet(
+ UMLPackage.COMPONENT_REALIZATION__ABSTRACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMPONENT_REALIZATION__ABSTRACTION, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAbstraction(Component newAbstraction,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newAbstraction,
+ UMLPackage.COMPONENT_REALIZATION__ABSTRACTION, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newAbstraction != null) {
+ EList<NamedElement> suppliers = getSuppliers();
+ if (!suppliers.contains(newAbstraction)) {
+ suppliers.add(newAbstraction);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAbstraction(Component newAbstraction) {
+ eDynamicSet(
+ UMLPackage.COMPONENT_REALIZATION__ABSTRACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMPONENT_REALIZATION__ABSTRACTION,
+ newAbstraction);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newAbstraction != null) {
+ EList<NamedElement> suppliers = getSuppliers();
+ if (!suppliers.contains(newAbstraction)) {
+ suppliers.add(newAbstraction);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getRealizingClassifiers() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.COMPONENT_REALIZATION__REALIZING_CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.COMPONENT_REALIZATION__REALIZING_CLASSIFIER,
+ true, true);
+ }
+
+ private EList<Classifier> createRealizingClassifiersList() {
+ return new SubsetSupersetEObjectResolvingEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.COMPONENT_REALIZATION__REALIZING_CLASSIFIER,
+ REALIZING_CLASSIFIER_ESUPERSETS, null);
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getRealizingClassifiers() <em>Realizing Classifier</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRealizingClassifiers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REALIZING_CLASSIFIER_ESUPERSETS = new int[]{
+ UMLPackage.COMPONENT_REALIZATION__CLIENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRealizingClassifier(String name) {
+ return getRealizingClassifier(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRealizingClassifier(String name, boolean ignoreCase,
+ EClass eClass) {
+ realizingClassifierLoop : for (Classifier realizingClassifier : getRealizingClassifiers()) {
+ if (eClass != null && !eClass.isInstance(realizingClassifier))
+ continue realizingClassifierLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(realizingClassifier.getName())
+ : name.equals(realizingClassifier.getName())))
+ continue realizingClassifierLoop;
+ return realizingClassifier;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.COMPONENT_REALIZATION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.COMPONENT_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.COMPONENT_REALIZATION__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.COMPONENT_REALIZATION__ABSTRACTION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetAbstraction((Component) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.COMPONENT_REALIZATION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT_REALIZATION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.COMPONENT_REALIZATION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.COMPONENT_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.COMPONENT_REALIZATION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.COMPONENT_REALIZATION__MAPPING :
+ return basicSetMapping(null, msgs);
+ case UMLPackage.COMPONENT_REALIZATION__ABSTRACTION :
+ return basicSetAbstraction(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.COMPONENT_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ case UMLPackage.COMPONENT_REALIZATION__ABSTRACTION :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.COMPONENT__REALIZATION, Component.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.COMPONENT_REALIZATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.COMPONENT_REALIZATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.COMPONENT_REALIZATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.COMPONENT_REALIZATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.COMPONENT_REALIZATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.COMPONENT_REALIZATION__NAME :
+ return getName();
+ case UMLPackage.COMPONENT_REALIZATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.COMPONENT_REALIZATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.COMPONENT_REALIZATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.COMPONENT_REALIZATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.COMPONENT_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.COMPONENT_REALIZATION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.COMPONENT_REALIZATION__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.COMPONENT_REALIZATION__SOURCE :
+ return getSources();
+ case UMLPackage.COMPONENT_REALIZATION__TARGET :
+ return getTargets();
+ case UMLPackage.COMPONENT_REALIZATION__CLIENT :
+ return getClients();
+ case UMLPackage.COMPONENT_REALIZATION__SUPPLIER :
+ return getSuppliers();
+ case UMLPackage.COMPONENT_REALIZATION__MAPPING :
+ if (resolve)
+ return getMapping();
+ return basicGetMapping();
+ case UMLPackage.COMPONENT_REALIZATION__REALIZING_CLASSIFIER :
+ return getRealizingClassifiers();
+ case UMLPackage.COMPONENT_REALIZATION__ABSTRACTION :
+ if (resolve)
+ return getAbstraction();
+ return basicGetAbstraction();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.COMPONENT_REALIZATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__CLIENT :
+ getClients().clear();
+ getClients()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__SUPPLIER :
+ getSuppliers().clear();
+ getSuppliers()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__MAPPING :
+ setMapping((OpaqueExpression) newValue);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__REALIZING_CLASSIFIER :
+ getRealizingClassifiers().clear();
+ getRealizingClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__ABSTRACTION :
+ setAbstraction((Component) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.COMPONENT_REALIZATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__CLIENT :
+ getClients().clear();
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__SUPPLIER :
+ getSuppliers().clear();
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__MAPPING :
+ setMapping((OpaqueExpression) null);
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__REALIZING_CLASSIFIER :
+ getRealizingClassifiers().clear();
+ return;
+ case UMLPackage.COMPONENT_REALIZATION__ABSTRACTION :
+ setAbstraction((Component) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.COMPONENT_REALIZATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.COMPONENT_REALIZATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.COMPONENT_REALIZATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.COMPONENT_REALIZATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.COMPONENT_REALIZATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.COMPONENT_REALIZATION__NAME :
+ return isSetName();
+ case UMLPackage.COMPONENT_REALIZATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.COMPONENT_REALIZATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.COMPONENT_REALIZATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.COMPONENT_REALIZATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.COMPONENT_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.COMPONENT_REALIZATION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.COMPONENT_REALIZATION__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.COMPONENT_REALIZATION__SOURCE :
+ return isSetSources();
+ case UMLPackage.COMPONENT_REALIZATION__TARGET :
+ return isSetTargets();
+ case UMLPackage.COMPONENT_REALIZATION__CLIENT :
+ return !getClients().isEmpty();
+ case UMLPackage.COMPONENT_REALIZATION__SUPPLIER :
+ return !getSuppliers().isEmpty();
+ case UMLPackage.COMPONENT_REALIZATION__MAPPING :
+ return basicGetMapping() != null;
+ case UMLPackage.COMPONENT_REALIZATION__REALIZING_CLASSIFIER :
+ return !getRealizingClassifiers().isEmpty();
+ case UMLPackage.COMPONENT_REALIZATION__ABSTRACTION :
+ return basicGetAbstraction() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ Component abstraction = basicGetAbstraction();
+ if (abstraction != null) {
+ return abstraction;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.COMPONENT_REALIZATION__ABSTRACTION);
+ }
+
+} //ComponentRealizationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConditionalNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConditionalNodeImpl.java
new file mode 100644
index 00000000..b3c34dba
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConditionalNodeImpl.java
@@ -0,0 +1,1255 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 397139, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Clause;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Variable;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ConditionalNodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conditional Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConditionalNodeImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConditionalNodeImpl#getClauses <em>Clause</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConditionalNodeImpl#isAssured <em>Is Assured</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConditionalNodeImpl#isDeterminate <em>Is Determinate</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConditionalNodeImpl#getResults <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConditionalNodeImpl
+ extends StructuredActivityNodeImpl
+ implements ConditionalNode {
+
+ /**
+ * The default value of the '{@link #isAssured() <em>Is Assured</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isAssured()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ASSURED_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isDeterminate() <em>Is Determinate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDeterminate()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DETERMINATE_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConditionalNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CONDITIONAL_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.CONDITIONAL_NODE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.CONDITIONAL_NODE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDeterminate() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.CONDITIONAL_NODE__IS_DETERMINATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONDITIONAL_NODE__IS_DETERMINATE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDeterminate(boolean newIsDeterminate) {
+ eDynamicSet(
+ UMLPackage.CONDITIONAL_NODE__IS_DETERMINATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONDITIONAL_NODE__IS_DETERMINATE,
+ newIsDeterminate);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isAssured() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.CONDITIONAL_NODE__IS_ASSURED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONDITIONAL_NODE__IS_ASSURED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsAssured(boolean newIsAssured) {
+ eDynamicSet(
+ UMLPackage.CONDITIONAL_NODE__IS_ASSURED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONDITIONAL_NODE__IS_ASSURED, newIsAssured);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Clause> getClauses() {
+ return (EList<Clause>) eDynamicGet(
+ UMLPackage.CONDITIONAL_NODE__CLAUSE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONDITIONAL_NODE__CLAUSE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Clause createClause() {
+ Clause newClause = (Clause) create(UMLPackage.Literals.CLAUSE);
+ getClauses().add(newClause);
+ return newClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputPin> getResults() {
+ return (EList<OutputPin>) eDynamicGet(
+ UMLPackage.CONDITIONAL_NODE__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONDITIONAL_NODE__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ getResults().add(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult(String name, Type type) {
+ return getResult(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult(String name, Type type, boolean ignoreCase,
+ boolean createOnDemand) {
+ resultLoop : for (OutputPin result : getResults()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(result.getName())
+ : name.equals(result.getName())))
+ continue resultLoop;
+ if (type != null && !type.equals(result.getType()))
+ continue resultLoop;
+ return result;
+ }
+ return createOnDemand
+ ? createResult(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetResults() {
+ return !getResults().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResultNoIncoming(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConditionalNodeOperations.validateResultNoIncoming(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoInputPins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConditionalNodeOperations.validateNoInputPins(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneClauseWithExecutableNode(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ConditionalNodeOperations
+ .validateOneClauseWithExecutableNode(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMatchingOutputPins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConditionalNodeOperations.validateMatchingOutputPins(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateExecutableNodes(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConditionalNodeOperations.validateExecutableNodes(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClauseNoPredecessor(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConditionalNodeOperations.validateClauseNoPredecessor(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Action> allActions() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Action> result = (EList<Action>) cache.get(this,
+ UMLPackage.Literals.ACTION___ALL_ACTIONS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.ACTION___ALL_ACTIONS,
+ result = ConditionalNodeOperations.allActions(this));
+ }
+ return result;
+ }
+ return ConditionalNodeOperations.allActions(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CONDITIONAL_NODE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONDITIONAL_NODE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONDITIONAL_NODE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CONDITIONAL_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONDITIONAL_NODE__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.CONDITIONAL_NODE__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CONDITIONAL_NODE__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CONDITIONAL_NODE__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONDITIONAL_NODE__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CONDITIONAL_NODE__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONDITIONAL_NODE__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONDITIONAL_NODE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONDITIONAL_NODE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONDITIONAL_NODE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONDITIONAL_NODE__EDGE :
+ return ((InternalEList<?>) getEdges()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CONDITIONAL_NODE__STRUCTURED_NODE_INPUT :
+ return ((InternalEList<?>) getStructuredNodeInputs())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONDITIONAL_NODE__STRUCTURED_NODE_OUTPUT :
+ return ((InternalEList<?>) getStructuredNodeOutputs())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONDITIONAL_NODE__VARIABLE :
+ return ((InternalEList<?>) getVariables()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CONDITIONAL_NODE__NODE :
+ return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CONDITIONAL_NODE__CLAUSE :
+ return ((InternalEList<?>) getClauses()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CONDITIONAL_NODE__RESULT :
+ return ((InternalEList<?>) getResults()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CONDITIONAL_NODE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CONDITIONAL_NODE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CONDITIONAL_NODE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CONDITIONAL_NODE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CONDITIONAL_NODE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CONDITIONAL_NODE__NAME :
+ return getName();
+ case UMLPackage.CONDITIONAL_NODE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CONDITIONAL_NODE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CONDITIONAL_NODE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONDITIONAL_NODE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CONDITIONAL_NODE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.CONDITIONAL_NODE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.CONDITIONAL_NODE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.CONDITIONAL_NODE__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.CONDITIONAL_NODE__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.CONDITIONAL_NODE__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.CONDITIONAL_NODE__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.CONDITIONAL_NODE__INCOMING :
+ return getIncomings();
+ case UMLPackage.CONDITIONAL_NODE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.CONDITIONAL_NODE__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.CONDITIONAL_NODE__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.CONDITIONAL_NODE__HANDLER :
+ return getHandlers();
+ case UMLPackage.CONDITIONAL_NODE__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.CONDITIONAL_NODE__INPUT :
+ return getInputs();
+ case UMLPackage.CONDITIONAL_NODE__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.CONDITIONAL_NODE__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.CONDITIONAL_NODE__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.CONDITIONAL_NODE__OUTPUT :
+ return getOutputs();
+ case UMLPackage.CONDITIONAL_NODE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.CONDITIONAL_NODE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.CONDITIONAL_NODE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.CONDITIONAL_NODE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.CONDITIONAL_NODE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.CONDITIONAL_NODE__MEMBER :
+ return getMembers();
+ case UMLPackage.CONDITIONAL_NODE__CONTAINED_EDGE :
+ return getContainedEdges();
+ case UMLPackage.CONDITIONAL_NODE__CONTAINED_NODE :
+ return getContainedNodes();
+ case UMLPackage.CONDITIONAL_NODE__IN_ACTIVITY :
+ if (resolve)
+ return getInActivity();
+ return basicGetInActivity();
+ case UMLPackage.CONDITIONAL_NODE__SUBGROUP :
+ return getSubgroups();
+ case UMLPackage.CONDITIONAL_NODE__SUPER_GROUP :
+ if (resolve)
+ return getSuperGroup();
+ return basicGetSuperGroup();
+ case UMLPackage.CONDITIONAL_NODE__EDGE :
+ return getEdges();
+ case UMLPackage.CONDITIONAL_NODE__MUST_ISOLATE :
+ return isMustIsolate();
+ case UMLPackage.CONDITIONAL_NODE__STRUCTURED_NODE_INPUT :
+ return getStructuredNodeInputs();
+ case UMLPackage.CONDITIONAL_NODE__STRUCTURED_NODE_OUTPUT :
+ return getStructuredNodeOutputs();
+ case UMLPackage.CONDITIONAL_NODE__VARIABLE :
+ return getVariables();
+ case UMLPackage.CONDITIONAL_NODE__NODE :
+ return getNodes();
+ case UMLPackage.CONDITIONAL_NODE__CLAUSE :
+ return getClauses();
+ case UMLPackage.CONDITIONAL_NODE__IS_ASSURED :
+ return isAssured();
+ case UMLPackage.CONDITIONAL_NODE__IS_DETERMINATE :
+ return isDeterminate();
+ case UMLPackage.CONDITIONAL_NODE__RESULT :
+ return getResults();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CONDITIONAL_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IN_ACTIVITY :
+ setInActivity((Activity) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__EDGE :
+ getEdges().clear();
+ getEdges()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__MUST_ISOLATE :
+ setMustIsolate((Boolean) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__STRUCTURED_NODE_INPUT :
+ getStructuredNodeInputs().clear();
+ getStructuredNodeInputs()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__STRUCTURED_NODE_OUTPUT :
+ getStructuredNodeOutputs().clear();
+ getStructuredNodeOutputs()
+ .addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__VARIABLE :
+ getVariables().clear();
+ getVariables()
+ .addAll((Collection<? extends Variable>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__NODE :
+ getNodes().clear();
+ getNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__CLAUSE :
+ getClauses().clear();
+ getClauses().addAll((Collection<? extends Clause>) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IS_ASSURED :
+ setIsAssured((Boolean) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IS_DETERMINATE :
+ setIsDeterminate((Boolean) newValue);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__RESULT :
+ getResults().clear();
+ getResults().addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONDITIONAL_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IN_ACTIVITY :
+ setInActivity((Activity) null);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__EDGE :
+ getEdges().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__MUST_ISOLATE :
+ setMustIsolate(MUST_ISOLATE_EDEFAULT);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__STRUCTURED_NODE_INPUT :
+ getStructuredNodeInputs().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__STRUCTURED_NODE_OUTPUT :
+ getStructuredNodeOutputs().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__VARIABLE :
+ getVariables().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__NODE :
+ getNodes().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__CLAUSE :
+ getClauses().clear();
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IS_ASSURED :
+ setIsAssured(IS_ASSURED_EDEFAULT);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__IS_DETERMINATE :
+ setIsDeterminate(IS_DETERMINATE_EDEFAULT);
+ return;
+ case UMLPackage.CONDITIONAL_NODE__RESULT :
+ getResults().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONDITIONAL_NODE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CONDITIONAL_NODE__OWNER :
+ return isSetOwner();
+ case UMLPackage.CONDITIONAL_NODE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__NAME :
+ return isSetName();
+ case UMLPackage.CONDITIONAL_NODE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CONDITIONAL_NODE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CONDITIONAL_NODE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CONDITIONAL_NODE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CONDITIONAL_NODE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.CONDITIONAL_NODE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.CONDITIONAL_NODE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.CONDITIONAL_NODE__ACTIVITY :
+ return isSetActivity();
+ case UMLPackage.CONDITIONAL_NODE__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.CONDITIONAL_NODE__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.CONDITIONAL_NODE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.CONDITIONAL_NODE__INPUT :
+ return isSetInputs();
+ case UMLPackage.CONDITIONAL_NODE__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.CONDITIONAL_NODE__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.CONDITIONAL_NODE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.CONDITIONAL_NODE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.CONDITIONAL_NODE__CONTAINED_EDGE :
+ return isSetContainedEdges();
+ case UMLPackage.CONDITIONAL_NODE__CONTAINED_NODE :
+ return isSetContainedNodes();
+ case UMLPackage.CONDITIONAL_NODE__IN_ACTIVITY :
+ return isSetInActivity();
+ case UMLPackage.CONDITIONAL_NODE__SUBGROUP :
+ return isSetSubgroups();
+ case UMLPackage.CONDITIONAL_NODE__SUPER_GROUP :
+ return isSetSuperGroup();
+ case UMLPackage.CONDITIONAL_NODE__EDGE :
+ return !getEdges().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__MUST_ISOLATE :
+ return isMustIsolate() != MUST_ISOLATE_EDEFAULT;
+ case UMLPackage.CONDITIONAL_NODE__STRUCTURED_NODE_INPUT :
+ return !getStructuredNodeInputs().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__STRUCTURED_NODE_OUTPUT :
+ return isSetStructuredNodeOutputs();
+ case UMLPackage.CONDITIONAL_NODE__VARIABLE :
+ return !getVariables().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__NODE :
+ return !getNodes().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__CLAUSE :
+ return !getClauses().isEmpty();
+ case UMLPackage.CONDITIONAL_NODE__IS_ASSURED :
+ return isAssured() != IS_ASSURED_EDEFAULT;
+ case UMLPackage.CONDITIONAL_NODE__IS_DETERMINATE :
+ return isDeterminate() != IS_DETERMINATE_EDEFAULT;
+ case UMLPackage.CONDITIONAL_NODE__RESULT :
+ return isSetResults();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CONDITIONAL_NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CONDITIONAL_NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CONDITIONAL_NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CONDITIONAL_NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CONDITIONAL_NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.CONDITIONAL_NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CONDITIONAL_NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CONDITIONAL_NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CONDITIONAL_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CONDITIONAL_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CONDITIONAL_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CONDITIONAL_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CONDITIONAL_NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CONDITIONAL_NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CONDITIONAL_NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CONDITIONAL_NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CONDITIONAL_NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CONDITIONAL_NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONDITIONAL_NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.CONDITIONAL_NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.CONDITIONAL_NODE___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.CONDITIONAL_NODE___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.CONDITIONAL_NODE___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.CONDITIONAL_NODE___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.CONDITIONAL_NODE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.CONDITIONAL_NODE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.CONDITIONAL_NODE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.CONDITIONAL_NODE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.CONDITIONAL_NODE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateNodesAndEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
+ return validateNotContained((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateOutputPinEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateInputPinEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___SOURCE_NODES :
+ return sourceNodes();
+ case UMLPackage.CONDITIONAL_NODE___TARGET_NODES :
+ return targetNodes();
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_RESULT_NO_INCOMING__DIAGNOSTICCHAIN_MAP :
+ return validateResultNoIncoming(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateNoInputPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_ONE_CLAUSE_WITH_EXECUTABLE_NODE__DIAGNOSTICCHAIN_MAP :
+ return validateOneClauseWithExecutableNode(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_MATCHING_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateMatchingOutputPins(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_EXECUTABLE_NODES__DIAGNOSTICCHAIN_MAP :
+ return validateExecutableNodes(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONDITIONAL_NODE___VALIDATE_CLAUSE_NO_PREDECESSOR__DIAGNOSTICCHAIN_MAP :
+ return validateClauseNoPredecessor(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.CONDITIONAL_NODE__OWNED_COMMENT,
+ UMLPackage.CONDITIONAL_NODE__NAME_EXPRESSION,
+ UMLPackage.CONDITIONAL_NODE__HANDLER,
+ UMLPackage.CONDITIONAL_NODE__INPUT,
+ UMLPackage.CONDITIONAL_NODE__LOCAL_POSTCONDITION,
+ UMLPackage.CONDITIONAL_NODE__LOCAL_PRECONDITION,
+ UMLPackage.CONDITIONAL_NODE__OUTPUT,
+ UMLPackage.CONDITIONAL_NODE__ELEMENT_IMPORT,
+ UMLPackage.CONDITIONAL_NODE__PACKAGE_IMPORT,
+ UMLPackage.CONDITIONAL_NODE__OWNED_MEMBER,
+ UMLPackage.CONDITIONAL_NODE__SUBGROUP,
+ UMLPackage.CONDITIONAL_NODE__EDGE, UMLPackage.CONDITIONAL_NODE__NODE,
+ UMLPackage.CONDITIONAL_NODE__CLAUSE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.CONDITIONAL_NODE__CLAUSE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getStructuredNodeOutputs() {
+ return getResults();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetStructuredNodeOutputs() {
+ return false;
+ }
+
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.CONDITIONAL_NODE__RESULT};
+
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.CONDITIONAL_NODE__OUTPUT, OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.CONDITIONAL_NODE__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+} //ConditionalNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectableElementImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectableElementImpl.java
new file mode 100644
index 00000000..ea479506
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectableElementImpl.java
@@ -0,0 +1,758 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ConnectableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.ParameterableElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Connectable Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectableElementImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectableElementImpl#getTemplateParameter <em>Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectableElementImpl#getOwningTemplateParameter <em>Owning Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectableElementImpl#getEnds <em>End</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ConnectableElementImpl
+ extends TypedElementImpl
+ implements ConnectableElement {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConnectableElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CONNECTABLE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemplateParameterGen(
+ TemplateParameter newTemplateParameter, NotificationChain msgs) {
+ if (newTemplateParameter != null
+ && !(newTemplateParameter instanceof ConnectableElementTemplateParameter)) {
+ throw new IllegalArgumentException(
+ "newTemplateParameter must be an instance of ConnectableElementTemplateParameter"); //$NON-NLS-1$
+ }
+ msgs = eDynamicInverseAdd((InternalEObject) newTemplateParameter,
+ UMLPackage.CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER, msgs);
+ return msgs;
+ }
+
+ public NotificationChain basicSetTemplateParameter(
+ TemplateParameter newTemplateParameter, NotificationChain msgs) {
+ msgs = basicSetTemplateParameterGen(newTemplateParameter, msgs);
+
+ Resource.Internal eInternalResource = eInternalResource();
+
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+
+ if (owningTemplateParameter != null
+ && owningTemplateParameter != newTemplateParameter) {
+
+ setOwningTemplateParameter(null);
+ }
+ }
+
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemplateParameter(TemplateParameter newTemplateParameter) {
+ if (newTemplateParameter != null
+ && !(newTemplateParameter instanceof ConnectableElementTemplateParameter)) {
+ throw new IllegalArgumentException(
+ "newTemplateParameter must be an instance of ConnectableElementTemplateParameter"); //$NON-NLS-1$
+ }
+ eDynamicSet(
+ UMLPackage.CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ newTemplateParameter);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetTemplateParameter() {
+ return basicGetTemplateParameter() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newOwningTemplateParameter,
+ UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter) {
+ eDynamicSet(
+ UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ newOwningTemplateParameter);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConnectorEnd> getEnds() {
+ return ConnectableElementOperations.getEnds(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCompatibleWith(ParameterableElement p) {
+ return ParameterableElementOperations.isCompatibleWith(this, p);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTemplateParameter() {
+ return ParameterableElementOperations.isTemplateParameter(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CONNECTABLE_ELEMENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CONNECTABLE_ELEMENT__NAME :
+ return getName();
+ case UMLPackage.CONNECTABLE_ELEMENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CONNECTABLE_ELEMENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CONNECTABLE_ELEMENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONNECTABLE_ELEMENT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CONNECTABLE_ELEMENT__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.CONNECTABLE_ELEMENT__END :
+ return getEnds();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.CONNECTABLE_ELEMENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CONNECTABLE_ELEMENT__NAME :
+ return isSetName();
+ case UMLPackage.CONNECTABLE_ELEMENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CONNECTABLE_ELEMENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CONNECTABLE_ELEMENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CONNECTABLE_ELEMENT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CONNECTABLE_ELEMENT__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.CONNECTABLE_ELEMENT__END :
+ return !getEnds().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return UMLPackage.CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return UMLPackage.CONNECTABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_TEMPLATE_PARAMETER :
+ return UMLPackage.CONNECTABLE_ELEMENT___IS_TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTABLE_ELEMENT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_MODEL :
+ return getModel();
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONNECTABLE_ELEMENT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONNECTABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CONNECTABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CONNECTABLE_ELEMENT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CONNECTABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CONNECTABLE_ELEMENT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CONNECTABLE_ELEMENT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CONNECTABLE_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONNECTABLE_ELEMENT___SEPARATOR :
+ return separator();
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CONNECTABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.CONNECTABLE_ELEMENT___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_ENDS :
+ return getEnds();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null) {
+ return owningTemplateParameter;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner() || eIsSet(
+ UMLPackage.CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER);
+ }
+
+} //ConnectableElementImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectableElementTemplateParameterImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectableElementTemplateParameterImpl.java
new file mode 100644
index 00000000..fc33e974
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectableElementTemplateParameterImpl.java
@@ -0,0 +1,374 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Connectable Element Template Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectableElementTemplateParameterImpl#getParameteredElement <em>Parametered Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConnectableElementTemplateParameterImpl
+ extends TemplateParameterImpl
+ implements ConnectableElementTemplateParameter {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConnectableElementTemplateParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ParameterableElement getParameteredElement() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ParameterableElement basicGetParameteredElement() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParameteredElementGen(
+ ParameterableElement newParameteredElement,
+ NotificationChain msgs) {
+ if (newParameteredElement != null
+ && !(newParameteredElement instanceof ConnectableElement)) {
+ throw new IllegalArgumentException(
+ "newParameteredElement must be an instance of ConnectableElement"); //$NON-NLS-1$
+ }
+ msgs = eDynamicInverseAdd((InternalEObject) newParameteredElement,
+ UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ msgs);
+ return msgs;
+ }
+
+ @Override
+ public NotificationChain basicSetParameteredElement(
+ ParameterableElement newParameteredElement,
+ NotificationChain msgs) {
+ msgs = basicSetParameteredElementGen(newParameteredElement, msgs);
+
+ Resource.Internal eInternalResource = eInternalResource();
+
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+
+ ParameterableElement ownedParameteredElement = basicGetOwnedParameteredElement();
+ if (ownedParameteredElement != null
+ && ownedParameteredElement != newParameteredElement) {
+
+ setOwnedParameteredElement(null);
+ }
+ }
+
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParameteredElement(
+ ParameterableElement newParameteredElement) {
+ if (newParameteredElement != null
+ && !(newParameteredElement instanceof ConnectableElement)) {
+ throw new IllegalArgumentException(
+ "newParameteredElement must be an instance of ConnectableElement"); //$NON-NLS-1$
+ }
+ eDynamicSet(
+ UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ newParameteredElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetParameteredElement() {
+ return basicGetParameteredElement() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ ParameterableElement parameteredElement = basicGetParameteredElement();
+ if (parameteredElement != null)
+ msgs = ((InternalEObject) parameteredElement)
+ .eInverseRemove(this,
+ UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ ParameterableElement.class, msgs);
+ return basicSetParameteredElement(
+ (ParameterableElement) otherEnd, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__SIGNATURE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetSignature((TemplateSignature) otherEnd, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ ParameterableElement ownedParameteredElement = basicGetOwnedParameteredElement();
+ if (ownedParameteredElement != null)
+ msgs = ((InternalEObject) ownedParameteredElement)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ null, msgs);
+ return basicSetOwnedParameteredElement(
+ (ParameterableElement) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ return basicSetOwnedDefault(null, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ return basicSetParameteredElement(null, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__SIGNATURE :
+ return basicSetSignature(null, msgs);
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ return basicSetOwnedParameteredElement(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__DEFAULT :
+ if (resolve)
+ return getDefault();
+ return basicGetDefault();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ if (resolve)
+ return getOwnedDefault();
+ return basicGetOwnedDefault();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ if (resolve)
+ return getParameteredElement();
+ return basicGetParameteredElement();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__SIGNATURE :
+ if (resolve)
+ return getSignature();
+ return basicGetSignature();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ if (resolve)
+ return getOwnedParameteredElement();
+ return basicGetOwnedParameteredElement();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__DEFAULT :
+ setDefault((ParameterableElement) newValue);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ setOwnedDefault((ParameterableElement) newValue);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ setParameteredElement((ParameterableElement) newValue);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__SIGNATURE :
+ setSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ setOwnedParameteredElement((ParameterableElement) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__DEFAULT :
+ setDefault((ParameterableElement) null);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ setOwnedDefault((ParameterableElement) null);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ setParameteredElement((ParameterableElement) null);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__SIGNATURE :
+ setSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ setOwnedParameteredElement((ParameterableElement) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNER :
+ return isSetOwner();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__DEFAULT :
+ return basicGetDefault() != null;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ return basicGetOwnedDefault() != null;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ return isSetParameteredElement();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__SIGNATURE :
+ return basicGetSignature() != null;
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ return basicGetOwnedParameteredElement() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //ConnectableElementTemplateParameterImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectionPointReferenceImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectionPointReferenceImpl.java
new file mode 100644
index 00000000..090bd4c8
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectionPointReferenceImpl.java
@@ -0,0 +1,674 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ConnectionPointReferenceOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Connection Point Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectionPointReferenceImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectionPointReferenceImpl#getEntries <em>Entry</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectionPointReferenceImpl#getExits <em>Exit</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectionPointReferenceImpl#getState <em>State</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConnectionPointReferenceImpl
+ extends VertexImpl
+ implements ConnectionPointReference {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConnectionPointReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CONNECTION_POINT_REFERENCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Pseudostate> getEntries() {
+ return (EList<Pseudostate>) eDynamicGet(
+ UMLPackage.CONNECTION_POINT_REFERENCE__ENTRY
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTION_POINT_REFERENCE__ENTRY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Pseudostate getEntry(String name) {
+ return getEntry(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Pseudostate getEntry(String name, boolean ignoreCase) {
+ entryLoop : for (Pseudostate entry : getEntries()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(entry.getName())
+ : name.equals(entry.getName())))
+ continue entryLoop;
+ return entry;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Pseudostate> getExits() {
+ return (EList<Pseudostate>) eDynamicGet(
+ UMLPackage.CONNECTION_POINT_REFERENCE__EXIT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTION_POINT_REFERENCE__EXIT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Pseudostate getExit(String name) {
+ return getExit(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Pseudostate getExit(String name, boolean ignoreCase) {
+ exitLoop : for (Pseudostate exit : getExits()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(exit.getName())
+ : name.equals(exit.getName())))
+ continue exitLoop;
+ return exit;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State getState() {
+ return (State) eDynamicGet(
+ UMLPackage.CONNECTION_POINT_REFERENCE__STATE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTION_POINT_REFERENCE__STATE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State basicGetState() {
+ return (State) eDynamicGet(
+ UMLPackage.CONNECTION_POINT_REFERENCE__STATE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTION_POINT_REFERENCE__STATE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetState(State newState,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newState,
+ UMLPackage.CONNECTION_POINT_REFERENCE__STATE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setState(State newState) {
+ eDynamicSet(
+ UMLPackage.CONNECTION_POINT_REFERENCE__STATE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTION_POINT_REFERENCE__STATE, newState);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEntryPseudostates(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConnectionPointReferenceOperations
+ .validateEntryPseudostates(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateExitPseudostates(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConnectionPointReferenceOperations.validateExitPseudostates(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CONNECTION_POINT_REFERENCE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CONNECTION_POINT_REFERENCE__CONTAINER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetContainer((Region) otherEnd, msgs);
+ case UMLPackage.CONNECTION_POINT_REFERENCE__STATE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetState((State) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CONNECTION_POINT_REFERENCE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONNECTION_POINT_REFERENCE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONNECTION_POINT_REFERENCE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CONNECTION_POINT_REFERENCE__CONTAINER :
+ return basicSetContainer(null, msgs);
+ case UMLPackage.CONNECTION_POINT_REFERENCE__STATE :
+ return basicSetState(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.CONNECTION_POINT_REFERENCE__CONTAINER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.REGION__SUBVERTEX, Region.class, msgs);
+ case UMLPackage.CONNECTION_POINT_REFERENCE__STATE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.STATE__CONNECTION, State.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CONNECTION_POINT_REFERENCE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__NAME :
+ return getName();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__CONTAINER :
+ if (resolve)
+ return getContainer();
+ return basicGetContainer();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__INCOMING :
+ return getIncomings();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__ENTRY :
+ return getEntries();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__EXIT :
+ return getExits();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__STATE :
+ if (resolve)
+ return getState();
+ return basicGetState();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CONNECTION_POINT_REFERENCE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__CONTAINER :
+ setContainer((Region) newValue);
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__ENTRY :
+ getEntries().clear();
+ getEntries()
+ .addAll((Collection<? extends Pseudostate>) newValue);
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__EXIT :
+ getExits().clear();
+ getExits().addAll((Collection<? extends Pseudostate>) newValue);
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__STATE :
+ setState((State) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONNECTION_POINT_REFERENCE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__CONTAINER :
+ setContainer((Region) null);
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__ENTRY :
+ getEntries().clear();
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__EXIT :
+ getExits().clear();
+ return;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__STATE :
+ setState((State) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONNECTION_POINT_REFERENCE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__OWNER :
+ return isSetOwner();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__NAME :
+ return isSetName();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CONNECTION_POINT_REFERENCE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__CONTAINER :
+ return basicGetContainer() != null;
+ case UMLPackage.CONNECTION_POINT_REFERENCE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__ENTRY :
+ return !getEntries().isEmpty();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__EXIT :
+ return !getExits().isEmpty();
+ case UMLPackage.CONNECTION_POINT_REFERENCE__STATE :
+ return basicGetState() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_MODEL :
+ return getModel();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CONNECTION_POINT_REFERENCE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___SEPARATOR :
+ return separator();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___CONTAINING_STATE_MACHINE :
+ return containingStateMachine();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_INCOMINGS :
+ return getIncomings();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___GET_OUTGOINGS :
+ return getOutgoings();
+ case UMLPackage.CONNECTION_POINT_REFERENCE___IS_CONTAINED_IN_STATE__STATE :
+ return isContainedInState((State) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___IS_CONTAINED_IN_REGION__REGION :
+ return isContainedInRegion((Region) arguments.get(0));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___VALIDATE_EXIT_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP :
+ return validateExitPseudostates(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTION_POINT_REFERENCE___VALIDATE_ENTRY_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP :
+ return validateEntryPseudostates(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ State state = basicGetState();
+ if (state != null) {
+ return state;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace()
+ || eIsSet(UMLPackage.CONNECTION_POINT_REFERENCE__STATE);
+ }
+
+} //ConnectionPointReferenceImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectorEndImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectorEndImpl.java
new file mode 100644
index 00000000..4c76eb47
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectorEndImpl.java
@@ -0,0 +1,544 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+import org.eclipse.uml2.uml.internal.operations.ConnectorEndOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Connector End</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectorEndImpl#getDefiningEnd <em>Defining End</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectorEndImpl#getPartWithPort <em>Part With Port</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectorEndImpl#getRole <em>Role</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConnectorEndImpl
+ extends MultiplicityElementImpl
+ implements ConnectorEnd {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConnectorEndImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CONNECTOR_END;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getDefiningEnd() {
+ Property definingEnd = basicGetDefiningEnd();
+ return definingEnd != null && definingEnd.eIsProxy()
+ ? (Property) eResolveProxy((InternalEObject) definingEnd)
+ : definingEnd;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetDefiningEnd() {
+ return ConnectorEndOperations.getDefiningEnd(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getPartWithPort() {
+ return (Property) eDynamicGet(
+ UMLPackage.CONNECTOR_END__PART_WITH_PORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTOR_END__PART_WITH_PORT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetPartWithPort() {
+ return (Property) eDynamicGet(
+ UMLPackage.CONNECTOR_END__PART_WITH_PORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTOR_END__PART_WITH_PORT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPartWithPort(Property newPartWithPort) {
+ eDynamicSet(
+ UMLPackage.CONNECTOR_END__PART_WITH_PORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTOR_END__PART_WITH_PORT, newPartWithPort);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectableElement getRole() {
+ return (ConnectableElement) eDynamicGet(
+ UMLPackage.CONNECTOR_END__ROLE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTOR_END__ROLE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectableElement basicGetRole() {
+ return (ConnectableElement) eDynamicGet(
+ UMLPackage.CONNECTOR_END__ROLE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTOR_END__ROLE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRole(ConnectableElement newRole) {
+ eDynamicSet(UMLPackage.CONNECTOR_END__ROLE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTOR_END__ROLE, newRole);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConnectorEndOperations.validateMultiplicity(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePartWithPortEmpty(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConnectorEndOperations.validatePartWithPortEmpty(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRoleAndPartWithPort(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConnectorEndOperations.validateRoleAndPartWithPort(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSelfPartWithPort(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConnectorEndOperations.validateSelfPartWithPort(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CONNECTOR_END__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CONNECTOR_END__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CONNECTOR_END__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CONNECTOR_END__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CONNECTOR_END__IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.CONNECTOR_END__IS_UNIQUE :
+ return isUnique();
+ case UMLPackage.CONNECTOR_END__LOWER :
+ return getLower();
+ case UMLPackage.CONNECTOR_END__LOWER_VALUE :
+ if (resolve)
+ return getLowerValue();
+ return basicGetLowerValue();
+ case UMLPackage.CONNECTOR_END__UPPER :
+ return getUpper();
+ case UMLPackage.CONNECTOR_END__UPPER_VALUE :
+ if (resolve)
+ return getUpperValue();
+ return basicGetUpperValue();
+ case UMLPackage.CONNECTOR_END__DEFINING_END :
+ if (resolve)
+ return getDefiningEnd();
+ return basicGetDefiningEnd();
+ case UMLPackage.CONNECTOR_END__PART_WITH_PORT :
+ if (resolve)
+ return getPartWithPort();
+ return basicGetPartWithPort();
+ case UMLPackage.CONNECTOR_END__ROLE :
+ if (resolve)
+ return getRole();
+ return basicGetRole();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CONNECTOR_END__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CONNECTOR_END__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CONNECTOR_END__IS_ORDERED :
+ setIsOrdered((Boolean) newValue);
+ return;
+ case UMLPackage.CONNECTOR_END__IS_UNIQUE :
+ setIsUnique((Boolean) newValue);
+ return;
+ case UMLPackage.CONNECTOR_END__LOWER :
+ setLower((Integer) newValue);
+ return;
+ case UMLPackage.CONNECTOR_END__LOWER_VALUE :
+ setLowerValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.CONNECTOR_END__UPPER :
+ setUpper((Integer) newValue);
+ return;
+ case UMLPackage.CONNECTOR_END__UPPER_VALUE :
+ setUpperValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.CONNECTOR_END__PART_WITH_PORT :
+ setPartWithPort((Property) newValue);
+ return;
+ case UMLPackage.CONNECTOR_END__ROLE :
+ setRole((ConnectableElement) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONNECTOR_END__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CONNECTOR_END__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CONNECTOR_END__IS_ORDERED :
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case UMLPackage.CONNECTOR_END__IS_UNIQUE :
+ setIsUnique(IS_UNIQUE_EDEFAULT);
+ return;
+ case UMLPackage.CONNECTOR_END__LOWER :
+ setLower(LOWER_EDEFAULT);
+ return;
+ case UMLPackage.CONNECTOR_END__LOWER_VALUE :
+ setLowerValue((ValueSpecification) null);
+ return;
+ case UMLPackage.CONNECTOR_END__UPPER :
+ setUpper(UPPER_EDEFAULT);
+ return;
+ case UMLPackage.CONNECTOR_END__UPPER_VALUE :
+ setUpperValue((ValueSpecification) null);
+ return;
+ case UMLPackage.CONNECTOR_END__PART_WITH_PORT :
+ setPartWithPort((Property) null);
+ return;
+ case UMLPackage.CONNECTOR_END__ROLE :
+ setRole((ConnectableElement) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONNECTOR_END__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CONNECTOR_END__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CONNECTOR_END__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CONNECTOR_END__OWNER :
+ return isSetOwner();
+ case UMLPackage.CONNECTOR_END__IS_ORDERED :
+ return isOrdered() != IS_ORDERED_EDEFAULT;
+ case UMLPackage.CONNECTOR_END__IS_UNIQUE :
+ return isUnique() != IS_UNIQUE_EDEFAULT;
+ case UMLPackage.CONNECTOR_END__LOWER :
+ return getLower() != LOWER_EDEFAULT;
+ case UMLPackage.CONNECTOR_END__LOWER_VALUE :
+ return basicGetLowerValue() != null;
+ case UMLPackage.CONNECTOR_END__UPPER :
+ return getUpper() != UPPER_EDEFAULT;
+ case UMLPackage.CONNECTOR_END__UPPER_VALUE :
+ return basicGetUpperValue() != null;
+ case UMLPackage.CONNECTOR_END__DEFINING_END :
+ return basicGetDefiningEnd() != null;
+ case UMLPackage.CONNECTOR_END__PART_WITH_PORT :
+ return basicGetPartWithPort() != null;
+ case UMLPackage.CONNECTOR_END__ROLE :
+ return basicGetRole() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CONNECTOR_END___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CONNECTOR_END___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CONNECTOR_END___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CONNECTOR_END___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CONNECTOR_END___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___GET_MODEL :
+ return getModel();
+ case UMLPackage.CONNECTOR_END___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CONNECTOR_END___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CONNECTOR_END___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CONNECTOR_END___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CONNECTOR_END___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CONNECTOR_END___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CONNECTOR_END___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CONNECTOR_END___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CONNECTOR_END___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CONNECTOR_END___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return validateUpperGeLower((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return validateLowerGe0((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationNoSideEffects(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationConstant(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return validateLowerIsInteger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return validateUpperIsUnlimitedNatural(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.CONNECTOR_END___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.CONNECTOR_END___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return compatibleWith((MultiplicityElement) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return includesMultiplicity(
+ (MultiplicityElement) arguments.get(0));
+ case UMLPackage.CONNECTOR_END___IS__INT_INT :
+ return is((Integer) arguments.get(0),
+ (Integer) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___IS_MULTIVALUED :
+ return isMultivalued();
+ case UMLPackage.CONNECTOR_END___GET_LOWER :
+ return getLower();
+ case UMLPackage.CONNECTOR_END___LOWER_BOUND :
+ return lowerBound();
+ case UMLPackage.CONNECTOR_END___GET_UPPER :
+ return getUpper();
+ case UMLPackage.CONNECTOR_END___UPPER_BOUND :
+ return upperBound();
+ case UMLPackage.CONNECTOR_END___VALIDATE_ROLE_AND_PART_WITH_PORT__DIAGNOSTICCHAIN_MAP :
+ return validateRoleAndPartWithPort(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___VALIDATE_PART_WITH_PORT_EMPTY__DIAGNOSTICCHAIN_MAP :
+ return validatePartWithPortEmpty(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___VALIDATE_SELF_PART_WITH_PORT__DIAGNOSTICCHAIN_MAP :
+ return validateSelfPartWithPort(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR_END___GET_DEFINING_END :
+ return getDefiningEnd();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ConnectorEndImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectorImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectorImpl.java
new file mode 100644
index 00000000..8ef76ba5
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConnectorImpl.java
@@ -0,0 +1,766 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.ConnectorKind;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ConnectorOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Connector</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectorImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectorImpl#getRedefinedElements <em>Redefined Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectorImpl#getContracts <em>Contract</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectorImpl#getEnds <em>End</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectorImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectorImpl#getRedefinedConnectors <em>Redefined Connector</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConnectorImpl#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConnectorImpl
+ extends FeatureImpl
+ implements Connector {
+
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final ConnectorKind KIND_EDEFAULT = ConnectorKind.ASSEMBLY_LITERAL;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConnectorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CONNECTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<RedefinableElement> getRedefinedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<RedefinableElement> redefinedElements = (EList<RedefinableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT);
+ if (redefinedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT,
+ redefinedElements = new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.CONNECTOR__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS));
+ }
+ return redefinedElements;
+ }
+ return new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.CONNECTOR__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.CONNECTOR__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.CONNECTOR__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Association getType() {
+ return (Association) eDynamicGet(
+ UMLPackage.CONNECTOR__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTOR__TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Association basicGetType() {
+ return (Association) eDynamicGet(
+ UMLPackage.CONNECTOR__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTOR__TYPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(Association newType) {
+ eDynamicSet(UMLPackage.CONNECTOR__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTOR__TYPE, newType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Connector> getRedefinedConnectors() {
+ return (EList<Connector>) eDynamicGet(
+ UMLPackage.CONNECTOR__REDEFINED_CONNECTOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTOR__REDEFINED_CONNECTOR, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Connector getRedefinedConnector(String name) {
+ return getRedefinedConnector(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Connector getRedefinedConnector(String name, boolean ignoreCase) {
+ redefinedConnectorLoop : for (Connector redefinedConnector : getRedefinedConnectors()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedConnector.getName())
+ : name.equals(redefinedConnector.getName())))
+ continue redefinedConnectorLoop;
+ return redefinedConnector;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ConnectorEnd> getEnds() {
+ return (EList<ConnectorEnd>) eDynamicGet(
+ UMLPackage.CONNECTOR__END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTOR__END, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectorEnd createEnd() {
+ ConnectorEnd newEnd = (ConnectorEnd) create(
+ UMLPackage.Literals.CONNECTOR_END);
+ getEnds().add(newEnd);
+ return newEnd;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectorKind getKind() {
+ return ConnectorOperations.getKind(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Behavior> getContracts() {
+ return (EList<Behavior>) eDynamicGet(
+ UMLPackage.CONNECTOR__CONTRACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONNECTOR__CONTRACT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getContract(String name) {
+ return getContract(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getContract(String name, boolean ignoreCase,
+ EClass eClass) {
+ contractLoop : for (Behavior contract : getContracts()) {
+ if (eClass != null && !eClass.isInstance(contract))
+ continue contractLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(contract.getName())
+ : name.equals(contract.getName())))
+ continue contractLoop;
+ return contract;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypes(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConnectorOperations.validateTypes(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRoles(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConnectorOperations.validateRoles(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CONNECTOR__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONNECTOR__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONNECTOR__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CONNECTOR__END :
+ return ((InternalEList<?>) getEnds()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CONNECTOR__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CONNECTOR__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CONNECTOR__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CONNECTOR__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CONNECTOR__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CONNECTOR__NAME :
+ return getName();
+ case UMLPackage.CONNECTOR__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CONNECTOR__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CONNECTOR__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONNECTOR__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CONNECTOR__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.CONNECTOR__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.CONNECTOR__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.CONNECTOR__FEATURING_CLASSIFIER :
+ return getFeaturingClassifiers();
+ case UMLPackage.CONNECTOR__IS_STATIC :
+ return isStatic();
+ case UMLPackage.CONNECTOR__CONTRACT :
+ return getContracts();
+ case UMLPackage.CONNECTOR__END :
+ return getEnds();
+ case UMLPackage.CONNECTOR__KIND :
+ return getKind();
+ case UMLPackage.CONNECTOR__REDEFINED_CONNECTOR :
+ return getRedefinedConnectors();
+ case UMLPackage.CONNECTOR__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CONNECTOR__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CONNECTOR__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CONNECTOR__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CONNECTOR__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CONNECTOR__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CONNECTOR__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.CONNECTOR__IS_STATIC :
+ setIsStatic((Boolean) newValue);
+ return;
+ case UMLPackage.CONNECTOR__CONTRACT :
+ getContracts().clear();
+ getContracts()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.CONNECTOR__END :
+ getEnds().clear();
+ getEnds().addAll((Collection<? extends ConnectorEnd>) newValue);
+ return;
+ case UMLPackage.CONNECTOR__REDEFINED_CONNECTOR :
+ getRedefinedConnectors().clear();
+ getRedefinedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.CONNECTOR__TYPE :
+ setType((Association) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONNECTOR__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CONNECTOR__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CONNECTOR__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CONNECTOR__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CONNECTOR__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CONNECTOR__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.CONNECTOR__IS_STATIC :
+ setIsStatic(IS_STATIC_EDEFAULT);
+ return;
+ case UMLPackage.CONNECTOR__CONTRACT :
+ getContracts().clear();
+ return;
+ case UMLPackage.CONNECTOR__END :
+ getEnds().clear();
+ return;
+ case UMLPackage.CONNECTOR__REDEFINED_CONNECTOR :
+ getRedefinedConnectors().clear();
+ return;
+ case UMLPackage.CONNECTOR__TYPE :
+ setType((Association) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONNECTOR__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CONNECTOR__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CONNECTOR__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CONNECTOR__OWNER :
+ return isSetOwner();
+ case UMLPackage.CONNECTOR__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CONNECTOR__NAME :
+ return isSetName();
+ case UMLPackage.CONNECTOR__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CONNECTOR__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CONNECTOR__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CONNECTOR__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CONNECTOR__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.CONNECTOR__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.CONNECTOR__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.CONNECTOR__FEATURING_CLASSIFIER :
+ return isSetFeaturingClassifiers();
+ case UMLPackage.CONNECTOR__IS_STATIC :
+ return isStatic() != IS_STATIC_EDEFAULT;
+ case UMLPackage.CONNECTOR__CONTRACT :
+ return !getContracts().isEmpty();
+ case UMLPackage.CONNECTOR__END :
+ return !getEnds().isEmpty();
+ case UMLPackage.CONNECTOR__KIND :
+ return getKind() != KIND_EDEFAULT;
+ case UMLPackage.CONNECTOR__REDEFINED_CONNECTOR :
+ return !getRedefinedConnectors().isEmpty();
+ case UMLPackage.CONNECTOR__TYPE :
+ return basicGetType() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CONNECTOR___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONNECTOR___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CONNECTOR___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONNECTOR___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CONNECTOR___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CONNECTOR___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CONNECTOR___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CONNECTOR___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CONNECTOR___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CONNECTOR___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONNECTOR___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR___GET_MODEL :
+ return getModel();
+ case UMLPackage.CONNECTOR___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CONNECTOR___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CONNECTOR___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CONNECTOR___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CONNECTOR___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CONNECTOR___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CONNECTOR___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONNECTOR___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CONNECTOR___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CONNECTOR___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONNECTOR___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONNECTOR___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CONNECTOR___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONNECTOR___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CONNECTOR___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CONNECTOR___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONNECTOR___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CONNECTOR___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CONNECTOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CONNECTOR___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CONNECTOR___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CONNECTOR___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CONNECTOR___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CONNECTOR___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CONNECTOR___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CONNECTOR___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CONNECTOR___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONNECTOR___SEPARATOR :
+ return separator();
+ case UMLPackage.CONNECTOR___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CONNECTOR___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.CONNECTOR___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.CONNECTOR___VALIDATE_TYPES__DIAGNOSTICCHAIN_MAP :
+ return validateTypes((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR___VALIDATE_ROLES__DIAGNOSTICCHAIN_MAP :
+ return validateRoles((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONNECTOR___GET_KIND :
+ return getKind();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetRedefinedElements() {
+ return super.isSetRedefinedElements()
+ || eIsSet(UMLPackage.CONNECTOR__REDEFINED_CONNECTOR);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.CONNECTOR__OWNED_COMMENT,
+ UMLPackage.CONNECTOR__NAME_EXPRESSION, UMLPackage.CONNECTOR__END};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedElements() <em>Redefined Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.CONNECTOR__REDEFINED_CONNECTOR};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements() || eIsSet(UMLPackage.CONNECTOR__END);
+ }
+
+} //ConnectorImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConsiderIgnoreFragmentImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConsiderIgnoreFragmentImpl.java
new file mode 100644
index 00000000..aa1b15f1
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConsiderIgnoreFragmentImpl.java
@@ -0,0 +1,518 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionOperatorKind;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ConsiderIgnoreFragmentOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Consider Ignore Fragment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConsiderIgnoreFragmentImpl#getMessages <em>Message</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConsiderIgnoreFragmentImpl
+ extends CombinedFragmentImpl
+ implements ConsiderIgnoreFragment {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConsiderIgnoreFragmentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CONSIDER_IGNORE_FRAGMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getMessages() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.CONSIDER_IGNORE_FRAGMENT__MESSAGE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSIDER_IGNORE_FRAGMENT__MESSAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getMessage(String name) {
+ return getMessage(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getMessage(String name, boolean ignoreCase,
+ EClass eClass) {
+ messageLoop : for (NamedElement message : getMessages()) {
+ if (eClass != null && !eClass.isInstance(message))
+ continue messageLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(message.getName())
+ : name.equals(message.getName())))
+ continue messageLoop;
+ return message;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConsiderOrIgnore(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConsiderIgnoreFragmentOperations.validateConsiderOrIgnore(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConsiderIgnoreFragmentOperations.validateType(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__NAME :
+ return getName();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__COVERED :
+ return getCovereds();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__CFRAGMENT_GATE :
+ return getCfragmentGates();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__INTERACTION_OPERATOR :
+ return getInteractionOperator();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__OPERAND :
+ return getOperands();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__MESSAGE :
+ return getMessages();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__CFRAGMENT_GATE :
+ getCfragmentGates().clear();
+ getCfragmentGates()
+ .addAll((Collection<? extends Gate>) newValue);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__INTERACTION_OPERATOR :
+ setInteractionOperator((InteractionOperatorKind) newValue);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__OPERAND :
+ getOperands().clear();
+ getOperands().addAll(
+ (Collection<? extends InteractionOperand>) newValue);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__MESSAGE :
+ getMessages().clear();
+ getMessages()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__CFRAGMENT_GATE :
+ getCfragmentGates().clear();
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__INTERACTION_OPERATOR :
+ setInteractionOperator(INTERACTION_OPERATOR_EDEFAULT);
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__OPERAND :
+ getOperands().clear();
+ return;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__MESSAGE :
+ getMessages().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__NAME :
+ return isSetName();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__COVERED :
+ return !getCovereds().isEmpty();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__CFRAGMENT_GATE :
+ return !getCfragmentGates().isEmpty();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__INTERACTION_OPERATOR :
+ return getInteractionOperator() != INTERACTION_OPERATOR_EDEFAULT;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__OPERAND :
+ return !getOperands().isEmpty();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT__MESSAGE :
+ return !getMessages().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_MODEL :
+ return getModel();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___SEPARATOR :
+ return separator();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_BREAK__DIAGNOSTICCHAIN_MAP :
+ return validateBreak((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_CONSIDER_AND_IGNORE__DIAGNOSTICCHAIN_MAP :
+ return validateConsiderAndIgnore(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_OPT_LOOP_BREAK_NEG__DIAGNOSTICCHAIN_MAP :
+ return validateOptLoopBreakNeg(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_CONSIDER_OR_IGNORE__DIAGNOSTICCHAIN_MAP :
+ return validateConsiderOrIgnore(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ConsiderIgnoreFragmentImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConstraintImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConstraintImpl.java
new file mode 100644
index 00000000..2b38bcd1
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ConstraintImpl.java
@@ -0,0 +1,759 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ConstraintOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConstraintImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConstraintImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConstraintImpl#getConstrainedElements <em>Constrained Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConstraintImpl#getContext <em>Context</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ConstraintImpl#getSpecification <em>Specification</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConstraintImpl
+ extends PackageableElementImpl
+ implements Constraint {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.CONSTRAINT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.CONSTRAINT__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Element> getConstrainedElements() {
+ return (EList<Element>) eDynamicGet(
+ UMLPackage.CONSTRAINT__CONSTRAINED_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__CONSTRAINED_ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getSpecification() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.CONSTRAINT__SPECIFICATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__SPECIFICATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetSpecification() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.CONSTRAINT__SPECIFICATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__SPECIFICATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSpecification(
+ ValueSpecification newSpecification, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newSpecification,
+ UMLPackage.CONSTRAINT__SPECIFICATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSpecification(ValueSpecification newSpecification) {
+ eDynamicSet(
+ UMLPackage.CONSTRAINT__SPECIFICATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__SPECIFICATION, newSpecification);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createSpecification(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newSpecification = (ValueSpecification) create(
+ eClass);
+ setSpecification(newSpecification);
+ if (name != null)
+ newSpecification.setName(name);
+ if (type != null)
+ newSpecification.setType(type);
+ return newSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Namespace getContext() {
+ return (Namespace) eDynamicGet(
+ UMLPackage.CONSTRAINT__CONTEXT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__CONTEXT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Namespace basicGetContext() {
+ return (Namespace) eDynamicGet(
+ UMLPackage.CONSTRAINT__CONTEXT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__CONTEXT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetContext(Namespace newContext,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newContext,
+ UMLPackage.CONSTRAINT__CONTEXT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setContext(Namespace newContext) {
+ eDynamicSet(UMLPackage.CONSTRAINT__CONTEXT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__CONTEXT, newContext);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNotApplyToSelf(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConstraintOperations.validateNotApplyToSelf(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBooleanValue(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConstraintOperations.validateBooleanValue(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoSideEffects(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ConstraintOperations.validateNoSideEffects(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CONSTRAINT__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.CONSTRAINT__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.CONSTRAINT__CONTEXT :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetContext((Namespace) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CONSTRAINT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONSTRAINT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CONSTRAINT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.CONSTRAINT__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.CONSTRAINT__CONTEXT :
+ return basicSetContext(null, msgs);
+ case UMLPackage.CONSTRAINT__SPECIFICATION :
+ return basicSetSpecification(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ case UMLPackage.CONSTRAINT__CONTEXT :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.NAMESPACE__OWNED_RULE, Namespace.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CONSTRAINT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CONSTRAINT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CONSTRAINT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CONSTRAINT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CONSTRAINT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CONSTRAINT__NAME :
+ return getName();
+ case UMLPackage.CONSTRAINT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CONSTRAINT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CONSTRAINT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONSTRAINT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.CONSTRAINT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.CONSTRAINT__CONSTRAINED_ELEMENT :
+ return getConstrainedElements();
+ case UMLPackage.CONSTRAINT__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.CONSTRAINT__SPECIFICATION :
+ if (resolve)
+ return getSpecification();
+ return basicGetSpecification();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CONSTRAINT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CONSTRAINT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CONSTRAINT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CONSTRAINT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CONSTRAINT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.CONSTRAINT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.CONSTRAINT__CONSTRAINED_ELEMENT :
+ getConstrainedElements().clear();
+ getConstrainedElements()
+ .addAll((Collection<? extends Element>) newValue);
+ return;
+ case UMLPackage.CONSTRAINT__CONTEXT :
+ setContext((Namespace) newValue);
+ return;
+ case UMLPackage.CONSTRAINT__SPECIFICATION :
+ setSpecification((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONSTRAINT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CONSTRAINT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CONSTRAINT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CONSTRAINT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CONSTRAINT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.CONSTRAINT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.CONSTRAINT__CONSTRAINED_ELEMENT :
+ getConstrainedElements().clear();
+ return;
+ case UMLPackage.CONSTRAINT__CONTEXT :
+ setContext((Namespace) null);
+ return;
+ case UMLPackage.CONSTRAINT__SPECIFICATION :
+ setSpecification((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONSTRAINT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CONSTRAINT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CONSTRAINT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CONSTRAINT__OWNER :
+ return isSetOwner();
+ case UMLPackage.CONSTRAINT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CONSTRAINT__NAME :
+ return isSetName();
+ case UMLPackage.CONSTRAINT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CONSTRAINT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CONSTRAINT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CONSTRAINT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.CONSTRAINT__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.CONSTRAINT__CONSTRAINED_ELEMENT :
+ return !getConstrainedElements().isEmpty();
+ case UMLPackage.CONSTRAINT__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.CONSTRAINT__SPECIFICATION :
+ return basicGetSpecification() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CONSTRAINT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONSTRAINT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSTRAINT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSTRAINT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CONSTRAINT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONSTRAINT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONSTRAINT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CONSTRAINT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CONSTRAINT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CONSTRAINT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CONSTRAINT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CONSTRAINT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CONSTRAINT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONSTRAINT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CONSTRAINT___GET_MODEL :
+ return getModel();
+ case UMLPackage.CONSTRAINT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CONSTRAINT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CONSTRAINT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CONSTRAINT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CONSTRAINT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CONSTRAINT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CONSTRAINT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONSTRAINT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CONSTRAINT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CONSTRAINT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CONSTRAINT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONSTRAINT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONSTRAINT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CONSTRAINT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONSTRAINT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CONSTRAINT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CONSTRAINT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CONSTRAINT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CONSTRAINT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CONSTRAINT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONSTRAINT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CONSTRAINT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSTRAINT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSTRAINT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CONSTRAINT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CONSTRAINT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CONSTRAINT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CONSTRAINT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CONSTRAINT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CONSTRAINT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CONSTRAINT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CONSTRAINT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONSTRAINT___SEPARATOR :
+ return separator();
+ case UMLPackage.CONSTRAINT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CONSTRAINT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.CONSTRAINT___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.CONSTRAINT___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateBooleanValue((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateNoSideEffects((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotApplyToSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.CONSTRAINT__OWNED_COMMENT,
+ UMLPackage.CONSTRAINT__NAME_EXPRESSION,
+ UMLPackage.CONSTRAINT__SPECIFICATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.CONSTRAINT__SPECIFICATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ Namespace context = basicGetContext();
+ if (context != null) {
+ return context;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace() || eIsSet(UMLPackage.CONSTRAINT__CONTEXT);
+ }
+
+} //ConstraintImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ContinuationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ContinuationImpl.java
new file mode 100644
index 00000000..9d0f6532
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ContinuationImpl.java
@@ -0,0 +1,472 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ContinuationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Continuation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ContinuationImpl#isSetting <em>Setting</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ContinuationImpl
+ extends InteractionFragmentImpl
+ implements Continuation {
+
+ /**
+ * The default value of the '{@link #isSetting() <em>Setting</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetting()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SETTING_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContinuationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CONTINUATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetting() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.CONTINUATION__SETTING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONTINUATION__SETTING, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSetting(boolean newSetting) {
+ eDynamicSet(UMLPackage.CONTINUATION__SETTING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONTINUATION__SETTING, newSetting);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSameName(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ContinuationOperations.validateSameName(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobal(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ContinuationOperations.validateGlobal(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateFirstOrLastInteractionFragment(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ContinuationOperations
+ .validateFirstOrLastInteractionFragment(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CONTINUATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CONTINUATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CONTINUATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CONTINUATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CONTINUATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CONTINUATION__NAME :
+ return getName();
+ case UMLPackage.CONTINUATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CONTINUATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CONTINUATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONTINUATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CONTINUATION__COVERED :
+ return getCovereds();
+ case UMLPackage.CONTINUATION__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.CONTINUATION__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.CONTINUATION__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ case UMLPackage.CONTINUATION__SETTING :
+ return isSetting();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CONTINUATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CONTINUATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CONTINUATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CONTINUATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CONTINUATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CONTINUATION__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.CONTINUATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.CONTINUATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.CONTINUATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.CONTINUATION__SETTING :
+ setSetting((Boolean) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONTINUATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CONTINUATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CONTINUATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CONTINUATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CONTINUATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CONTINUATION__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.CONTINUATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.CONTINUATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.CONTINUATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ case UMLPackage.CONTINUATION__SETTING :
+ setSetting(SETTING_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CONTINUATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CONTINUATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CONTINUATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CONTINUATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.CONTINUATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CONTINUATION__NAME :
+ return isSetName();
+ case UMLPackage.CONTINUATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CONTINUATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CONTINUATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CONTINUATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CONTINUATION__COVERED :
+ return !getCovereds().isEmpty();
+ case UMLPackage.CONTINUATION__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.CONTINUATION__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.CONTINUATION__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ case UMLPackage.CONTINUATION__SETTING :
+ return isSetting() != SETTING_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CONTINUATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONTINUATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTINUATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTINUATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CONTINUATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONTINUATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONTINUATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CONTINUATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CONTINUATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CONTINUATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CONTINUATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CONTINUATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CONTINUATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONTINUATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CONTINUATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.CONTINUATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CONTINUATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CONTINUATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CONTINUATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CONTINUATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CONTINUATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CONTINUATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONTINUATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CONTINUATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CONTINUATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CONTINUATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONTINUATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONTINUATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CONTINUATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONTINUATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CONTINUATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CONTINUATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CONTINUATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CONTINUATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CONTINUATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONTINUATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CONTINUATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CONTINUATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTINUATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTINUATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTINUATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CONTINUATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CONTINUATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CONTINUATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CONTINUATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CONTINUATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CONTINUATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CONTINUATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CONTINUATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONTINUATION___SEPARATOR :
+ return separator();
+ case UMLPackage.CONTINUATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CONTINUATION___VALIDATE_FIRST_OR_LAST_INTERACTION_FRAGMENT__DIAGNOSTICCHAIN_MAP :
+ return validateFirstOrLastInteractionFragment(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTINUATION___VALIDATE_SAME_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateSameName((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTINUATION___VALIDATE_GLOBAL__DIAGNOSTICCHAIN_MAP :
+ return validateGlobal((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ContinuationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ControlFlowImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ControlFlowImpl.java
new file mode 100644
index 00000000..c43d0757
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ControlFlowImpl.java
@@ -0,0 +1,231 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.ControlFlowOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Control Flow</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ControlFlowImpl
+ extends ActivityEdgeImpl
+ implements ControlFlow {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ControlFlowImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CONTROL_FLOW;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateObjectNodes(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ControlFlowOperations.validateObjectNodes(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CONTROL_FLOW___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTROL_FLOW___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTROL_FLOW___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CONTROL_FLOW___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CONTROL_FLOW___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CONTROL_FLOW___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CONTROL_FLOW___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONTROL_FLOW___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___GET_MODEL :
+ return getModel();
+ case UMLPackage.CONTROL_FLOW___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CONTROL_FLOW___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CONTROL_FLOW___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CONTROL_FLOW___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CONTROL_FLOW___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CONTROL_FLOW___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CONTROL_FLOW___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONTROL_FLOW___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CONTROL_FLOW___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CONTROL_FLOW___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CONTROL_FLOW___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CONTROL_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTROL_FLOW___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTROL_FLOW___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTROL_FLOW___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CONTROL_FLOW___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CONTROL_FLOW___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CONTROL_FLOW___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CONTROL_FLOW___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CONTROL_FLOW___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CONTROL_FLOW___SEPARATOR :
+ return separator();
+ case UMLPackage.CONTROL_FLOW___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CONTROL_FLOW___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTROL_FLOW___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTROL_FLOW___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTROL_FLOW___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.CONTROL_FLOW___VALIDATE_SOURCE_AND_TARGET__DIAGNOSTICCHAIN_MAP :
+ return validateSourceAndTarget(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CONTROL_FLOW___VALIDATE_OBJECT_NODES__DIAGNOSTICCHAIN_MAP :
+ return validateObjectNodes((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ControlFlowImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ControlNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ControlNodeImpl.java
new file mode 100644
index 00000000..d1b445be
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ControlNodeImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.ControlNode;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Control Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class ControlNodeImpl
+ extends ActivityNodeImpl
+ implements ControlNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ControlNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CONTROL_NODE;
+ }
+
+} //ControlNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CreateLinkActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CreateLinkActionImpl.java
new file mode 100644
index 00000000..287f9584
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CreateLinkActionImpl.java
@@ -0,0 +1,684 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.CreateLinkActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Create Link Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CreateLinkActionImpl#getEndData <em>End Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CreateLinkActionImpl
+ extends WriteLinkActionImpl
+ implements CreateLinkAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreateLinkActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CREATE_LINK_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<LinkEndData> getEndData() {
+ return (EList<LinkEndData>) eDynamicGet(
+ UMLPackage.CREATE_LINK_ACTION__END_DATA - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_ACTION__END_DATA, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public LinkEndData createEndData() {
+ LinkEndCreationData newEndData = (LinkEndCreationData) create(
+ UMLPackage.Literals.LINK_END_CREATION_DATA);
+ getEndData().add(newEndData);
+ return newEndData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetEndData() {
+ return !getEndData().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAssociationNotAbstract(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CreateLinkActionOperations.validateAssociationNotAbstract(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CREATE_LINK_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_LINK_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_LINK_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CREATE_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_LINK_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.CREATE_LINK_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CREATE_LINK_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CREATE_LINK_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_LINK_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CREATE_LINK_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_LINK_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_LINK_ACTION__END_DATA :
+ return ((InternalEList<?>) getEndData()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CREATE_LINK_ACTION__INPUT_VALUE :
+ return ((InternalEList<?>) getInputValues())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CREATE_LINK_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CREATE_LINK_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CREATE_LINK_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CREATE_LINK_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CREATE_LINK_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CREATE_LINK_ACTION__NAME :
+ return getName();
+ case UMLPackage.CREATE_LINK_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CREATE_LINK_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CREATE_LINK_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CREATE_LINK_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CREATE_LINK_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.CREATE_LINK_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.CREATE_LINK_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.CREATE_LINK_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.CREATE_LINK_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.CREATE_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.CREATE_LINK_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.CREATE_LINK_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.CREATE_LINK_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.CREATE_LINK_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.CREATE_LINK_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.CREATE_LINK_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.CREATE_LINK_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.CREATE_LINK_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.CREATE_LINK_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.CREATE_LINK_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.CREATE_LINK_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.CREATE_LINK_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.CREATE_LINK_ACTION__END_DATA :
+ return getEndData();
+ case UMLPackage.CREATE_LINK_ACTION__INPUT_VALUE :
+ return getInputValues();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CREATE_LINK_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__END_DATA :
+ getEndData().clear();
+ getEndData()
+ .addAll((Collection<? extends LinkEndData>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__INPUT_VALUE :
+ getInputValues().clear();
+ getInputValues()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CREATE_LINK_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__END_DATA :
+ getEndData().clear();
+ return;
+ case UMLPackage.CREATE_LINK_ACTION__INPUT_VALUE :
+ getInputValues().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CREATE_LINK_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CREATE_LINK_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CREATE_LINK_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CREATE_LINK_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.CREATE_LINK_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CREATE_LINK_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.CREATE_LINK_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CREATE_LINK_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CREATE_LINK_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CREATE_LINK_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CREATE_LINK_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.CREATE_LINK_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.CREATE_LINK_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.CREATE_LINK_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.CREATE_LINK_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.CREATE_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.CREATE_LINK_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.CREATE_LINK_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.CREATE_LINK_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.CREATE_LINK_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.CREATE_LINK_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.CREATE_LINK_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.CREATE_LINK_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.CREATE_LINK_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.CREATE_LINK_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.CREATE_LINK_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.CREATE_LINK_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.CREATE_LINK_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.CREATE_LINK_ACTION__END_DATA :
+ return isSetEndData();
+ case UMLPackage.CREATE_LINK_ACTION__INPUT_VALUE :
+ return !getInputValues().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CREATE_LINK_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CREATE_LINK_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CREATE_LINK_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CREATE_LINK_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CREATE_LINK_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.CREATE_LINK_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CREATE_LINK_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CREATE_LINK_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CREATE_LINK_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CREATE_LINK_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CREATE_LINK_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CREATE_LINK_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CREATE_LINK_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CREATE_LINK_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CREATE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CREATE_LINK_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CREATE_LINK_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CREATE_LINK_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CREATE_LINK_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CREATE_LINK_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.CREATE_LINK_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CREATE_LINK_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.CREATE_LINK_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.CREATE_LINK_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.CREATE_LINK_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.CREATE_LINK_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.CREATE_LINK_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.CREATE_LINK_ACTION___VALIDATE_SAME_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateSamePins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___VALIDATE_SAME_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
+ return validateSameAssociation(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
+ return validateNotStatic((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___ASSOCIATION :
+ return association();
+ case UMLPackage.CREATE_LINK_ACTION___VALIDATE_ALLOW_ACCESS__DIAGNOSTICCHAIN_MAP :
+ return validateAllowAccess((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_ACTION___VALIDATE_ASSOCIATION_NOT_ABSTRACT__DIAGNOSTICCHAIN_MAP :
+ return validateAssociationNotAbstract(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //CreateLinkActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CreateLinkObjectActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CreateLinkObjectActionImpl.java
new file mode 100644
index 00000000..0a9c9439
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CreateLinkObjectActionImpl.java
@@ -0,0 +1,817 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.CreateLinkObjectActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Create Link Object Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CreateLinkObjectActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CreateLinkObjectActionImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CreateLinkObjectActionImpl
+ extends CreateLinkActionImpl
+ implements CreateLinkObjectAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreateLinkObjectActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CREATE_LINK_OBJECT_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.CREATE_LINK_OBJECT_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.CREATE_LINK_OBJECT_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.CREATE_LINK_OBJECT_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CREATE_LINK_OBJECT_ACTION__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.CREATE_LINK_OBJECT_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CREATE_LINK_OBJECT_ACTION__RESULT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.CREATE_LINK_OBJECT_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(
+ UMLPackage.CREATE_LINK_OBJECT_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CREATE_LINK_OBJECT_ACTION__RESULT, newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAssociationClass(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CreateLinkObjectActionOperations.validateAssociationClass(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeOfResult(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CreateLinkObjectActionOperations.validateTypeOfResult(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CreateLinkObjectActionOperations.validateMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__END_DATA :
+ return ((InternalEList<?>) getEndData()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__INPUT_VALUE :
+ return ((InternalEList<?>) getInputValues())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__NAME :
+ return getName();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__END_DATA :
+ return getEndData();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__INPUT_VALUE :
+ return getInputValues();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__END_DATA :
+ getEndData().clear();
+ getEndData()
+ .addAll((Collection<? extends LinkEndData>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__INPUT_VALUE :
+ getInputValues().clear();
+ getInputValues()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__END_DATA :
+ getEndData().clear();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__INPUT_VALUE :
+ getInputValues().clear();
+ return;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__END_DATA :
+ return isSetEndData();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__INPUT_VALUE :
+ return !getInputValues().isEmpty();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__RESULT :
+ return basicGetResult() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_SAME_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateSamePins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_SAME_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
+ return validateSameAssociation(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
+ return validateNotStatic((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___ASSOCIATION :
+ return association();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_ALLOW_ACCESS__DIAGNOSTICCHAIN_MAP :
+ return validateAllowAccess((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_ASSOCIATION_NOT_ABSTRACT__DIAGNOSTICCHAIN_MAP :
+ return validateAssociationNotAbstract(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfResult((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_ASSOCIATION_CLASS__DIAGNOSTICCHAIN_MAP :
+ return validateAssociationClass(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.CREATE_LINK_OBJECT_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.CREATE_LINK_OBJECT_ACTION__RESULT);
+ }
+
+} //CreateLinkObjectActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CreateObjectActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CreateObjectActionImpl.java
new file mode 100644
index 00000000..bf1c2cbe
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/CreateObjectActionImpl.java
@@ -0,0 +1,826 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.CreateObjectActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Create Object Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CreateObjectActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CreateObjectActionImpl#getClassifier <em>Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.CreateObjectActionImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CreateObjectActionImpl
+ extends ActionImpl
+ implements CreateObjectAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreateObjectActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.CREATE_OBJECT_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.CREATE_OBJECT_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.CREATE_OBJECT_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getClassifier() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.CREATE_OBJECT_ACTION__CLASSIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CREATE_OBJECT_ACTION__CLASSIFIER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier basicGetClassifier() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.CREATE_OBJECT_ACTION__CLASSIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CREATE_OBJECT_ACTION__CLASSIFIER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassifier(Classifier newClassifier) {
+ eDynamicSet(
+ UMLPackage.CREATE_OBJECT_ACTION__CLASSIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CREATE_OBJECT_ACTION__CLASSIFIER,
+ newClassifier);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.CREATE_OBJECT_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CREATE_OBJECT_ACTION__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.CREATE_OBJECT_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CREATE_OBJECT_ACTION__RESULT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.CREATE_OBJECT_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(
+ UMLPackage.CREATE_OBJECT_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CREATE_OBJECT_ACTION__RESULT, newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClassifierNotAbstract(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CreateObjectActionOperations.validateClassifierNotAbstract(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClassifierNotAssociationClass(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return CreateObjectActionOperations
+ .validateClassifierNotAssociationClass(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSameType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CreateObjectActionOperations.validateSameType(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return CreateObjectActionOperations.validateMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.CREATE_OBJECT_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_OBJECT_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_OBJECT_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.CREATE_OBJECT_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CREATE_OBJECT_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_OBJECT_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.CREATE_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.CREATE_OBJECT_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.CREATE_OBJECT_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.CREATE_OBJECT_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.CREATE_OBJECT_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.CREATE_OBJECT_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.CREATE_OBJECT_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.CREATE_OBJECT_ACTION__NAME :
+ return getName();
+ case UMLPackage.CREATE_OBJECT_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.CREATE_OBJECT_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.CREATE_OBJECT_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CREATE_OBJECT_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.CREATE_OBJECT_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.CREATE_OBJECT_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.CREATE_OBJECT_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.CREATE_OBJECT_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.CREATE_OBJECT_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.CREATE_OBJECT_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.CREATE_OBJECT_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.CREATE_OBJECT_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.CREATE_OBJECT_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.CREATE_OBJECT_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.CREATE_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.CREATE_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.CREATE_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.CREATE_OBJECT_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.CREATE_OBJECT_ACTION__CLASSIFIER :
+ if (resolve)
+ return getClassifier();
+ return basicGetClassifier();
+ case UMLPackage.CREATE_OBJECT_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.CREATE_OBJECT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__CLASSIFIER :
+ setClassifier((Classifier) newValue);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CREATE_OBJECT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__CLASSIFIER :
+ setClassifier((Classifier) null);
+ return;
+ case UMLPackage.CREATE_OBJECT_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.CREATE_OBJECT_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.CREATE_OBJECT_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.CREATE_OBJECT_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.CREATE_OBJECT_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.CREATE_OBJECT_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.CREATE_OBJECT_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.CREATE_OBJECT_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.CREATE_OBJECT_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.CREATE_OBJECT_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.CREATE_OBJECT_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.CREATE_OBJECT_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.CREATE_OBJECT_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.CREATE_OBJECT_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.CREATE_OBJECT_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.CREATE_OBJECT_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.CREATE_OBJECT_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.CREATE_OBJECT_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.CREATE_OBJECT_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.CREATE_OBJECT_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.CREATE_OBJECT_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.CREATE_OBJECT_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.CREATE_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.CREATE_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.CREATE_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.CREATE_OBJECT_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.CREATE_OBJECT_ACTION__CLASSIFIER :
+ return basicGetClassifier() != null;
+ case UMLPackage.CREATE_OBJECT_ACTION__RESULT :
+ return basicGetResult() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.CREATE_OBJECT_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.CREATE_OBJECT_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.CREATE_OBJECT_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.CREATE_OBJECT_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.CREATE_OBJECT_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.CREATE_OBJECT_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.CREATE_OBJECT_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.CREATE_OBJECT_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.CREATE_OBJECT_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.CREATE_OBJECT_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.CREATE_OBJECT_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_CLASSIFIER_NOT_ABSTRACT__DIAGNOSTICCHAIN_MAP :
+ return validateClassifierNotAbstract(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_CLASSIFIER_NOT_ASSOCIATION_CLASS__DIAGNOSTICCHAIN_MAP :
+ return validateClassifierNotAssociationClass(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSameType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.CREATE_OBJECT_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.CREATE_OBJECT_ACTION__RESULT);
+ }
+
+} //CreateObjectActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DataStoreNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DataStoreNodeImpl.java
new file mode 100644
index 00000000..cab321ac
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DataStoreNodeImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Store Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DataStoreNodeImpl
+ extends CentralBufferNodeImpl
+ implements DataStoreNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataStoreNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DATA_STORE_NODE;
+ }
+
+} //DataStoreNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DataTypeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DataTypeImpl.java
new file mode 100644
index 00000000..44222438
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DataTypeImpl.java
@@ -0,0 +1,1288 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.DataTypeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DataTypeImpl#getAttributes <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DataTypeImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DataTypeImpl#getFeatures <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DataTypeImpl#getOwnedAttributes <em>Owned Attribute</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DataTypeImpl#getOwnedOperations <em>Owned Operation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataTypeImpl
+ extends ClassifierImpl
+ implements DataType {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DATA_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Property> getAttributes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Property> attributes = (EList<Property>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__ATTRIBUTE);
+ if (attributes == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__ATTRIBUTE,
+ attributes = new DerivedUnionEObjectEList<Property>(
+ Property.class, this, UMLPackage.DATA_TYPE__ATTRIBUTE,
+ ATTRIBUTE_ESUBSETS));
+ }
+ return attributes;
+ }
+ return new DerivedUnionEObjectEList<Property>(Property.class, this,
+ UMLPackage.DATA_TYPE__ATTRIBUTE, ATTRIBUTE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.DATA_TYPE__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.DATA_TYPE__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Feature> getFeatures() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Feature> features = (EList<Feature>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__FEATURE);
+ if (features == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__FEATURE,
+ features = new DerivedUnionEObjectEList<Feature>(
+ Feature.class, this, UMLPackage.DATA_TYPE__FEATURE,
+ FEATURE_ESUBSETS));
+ }
+ return features;
+ }
+ return new DerivedUnionEObjectEList<Feature>(Feature.class, this,
+ UMLPackage.DATA_TYPE__FEATURE, FEATURE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getOwnedAttributes() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DATA_TYPE__OWNED_ATTRIBUTE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type,
+ EClass eClass) {
+ Property newOwnedAttribute = (Property) create(eClass);
+ getOwnedAttributes().add(newOwnedAttribute);
+ if (name != null)
+ newOwnedAttribute.setName(name);
+ if (type != null)
+ newOwnedAttribute.setType(type);
+ return newOwnedAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type) {
+ return createOwnedAttribute(name, type, UMLPackage.Literals.PROPERTY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedAttribute(String name, Type type) {
+ return getOwnedAttribute(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedAttribute(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ ownedAttributeLoop : for (Property ownedAttribute : getOwnedAttributes()) {
+ if (eClass != null && !eClass.isInstance(ownedAttribute))
+ continue ownedAttributeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedAttribute.getName())
+ : name.equals(ownedAttribute.getName())))
+ continue ownedAttributeLoop;
+ if (type != null && !type.equals(ownedAttribute.getType()))
+ continue ownedAttributeLoop;
+ return ownedAttribute;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedAttribute(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Operation> getOwnedOperations() {
+ return (EList<Operation>) eDynamicGet(
+ UMLPackage.DATA_TYPE__OWNED_OPERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DATA_TYPE__OWNED_OPERATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation createOwnedOperation(String name,
+ EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ Operation newOwnedOperation = (Operation) create(
+ UMLPackage.Literals.OPERATION);
+ getOwnedOperations().add(newOwnedOperation);
+ if (name != null)
+ newOwnedOperation.setName(name);
+ int ownedParameterListSize = 0;
+ int ownedParameterNamesSize = ownedParameterNames == null
+ ? 0
+ : ownedParameterNames.size();
+ if (ownedParameterNamesSize > ownedParameterListSize)
+ ownedParameterListSize = ownedParameterNamesSize;
+ int ownedParameterTypesSize = ownedParameterTypes == null
+ ? 0
+ : ownedParameterTypes.size();
+ if (ownedParameterTypesSize > ownedParameterListSize)
+ ownedParameterListSize = ownedParameterTypesSize;
+ for (int i = 0; i < ownedParameterListSize; i++) {
+ newOwnedOperation.createOwnedParameter(i < ownedParameterNamesSize
+ ? (String) ownedParameterNames.get(i)
+ : null,
+ i < ownedParameterTypesSize
+ ? (Type) ownedParameterTypes.get(i)
+ : null);
+ }
+ return newOwnedOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOwnedOperation(String name,
+ EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ return getOwnedOperation(name, ownedParameterNames, ownedParameterTypes,
+ false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOwnedOperation(String name,
+ EList<String> ownedParameterNames, EList<Type> ownedParameterTypes,
+ boolean ignoreCase, boolean createOnDemand) {
+ ownedOperationLoop : for (Operation ownedOperation : getOwnedOperations()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedOperation.getName())
+ : name.equals(ownedOperation.getName())))
+ continue ownedOperationLoop;
+ EList<Parameter> ownedParameterList = ownedOperation
+ .getOwnedParameters();
+ int ownedParameterListSize = ownedParameterList.size();
+ if (ownedParameterNames != null
+ && ownedParameterNames.size() != ownedParameterListSize
+ || (ownedParameterTypes != null
+ && ownedParameterTypes.size() != ownedParameterListSize))
+ continue ownedOperationLoop;
+ for (int j = 0; j < ownedParameterListSize; j++) {
+ Parameter ownedParameter = ownedParameterList.get(j);
+ if (ownedParameterNames != null && !(ignoreCase
+ ? (ownedParameterNames.get(j))
+ .equalsIgnoreCase(ownedParameter.getName())
+ : ownedParameterNames.get(j)
+ .equals(ownedParameter.getName())))
+ continue ownedOperationLoop;
+ if (ownedParameterTypes != null && !ownedParameterTypes.get(j)
+ .equals(ownedParameter.getType()))
+ continue ownedOperationLoop;
+ }
+ return ownedOperation;
+ }
+ return createOnDemand
+ ? createOwnedOperation(name, ownedParameterNames,
+ ownedParameterTypes)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation createOwnedOperation(String name,
+ EList<String> parameterNames, EList<Type> parameterTypes,
+ Type returnType) {
+ return DataTypeOperations.createOwnedOperation(this, name,
+ parameterNames, parameterTypes, returnType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type, int lower,
+ int upper) {
+ return DataTypeOperations.createOwnedAttribute(this, name, type, lower,
+ upper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.DATA_TYPE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.DATA_TYPE__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.DATA_TYPE__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedAttributes())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__OWNED_OPERATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedOperations())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.DATA_TYPE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.DATA_TYPE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.DATA_TYPE__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.DATA_TYPE__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.DATA_TYPE__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.DATA_TYPE__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DATA_TYPE__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.DATA_TYPE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.DATA_TYPE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.DATA_TYPE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.DATA_TYPE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.DATA_TYPE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.DATA_TYPE__NAME :
+ return getName();
+ case UMLPackage.DATA_TYPE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.DATA_TYPE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.DATA_TYPE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DATA_TYPE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.DATA_TYPE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.DATA_TYPE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.DATA_TYPE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.DATA_TYPE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.DATA_TYPE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.DATA_TYPE__MEMBER :
+ return getMembers();
+ case UMLPackage.DATA_TYPE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.DATA_TYPE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.DATA_TYPE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.DATA_TYPE__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.DATA_TYPE__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.DATA_TYPE__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.DATA_TYPE__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.DATA_TYPE__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.DATA_TYPE__FEATURE :
+ return getFeatures();
+ case UMLPackage.DATA_TYPE__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.DATA_TYPE__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.DATA_TYPE__GENERAL :
+ return getGenerals();
+ case UMLPackage.DATA_TYPE__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.DATA_TYPE__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.DATA_TYPE__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.DATA_TYPE__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.DATA_TYPE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.DATA_TYPE__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.DATA_TYPE__USE_CASE :
+ return getUseCases();
+ case UMLPackage.DATA_TYPE__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.DATA_TYPE__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.DATA_TYPE__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.DATA_TYPE__OWNED_OPERATION :
+ return getOwnedOperations();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.DATA_TYPE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.DATA_TYPE__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DATA_TYPE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.DATA_TYPE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.DATA_TYPE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.DATA_TYPE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.DATA_TYPE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.DATA_TYPE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.DATA_TYPE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.DATA_TYPE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.DATA_TYPE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.DATA_TYPE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DATA_TYPE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DATA_TYPE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.DATA_TYPE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.DATA_TYPE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.DATA_TYPE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.DATA_TYPE__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.DATA_TYPE__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.DATA_TYPE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.DATA_TYPE__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.DATA_TYPE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.DATA_TYPE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.DATA_TYPE__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.DATA_TYPE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.DATA_TYPE__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.DATA_TYPE__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.DATA_TYPE__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DATA_TYPE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.DATA_TYPE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.DATA_TYPE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.DATA_TYPE__OWNER :
+ return isSetOwner();
+ case UMLPackage.DATA_TYPE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.DATA_TYPE__NAME :
+ return isSetName();
+ case UMLPackage.DATA_TYPE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.DATA_TYPE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.DATA_TYPE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.DATA_TYPE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.DATA_TYPE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.DATA_TYPE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.DATA_TYPE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.DATA_TYPE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.DATA_TYPE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.DATA_TYPE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.DATA_TYPE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.DATA_TYPE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.DATA_TYPE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.DATA_TYPE__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.DATA_TYPE__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.DATA_TYPE__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.DATA_TYPE__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.DATA_TYPE__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.DATA_TYPE__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.DATA_TYPE__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.DATA_TYPE__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.DATA_TYPE__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.DATA_TYPE__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.DATA_TYPE__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.DATA_TYPE__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.DATA_TYPE__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.DATA_TYPE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.DATA_TYPE__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.DATA_TYPE__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.DATA_TYPE__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.DATA_TYPE__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.DATA_TYPE__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE :
+ return !getOwnedAttributes().isEmpty();
+ case UMLPackage.DATA_TYPE__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.DATA_TYPE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.DATA_TYPE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.DATA_TYPE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DATA_TYPE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.DATA_TYPE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.DATA_TYPE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.DATA_TYPE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.DATA_TYPE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.DATA_TYPE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.DATA_TYPE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.DATA_TYPE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DATA_TYPE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.DATA_TYPE___GET_MODEL :
+ return getModel();
+ case UMLPackage.DATA_TYPE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.DATA_TYPE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.DATA_TYPE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.DATA_TYPE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.DATA_TYPE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.DATA_TYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.DATA_TYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DATA_TYPE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.DATA_TYPE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.DATA_TYPE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.DATA_TYPE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DATA_TYPE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DATA_TYPE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.DATA_TYPE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DATA_TYPE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.DATA_TYPE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.DATA_TYPE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.DATA_TYPE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.DATA_TYPE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.DATA_TYPE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DATA_TYPE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.DATA_TYPE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.DATA_TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.DATA_TYPE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.DATA_TYPE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.DATA_TYPE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.DATA_TYPE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.DATA_TYPE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.DATA_TYPE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.DATA_TYPE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.DATA_TYPE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DATA_TYPE___SEPARATOR :
+ return separator();
+ case UMLPackage.DATA_TYPE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.DATA_TYPE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.DATA_TYPE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.DATA_TYPE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.DATA_TYPE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.DATA_TYPE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.DATA_TYPE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.DATA_TYPE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.DATA_TYPE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.DATA_TYPE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.DATA_TYPE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.DATA_TYPE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.DATA_TYPE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.DATA_TYPE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.DATA_TYPE___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.DATA_TYPE___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.DATA_TYPE___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.DATA_TYPE___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.DATA_TYPE___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.DATA_TYPE___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.DATA_TYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DATA_TYPE___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.DATA_TYPE___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.DATA_TYPE___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.DATA_TYPE___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.DATA_TYPE___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.DATA_TYPE___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.DATA_TYPE___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.DATA_TYPE___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.DATA_TYPE___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.DATA_TYPE___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.DATA_TYPE___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.DATA_TYPE___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.DATA_TYPE___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.DATA_TYPE___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.DATA_TYPE___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.DATA_TYPE___PARENTS :
+ return parents();
+ case UMLPackage.DATA_TYPE___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.DATA_TYPE___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.DATA_TYPE___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.DATA_TYPE___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.DATA_TYPE___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.DATA_TYPE___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.DATA_TYPE___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.DATA_TYPE___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.DATA_TYPE___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetAttributes() {
+ return super.isSetAttributes()
+ || eIsSet(UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getAttributes() <em>Attribute</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributes()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] ATTRIBUTE_ESUBSETS = new int[]{
+ UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.DATA_TYPE__OWNED_RULE, UMLPackage.DATA_TYPE__OWNED_USE_CASE,
+ UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE,
+ UMLPackage.DATA_TYPE__OWNED_OPERATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE)
+ || eIsSet(UMLPackage.DATA_TYPE__OWNED_OPERATION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getFeatures() <em>Feature</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeatures()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] FEATURE_ESUBSETS = new int[]{
+ UMLPackage.DATA_TYPE__ATTRIBUTE, UMLPackage.DATA_TYPE__OWNED_OPERATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetFeatures() {
+ return super.isSetFeatures()
+ || eIsSet(UMLPackage.DATA_TYPE__OWNED_OPERATION);
+ }
+
+} //DataTypeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DecisionNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DecisionNodeImpl.java
new file mode 100644
index 00000000..0c975fc9
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DecisionNodeImpl.java
@@ -0,0 +1,684 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.DecisionNodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Decision Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DecisionNodeImpl#getDecisionInput <em>Decision Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DecisionNodeImpl#getDecisionInputFlow <em>Decision Input Flow</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DecisionNodeImpl
+ extends ControlNodeImpl
+ implements DecisionNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DecisionNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DECISION_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getDecisionInput() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.DECISION_NODE__DECISION_INPUT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DECISION_NODE__DECISION_INPUT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetDecisionInput() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.DECISION_NODE__DECISION_INPUT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DECISION_NODE__DECISION_INPUT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDecisionInput(Behavior newDecisionInput) {
+ eDynamicSet(
+ UMLPackage.DECISION_NODE__DECISION_INPUT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DECISION_NODE__DECISION_INPUT,
+ newDecisionInput);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectFlow getDecisionInputFlow() {
+ return (ObjectFlow) eDynamicGet(
+ UMLPackage.DECISION_NODE__DECISION_INPUT_FLOW
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DECISION_NODE__DECISION_INPUT_FLOW, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectFlow basicGetDecisionInputFlow() {
+ return (ObjectFlow) eDynamicGet(
+ UMLPackage.DECISION_NODE__DECISION_INPUT_FLOW
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DECISION_NODE__DECISION_INPUT_FLOW, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDecisionInputFlow(ObjectFlow newDecisionInputFlow) {
+ eDynamicSet(
+ UMLPackage.DECISION_NODE__DECISION_INPUT_FLOW
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DECISION_NODE__DECISION_INPUT_FLOW,
+ newDecisionInputFlow);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateIncomingOutgoingEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DecisionNodeOperations.validateIncomingOutgoingEdges(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DecisionNodeOperations.validateEdges(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDecisionInputFlowIncoming(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return DecisionNodeOperations.validateDecisionInputFlowIncoming(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParameters(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DecisionNodeOperations.validateParameters(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateZeroInputParameters(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DecisionNodeOperations.validateZeroInputParameters(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateIncomingObjectOneInputParameter(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return DecisionNodeOperations.validateIncomingObjectOneInputParameter(
+ this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateIncomingControlOneInputParameter(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return DecisionNodeOperations.validateIncomingControlOneInputParameter(
+ this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTwoInputParameters(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DecisionNodeOperations.validateTwoInputParameters(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.DECISION_NODE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.DECISION_NODE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.DECISION_NODE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.DECISION_NODE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.DECISION_NODE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.DECISION_NODE__NAME :
+ return getName();
+ case UMLPackage.DECISION_NODE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.DECISION_NODE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.DECISION_NODE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DECISION_NODE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.DECISION_NODE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.DECISION_NODE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.DECISION_NODE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.DECISION_NODE__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.DECISION_NODE__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.DECISION_NODE__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.DECISION_NODE__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.DECISION_NODE__INCOMING :
+ return getIncomings();
+ case UMLPackage.DECISION_NODE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.DECISION_NODE__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.DECISION_NODE__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.DECISION_NODE__DECISION_INPUT :
+ if (resolve)
+ return getDecisionInput();
+ return basicGetDecisionInput();
+ case UMLPackage.DECISION_NODE__DECISION_INPUT_FLOW :
+ if (resolve)
+ return getDecisionInputFlow();
+ return basicGetDecisionInputFlow();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.DECISION_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__DECISION_INPUT :
+ setDecisionInput((Behavior) newValue);
+ return;
+ case UMLPackage.DECISION_NODE__DECISION_INPUT_FLOW :
+ setDecisionInputFlow((ObjectFlow) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DECISION_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.DECISION_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.DECISION_NODE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.DECISION_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.DECISION_NODE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.DECISION_NODE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.DECISION_NODE__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.DECISION_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.DECISION_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.DECISION_NODE__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.DECISION_NODE__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.DECISION_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.DECISION_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.DECISION_NODE__DECISION_INPUT :
+ setDecisionInput((Behavior) null);
+ return;
+ case UMLPackage.DECISION_NODE__DECISION_INPUT_FLOW :
+ setDecisionInputFlow((ObjectFlow) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DECISION_NODE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.DECISION_NODE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.DECISION_NODE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.DECISION_NODE__OWNER :
+ return isSetOwner();
+ case UMLPackage.DECISION_NODE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.DECISION_NODE__NAME :
+ return isSetName();
+ case UMLPackage.DECISION_NODE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.DECISION_NODE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.DECISION_NODE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.DECISION_NODE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.DECISION_NODE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.DECISION_NODE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.DECISION_NODE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.DECISION_NODE__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.DECISION_NODE__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.DECISION_NODE__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.DECISION_NODE__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.DECISION_NODE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.DECISION_NODE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.DECISION_NODE__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.DECISION_NODE__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.DECISION_NODE__DECISION_INPUT :
+ return basicGetDecisionInput() != null;
+ case UMLPackage.DECISION_NODE__DECISION_INPUT_FLOW :
+ return basicGetDecisionInputFlow() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.DECISION_NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.DECISION_NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.DECISION_NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DECISION_NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.DECISION_NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.DECISION_NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.DECISION_NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.DECISION_NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.DECISION_NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.DECISION_NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.DECISION_NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DECISION_NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.DECISION_NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.DECISION_NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.DECISION_NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.DECISION_NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.DECISION_NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.DECISION_NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.DECISION_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.DECISION_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DECISION_NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.DECISION_NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.DECISION_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.DECISION_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DECISION_NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DECISION_NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.DECISION_NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DECISION_NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.DECISION_NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.DECISION_NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.DECISION_NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.DECISION_NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.DECISION_NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DECISION_NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.DECISION_NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.DECISION_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.DECISION_NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.DECISION_NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.DECISION_NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.DECISION_NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.DECISION_NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.DECISION_NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.DECISION_NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.DECISION_NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DECISION_NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.DECISION_NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.DECISION_NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.DECISION_NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.DECISION_NODE___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.DECISION_NODE___VALIDATE_ZERO_INPUT_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+ return validateZeroInputParameters(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___VALIDATE_DECISION_INPUT_FLOW_INCOMING__DIAGNOSTICCHAIN_MAP :
+ return validateDecisionInputFlowIncoming(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___VALIDATE_TWO_INPUT_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+ return validateTwoInputParameters(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___VALIDATE_INCOMING_OUTGOING_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateIncomingOutgoingEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___VALIDATE_INCOMING_CONTROL_ONE_INPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validateIncomingControlOneInputParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___VALIDATE_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+ return validateParameters((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DECISION_NODE___VALIDATE_INCOMING_OBJECT_ONE_INPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validateIncomingObjectOneInputParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //DecisionNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DependencyImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DependencyImpl.java
new file mode 100644
index 00000000..e936dd7f
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DependencyImpl.java
@@ -0,0 +1,544 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dependency</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DependencyImpl#getRelatedElements <em>Related Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DependencyImpl#getSources <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DependencyImpl#getTargets <em>Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DependencyImpl#getClients <em>Client</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DependencyImpl#getSuppliers <em>Supplier</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DependencyImpl
+ extends PackageableElementImpl
+ implements Dependency {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DependencyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DEPENDENCY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getRelatedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> relatedElements = (EList<Element>) cache.get(
+ eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT);
+ if (relatedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT,
+ relatedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.DEPENDENCY__RELATED_ELEMENT,
+ RELATED_ELEMENT_ESUBSETS));
+ }
+ return relatedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.DEPENDENCY__RELATED_ELEMENT, RELATED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getSources() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> sources = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE);
+ if (sources == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE,
+ sources = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.DEPENDENCY__SOURCE,
+ SOURCE_ESUBSETS));
+ }
+ return sources;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.DEPENDENCY__SOURCE, SOURCE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getTargets() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> targets = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET);
+ if (targets == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET,
+ targets = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.DEPENDENCY__TARGET,
+ TARGET_ESUBSETS));
+ }
+ return targets;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.DEPENDENCY__TARGET, TARGET_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getSuppliers() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.DEPENDENCY__SUPPLIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPENDENCY__SUPPLIER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getSupplier(String name) {
+ return getSupplier(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getSupplier(String name, boolean ignoreCase,
+ EClass eClass) {
+ supplierLoop : for (NamedElement supplier : getSuppliers()) {
+ if (eClass != null && !eClass.isInstance(supplier))
+ continue supplierLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(supplier.getName())
+ : name.equals(supplier.getName())))
+ continue supplierLoop;
+ return supplier;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getClients() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.DEPENDENCY__CLIENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPENDENCY__CLIENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getClient(String name) {
+ return getClient(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getClient(String name, boolean ignoreCase,
+ EClass eClass) {
+ clientLoop : for (NamedElement client : getClients()) {
+ if (eClass != null && !eClass.isInstance(client))
+ continue clientLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(client.getName())
+ : name.equals(client.getName())))
+ continue clientLoop;
+ return client;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.DEPENDENCY__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.DEPENDENCY__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.DEPENDENCY__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.DEPENDENCY__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.DEPENDENCY__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.DEPENDENCY__NAME :
+ return getName();
+ case UMLPackage.DEPENDENCY__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.DEPENDENCY__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.DEPENDENCY__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DEPENDENCY__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.DEPENDENCY__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.DEPENDENCY__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.DEPENDENCY__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.DEPENDENCY__SOURCE :
+ return getSources();
+ case UMLPackage.DEPENDENCY__TARGET :
+ return getTargets();
+ case UMLPackage.DEPENDENCY__CLIENT :
+ return getClients();
+ case UMLPackage.DEPENDENCY__SUPPLIER :
+ return getSuppliers();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.DEPENDENCY__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.DEPENDENCY__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.DEPENDENCY__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.DEPENDENCY__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.DEPENDENCY__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.DEPENDENCY__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DEPENDENCY__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DEPENDENCY__CLIENT :
+ getClients().clear();
+ getClients()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.DEPENDENCY__SUPPLIER :
+ getSuppliers().clear();
+ getSuppliers()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DEPENDENCY__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.DEPENDENCY__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.DEPENDENCY__NAME :
+ unsetName();
+ return;
+ case UMLPackage.DEPENDENCY__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.DEPENDENCY__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.DEPENDENCY__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DEPENDENCY__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DEPENDENCY__CLIENT :
+ getClients().clear();
+ return;
+ case UMLPackage.DEPENDENCY__SUPPLIER :
+ getSuppliers().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DEPENDENCY__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.DEPENDENCY__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.DEPENDENCY__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.DEPENDENCY__OWNER :
+ return isSetOwner();
+ case UMLPackage.DEPENDENCY__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.DEPENDENCY__NAME :
+ return isSetName();
+ case UMLPackage.DEPENDENCY__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.DEPENDENCY__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.DEPENDENCY__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.DEPENDENCY__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.DEPENDENCY__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.DEPENDENCY__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.DEPENDENCY__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.DEPENDENCY__SOURCE :
+ return isSetSources();
+ case UMLPackage.DEPENDENCY__TARGET :
+ return isSetTargets();
+ case UMLPackage.DEPENDENCY__CLIENT :
+ return !getClients().isEmpty();
+ case UMLPackage.DEPENDENCY__SUPPLIER :
+ return !getSuppliers().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Relationship.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.DEPENDENCY__RELATED_ELEMENT :
+ return UMLPackage.RELATIONSHIP__RELATED_ELEMENT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DirectedRelationship.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.DEPENDENCY__SOURCE :
+ return UMLPackage.DIRECTED_RELATIONSHIP__SOURCE;
+ case UMLPackage.DEPENDENCY__TARGET :
+ return UMLPackage.DIRECTED_RELATIONSHIP__TARGET;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Relationship.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.RELATIONSHIP__RELATED_ELEMENT :
+ return UMLPackage.DEPENDENCY__RELATED_ELEMENT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DirectedRelationship.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.DIRECTED_RELATIONSHIP__SOURCE :
+ return UMLPackage.DEPENDENCY__SOURCE;
+ case UMLPackage.DIRECTED_RELATIONSHIP__TARGET :
+ return UMLPackage.DEPENDENCY__TARGET;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRelatedElements() <em>Related Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRelatedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] RELATED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.DEPENDENCY__SOURCE, UMLPackage.DEPENDENCY__TARGET};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRelatedElements() {
+ return isSetSources() || isSetTargets();
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSources() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSources()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SOURCE_ESUBSETS = new int[]{
+ UMLPackage.DEPENDENCY__CLIENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSources() {
+ return eIsSet(UMLPackage.DEPENDENCY__CLIENT);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getTargets() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] TARGET_ESUBSETS = new int[]{
+ UMLPackage.DEPENDENCY__SUPPLIER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetTargets() {
+ return eIsSet(UMLPackage.DEPENDENCY__SUPPLIER);
+ }
+
+} //DependencyImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeployedArtifactImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeployedArtifactImpl.java
new file mode 100644
index 00000000..828bdf67
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeployedArtifactImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.DeployedArtifact;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Deployed Artifact</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class DeployedArtifactImpl
+ extends NamedElementImpl
+ implements DeployedArtifact {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeployedArtifactImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DEPLOYED_ARTIFACT;
+ }
+
+} //DeployedArtifactImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeploymentImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeploymentImpl.java
new file mode 100644
index 00000000..511dbfeb
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeploymentImpl.java
@@ -0,0 +1,746 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.DeployedArtifact;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DeploymentTarget;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Deployment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentImpl#getSuppliers <em>Supplier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentImpl#getClients <em>Client</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentImpl#getConfigurations <em>Configuration</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentImpl#getDeployedArtifacts <em>Deployed Artifact</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentImpl#getLocation <em>Location</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DeploymentImpl
+ extends DependencyImpl
+ implements Deployment {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeploymentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DEPLOYMENT;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.DEPENDENCY__CLIENT) {
+ return createClientsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.DEPLOYMENT__DEPLOYED_ARTIFACT) {
+ return createDeployedArtifactsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.DEPENDENCY__SUPPLIER) {
+ return createSuppliersList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.DEPLOYMENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.DEPLOYMENT__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getSuppliers() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.DEPLOYMENT__SUPPLIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPENDENCY__SUPPLIER, true, true);
+ }
+
+ private EList<NamedElement> createSuppliersList() {
+ return new SubsetSupersetEObjectResolvingEList<NamedElement>(
+ NamedElement.class, this, UMLPackage.DEPLOYMENT__SUPPLIER, null,
+ SUPPLIER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getClients() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.DEPLOYMENT__CLIENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPENDENCY__CLIENT, true, true);
+ }
+
+ private EList<NamedElement> createClientsList() {
+ return new SubsetSupersetEObjectResolvingEList<NamedElement>(
+ NamedElement.class, this, UMLPackage.DEPLOYMENT__CLIENT, null,
+ CLIENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<DeployedArtifact> getDeployedArtifacts() {
+ return (EList<DeployedArtifact>) eDynamicGet(
+ UMLPackage.DEPLOYMENT__DEPLOYED_ARTIFACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT__DEPLOYED_ARTIFACT, true, true);
+ }
+
+ private EList<DeployedArtifact> createDeployedArtifactsList() {
+ return new SubsetSupersetEObjectResolvingEList<DeployedArtifact>(
+ DeployedArtifact.class, this,
+ UMLPackage.DEPLOYMENT__DEPLOYED_ARTIFACT,
+ DEPLOYED_ARTIFACT_ESUPERSETS, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<DeploymentSpecification> getConfigurations() {
+ return (EList<DeploymentSpecification>) eDynamicGet(
+ UMLPackage.DEPLOYMENT__CONFIGURATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT__CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeploymentSpecification createConfiguration(String name) {
+ DeploymentSpecification newConfiguration = (DeploymentSpecification) create(
+ UMLPackage.Literals.DEPLOYMENT_SPECIFICATION);
+ getConfigurations().add(newConfiguration);
+ if (name != null)
+ newConfiguration.setName(name);
+ return newConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeploymentSpecification getConfiguration(String name) {
+ return getConfiguration(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeploymentSpecification getConfiguration(String name,
+ boolean ignoreCase, boolean createOnDemand) {
+ configurationLoop : for (DeploymentSpecification configuration : getConfigurations()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(configuration.getName())
+ : name.equals(configuration.getName())))
+ continue configurationLoop;
+ return configuration;
+ }
+ return createOnDemand
+ ? createConfiguration(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeploymentTarget getLocation() {
+ return (DeploymentTarget) eDynamicGet(
+ UMLPackage.DEPLOYMENT__LOCATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT__LOCATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeploymentTarget basicGetLocation() {
+ return (DeploymentTarget) eDynamicGet(
+ UMLPackage.DEPLOYMENT__LOCATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT__LOCATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLocation(DeploymentTarget newLocation,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newLocation,
+ UMLPackage.DEPLOYMENT__LOCATION, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newLocation != null) {
+ EList<NamedElement> clients = getClients();
+ if (!clients.contains(newLocation)) {
+ clients.add(newLocation);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLocation(DeploymentTarget newLocation) {
+ eDynamicSet(UMLPackage.DEPLOYMENT__LOCATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT__LOCATION, newLocation);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newLocation != null) {
+ EList<NamedElement> clients = getClients();
+ if (!clients.contains(newLocation)) {
+ clients.add(newLocation);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.DEPLOYMENT__CONFIGURATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getConfigurations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT__LOCATION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetLocation((DeploymentTarget) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.DEPLOYMENT__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.DEPLOYMENT__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.DEPLOYMENT__CONFIGURATION :
+ return ((InternalEList<?>) getConfigurations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT__LOCATION :
+ return basicSetLocation(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.DEPLOYMENT__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ case UMLPackage.DEPLOYMENT__LOCATION :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT,
+ DeploymentTarget.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.DEPLOYMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.DEPLOYMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.DEPLOYMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.DEPLOYMENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.DEPLOYMENT__NAME :
+ return getName();
+ case UMLPackage.DEPLOYMENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.DEPLOYMENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.DEPLOYMENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DEPLOYMENT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.DEPLOYMENT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.DEPLOYMENT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.DEPLOYMENT__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.DEPLOYMENT__SOURCE :
+ return getSources();
+ case UMLPackage.DEPLOYMENT__TARGET :
+ return getTargets();
+ case UMLPackage.DEPLOYMENT__CLIENT :
+ return getClients();
+ case UMLPackage.DEPLOYMENT__SUPPLIER :
+ return getSuppliers();
+ case UMLPackage.DEPLOYMENT__CONFIGURATION :
+ return getConfigurations();
+ case UMLPackage.DEPLOYMENT__DEPLOYED_ARTIFACT :
+ return getDeployedArtifacts();
+ case UMLPackage.DEPLOYMENT__LOCATION :
+ if (resolve)
+ return getLocation();
+ return basicGetLocation();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT__CLIENT :
+ getClients().clear();
+ getClients()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT__SUPPLIER :
+ getSuppliers().clear();
+ getSuppliers()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT__CONFIGURATION :
+ getConfigurations().clear();
+ getConfigurations().addAll(
+ (Collection<? extends DeploymentSpecification>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT__DEPLOYED_ARTIFACT :
+ getDeployedArtifacts().clear();
+ getDeployedArtifacts()
+ .addAll((Collection<? extends DeployedArtifact>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT__LOCATION :
+ setLocation((DeploymentTarget) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.DEPLOYMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.DEPLOYMENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.DEPLOYMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.DEPLOYMENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.DEPLOYMENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DEPLOYMENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DEPLOYMENT__CLIENT :
+ getClients().clear();
+ return;
+ case UMLPackage.DEPLOYMENT__SUPPLIER :
+ getSuppliers().clear();
+ return;
+ case UMLPackage.DEPLOYMENT__CONFIGURATION :
+ getConfigurations().clear();
+ return;
+ case UMLPackage.DEPLOYMENT__DEPLOYED_ARTIFACT :
+ getDeployedArtifacts().clear();
+ return;
+ case UMLPackage.DEPLOYMENT__LOCATION :
+ setLocation((DeploymentTarget) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.DEPLOYMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.DEPLOYMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.DEPLOYMENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.DEPLOYMENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.DEPLOYMENT__NAME :
+ return isSetName();
+ case UMLPackage.DEPLOYMENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.DEPLOYMENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.DEPLOYMENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.DEPLOYMENT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.DEPLOYMENT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.DEPLOYMENT__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.DEPLOYMENT__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.DEPLOYMENT__SOURCE :
+ return isSetSources();
+ case UMLPackage.DEPLOYMENT__TARGET :
+ return isSetTargets();
+ case UMLPackage.DEPLOYMENT__CLIENT :
+ return !getClients().isEmpty();
+ case UMLPackage.DEPLOYMENT__SUPPLIER :
+ return !getSuppliers().isEmpty();
+ case UMLPackage.DEPLOYMENT__CONFIGURATION :
+ return !getConfigurations().isEmpty();
+ case UMLPackage.DEPLOYMENT__DEPLOYED_ARTIFACT :
+ return !getDeployedArtifacts().isEmpty();
+ case UMLPackage.DEPLOYMENT__LOCATION :
+ return basicGetLocation() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.DEPLOYMENT__OWNED_COMMENT,
+ UMLPackage.DEPLOYMENT__NAME_EXPRESSION,
+ UMLPackage.DEPLOYMENT__CONFIGURATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ DeploymentTarget location = basicGetLocation();
+ if (location != null) {
+ return location;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSuppliers() <em>Supplier</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuppliers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SUPPLIER_ESUBSETS = new int[]{
+ UMLPackage.DEPLOYMENT__DEPLOYED_ARTIFACT};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getClients() <em>Client</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClients()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] CLIENT_ESUBSETS = new int[]{
+ UMLPackage.DEPLOYMENT__LOCATION};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getDeployedArtifacts() <em>Deployed Artifact</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeployedArtifacts()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] DEPLOYED_ARTIFACT_ESUPERSETS = new int[]{
+ UMLPackage.DEPLOYMENT__SUPPLIER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeployedArtifact getDeployedArtifact(String name) {
+ return getDeployedArtifact(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeployedArtifact getDeployedArtifact(String name, boolean ignoreCase,
+ EClass eClass) {
+ deployedArtifactLoop : for (DeployedArtifact deployedArtifact : getDeployedArtifacts()) {
+ if (eClass != null && !eClass.isInstance(deployedArtifact))
+ continue deployedArtifactLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(deployedArtifact.getName())
+ : name.equals(deployedArtifact.getName())))
+ continue deployedArtifactLoop;
+ return deployedArtifact;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.DEPLOYMENT__CONFIGURATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner() || eIsSet(UMLPackage.DEPLOYMENT__LOCATION);
+ }
+
+} //DeploymentImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeploymentSpecificationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeploymentSpecificationImpl.java
new file mode 100644
index 00000000..66c1df71
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeploymentSpecificationImpl.java
@@ -0,0 +1,1278 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.DeploymentSpecificationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Deployment Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentSpecificationImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentSpecificationImpl#getDeploymentLocation <em>Deployment Location</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentSpecificationImpl#getExecutionLocation <em>Execution Location</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentSpecificationImpl#getDeployment <em>Deployment</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DeploymentSpecificationImpl
+ extends ArtifactImpl
+ implements DeploymentSpecification {
+
+ /**
+ * The default value of the '{@link #getDeploymentLocation() <em>Deployment Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeploymentLocation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEPLOYMENT_LOCATION_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getExecutionLocation() <em>Execution Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExecutionLocation()
+ * @generated
+ * @ordered
+ */
+ protected static final String EXECUTION_LOCATION_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeploymentSpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DEPLOYMENT_SPECIFICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ Deployment deployment = basicGetDeployment();
+ if (deployment != null) {
+ return deployment;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDeploymentLocation() {
+ return (String) eDynamicGet(
+ UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDeploymentLocation(String newDeploymentLocation) {
+ eDynamicSet(
+ UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION,
+ newDeploymentLocation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetDeploymentLocation() {
+ eDynamicUnset(
+ UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetDeploymentLocation() {
+ return eDynamicIsSet(
+ UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getExecutionLocation() {
+ return (String) eDynamicGet(
+ UMLPackage.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExecutionLocation(String newExecutionLocation) {
+ eDynamicSet(
+ UMLPackage.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION,
+ newExecutionLocation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetExecutionLocation() {
+ eDynamicUnset(
+ UMLPackage.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetExecutionLocation() {
+ return eDynamicIsSet(
+ UMLPackage.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Deployment getDeployment() {
+ return (Deployment) eDynamicGet(
+ UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_SPECIFICATION__DEPLOYMENT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Deployment basicGetDeployment() {
+ return (Deployment) eDynamicGet(
+ UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_SPECIFICATION__DEPLOYMENT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDeployment(Deployment newDeployment,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newDeployment,
+ UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDeployment(Deployment newDeployment) {
+ eDynamicSet(
+ UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_SPECIFICATION__DEPLOYMENT,
+ newDeployment);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDeployedElements(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DeploymentSpecificationOperations.validateDeployedElements(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDeploymentTarget(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DeploymentSpecificationOperations.validateDeploymentTarget(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetDeployment((Deployment) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__MANIFESTATION :
+ return ((InternalEList<?>) getManifestations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NESTED_ARTIFACT :
+ return ((InternalEList<?>) getNestedArtifacts())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT :
+ return basicSetDeployment(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.DEPLOYMENT__CONFIGURATION, Deployment.class,
+ msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NAME :
+ return getName();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__MEMBER :
+ return getMembers();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__FEATURE :
+ return getFeatures();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__GENERAL :
+ return getGenerals();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__USE_CASE :
+ return getUseCases();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__FILE_NAME :
+ return getFileName();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__MANIFESTATION :
+ return getManifestations();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NESTED_ARTIFACT :
+ return getNestedArtifacts();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_OPERATION :
+ return getOwnedOperations();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION :
+ return getDeploymentLocation();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION :
+ return getExecutionLocation();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT :
+ if (resolve)
+ return getDeployment();
+ return basicGetDeployment();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__FILE_NAME :
+ setFileName((String) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__MANIFESTATION :
+ getManifestations().clear();
+ getManifestations()
+ .addAll((Collection<? extends Manifestation>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NESTED_ARTIFACT :
+ getNestedArtifacts().clear();
+ getNestedArtifacts()
+ .addAll((Collection<? extends Artifact>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION :
+ setDeploymentLocation((String) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION :
+ setExecutionLocation((String) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT :
+ setDeployment((Deployment) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__FILE_NAME :
+ unsetFileName();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__MANIFESTATION :
+ getManifestations().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NESTED_ARTIFACT :
+ getNestedArtifacts().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION :
+ unsetDeploymentLocation();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION :
+ unsetExecutionLocation();
+ return;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT :
+ setDeployment((Deployment) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NAME :
+ return isSetName();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__MEMBER :
+ return isSetMembers();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__FILE_NAME :
+ return isSetFileName();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__MANIFESTATION :
+ return !getManifestations().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__NESTED_ARTIFACT :
+ return !getNestedArtifacts().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_ATTRIBUTE :
+ return !getOwnedAttributes().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION :
+ return isSetDeploymentLocation();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION :
+ return isSetExecutionLocation();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT :
+ return basicGetDeployment() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___SEPARATOR :
+ return separator();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___PARENTS :
+ return parents();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP :
+ return validateDeploymentTarget(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_DEPLOYED_ELEMENTS__DIAGNOSTICCHAIN_MAP :
+ return validateDeployedElements(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT);
+ }
+
+} //DeploymentSpecificationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeploymentTargetImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeploymentTargetImpl.java
new file mode 100644
index 00000000..5d961c82
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeploymentTargetImpl.java
@@ -0,0 +1,429 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 323181
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentTarget;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.DeploymentTargetOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Deployment Target</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentTargetImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentTargetImpl#getDeployedElements <em>Deployed Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DeploymentTargetImpl#getDeployments <em>Deployment</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class DeploymentTargetImpl
+ extends NamedElementImpl
+ implements DeploymentTarget {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeploymentTargetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DEPLOYMENT_TARGET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.DEPLOYMENT_TARGET__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.DEPLOYMENT_TARGET__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Deployment> getDeployments() {
+ return (EList<Deployment>) eDynamicGet(
+ UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_TARGET__DEPLOYMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PackageableElement> getDeployedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<PackageableElement> result = (EList<PackageableElement>) cache
+ .get(this,
+ UMLPackage.Literals.DEPLOYMENT_TARGET__DEPLOYED_ELEMENT);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.DEPLOYMENT_TARGET__DEPLOYED_ELEMENT,
+ result = DeploymentTargetOperations
+ .getDeployedElements(this));
+ }
+ return result;
+ }
+ return DeploymentTargetOperations.getDeployedElements(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getDeployedElement(String name) {
+ return getDeployedElement(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getDeployedElement(String name,
+ boolean ignoreCase, EClass eClass) {
+ deployedElementLoop : for (PackageableElement deployedElement : getDeployedElements()) {
+ if (eClass != null && !eClass.isInstance(deployedElement))
+ continue deployedElementLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(deployedElement.getName())
+ : name.equals(deployedElement.getName())))
+ continue deployedElementLoop;
+ return deployedElement;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT_TARGET__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getDeployments())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT_TARGET__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_TARGET__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DEPLOYMENT_TARGET__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT :
+ return ((InternalEList<?>) getDeployments())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT_TARGET__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.DEPLOYMENT_TARGET__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.DEPLOYMENT_TARGET__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.DEPLOYMENT_TARGET__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.DEPLOYMENT_TARGET__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.DEPLOYMENT_TARGET__NAME :
+ return getName();
+ case UMLPackage.DEPLOYMENT_TARGET__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.DEPLOYMENT_TARGET__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.DEPLOYMENT_TARGET__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DEPLOYMENT_TARGET__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.DEPLOYMENT_TARGET__DEPLOYED_ELEMENT :
+ return getDeployedElements();
+ case UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT :
+ return getDeployments();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT_TARGET__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_TARGET__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_TARGET__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_TARGET__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_TARGET__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT :
+ getDeployments().clear();
+ getDeployments()
+ .addAll((Collection<? extends Deployment>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT_TARGET__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_TARGET__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.DEPLOYMENT_TARGET__NAME :
+ unsetName();
+ return;
+ case UMLPackage.DEPLOYMENT_TARGET__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.DEPLOYMENT_TARGET__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT :
+ getDeployments().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DEPLOYMENT_TARGET__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.DEPLOYMENT_TARGET__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.DEPLOYMENT_TARGET__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.DEPLOYMENT_TARGET__OWNER :
+ return isSetOwner();
+ case UMLPackage.DEPLOYMENT_TARGET__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.DEPLOYMENT_TARGET__NAME :
+ return isSetName();
+ case UMLPackage.DEPLOYMENT_TARGET__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.DEPLOYMENT_TARGET__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.DEPLOYMENT_TARGET__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.DEPLOYMENT_TARGET__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.DEPLOYMENT_TARGET__DEPLOYED_ELEMENT :
+ return !getDeployedElements().isEmpty();
+ case UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT :
+ return !getDeployments().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.DEPLOYMENT_TARGET__OWNED_COMMENT,
+ UMLPackage.DEPLOYMENT_TARGET__NAME_EXPRESSION,
+ UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Deployment createDeployment(String name) {
+ Deployment newDeployment = (Deployment) create(
+ UMLPackage.Literals.DEPLOYMENT);
+ getDeployments().add(newDeployment);
+ if (name != null)
+ newDeployment.setName(name);
+ return newDeployment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Deployment getDeployment(String name) {
+ return getDeployment(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Deployment getDeployment(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ deploymentLoop : for (Deployment deployment : getDeployments()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(deployment.getName())
+ : name.equals(deployment.getName())))
+ continue deploymentLoop;
+ return deployment;
+ }
+ return createOnDemand
+ ? createDeployment(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT);
+ }
+
+} //DeploymentTargetImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DestroyLinkActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DestroyLinkActionImpl.java
new file mode 100644
index 00000000..39d92987
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DestroyLinkActionImpl.java
@@ -0,0 +1,482 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Destroy Link Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DestroyLinkActionImpl#getEndData <em>End Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DestroyLinkActionImpl
+ extends WriteLinkActionImpl
+ implements DestroyLinkAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DestroyLinkActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DESTROY_LINK_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<LinkEndData> getEndData() {
+ return (EList<LinkEndData>) eDynamicGet(
+ UMLPackage.DESTROY_LINK_ACTION__END_DATA - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_ACTION__END_DATA, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public LinkEndData createEndData() {
+ LinkEndDestructionData newEndData = (LinkEndDestructionData) create(
+ UMLPackage.Literals.LINK_END_DESTRUCTION_DATA);
+ getEndData().add(newEndData);
+ return newEndData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetEndData() {
+ return !getEndData().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.DESTROY_LINK_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DESTROY_LINK_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DESTROY_LINK_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.DESTROY_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DESTROY_LINK_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.DESTROY_LINK_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.DESTROY_LINK_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.DESTROY_LINK_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DESTROY_LINK_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.DESTROY_LINK_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DESTROY_LINK_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DESTROY_LINK_ACTION__END_DATA :
+ return ((InternalEList<?>) getEndData()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.DESTROY_LINK_ACTION__INPUT_VALUE :
+ return ((InternalEList<?>) getInputValues())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.DESTROY_LINK_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.DESTROY_LINK_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.DESTROY_LINK_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.DESTROY_LINK_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.DESTROY_LINK_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.DESTROY_LINK_ACTION__NAME :
+ return getName();
+ case UMLPackage.DESTROY_LINK_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.DESTROY_LINK_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.DESTROY_LINK_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DESTROY_LINK_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.DESTROY_LINK_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.DESTROY_LINK_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.DESTROY_LINK_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.DESTROY_LINK_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.DESTROY_LINK_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.DESTROY_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.DESTROY_LINK_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.DESTROY_LINK_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.DESTROY_LINK_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.DESTROY_LINK_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.DESTROY_LINK_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.DESTROY_LINK_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.DESTROY_LINK_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.DESTROY_LINK_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.DESTROY_LINK_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.DESTROY_LINK_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.DESTROY_LINK_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.DESTROY_LINK_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.DESTROY_LINK_ACTION__END_DATA :
+ return getEndData();
+ case UMLPackage.DESTROY_LINK_ACTION__INPUT_VALUE :
+ return getInputValues();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.DESTROY_LINK_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__END_DATA :
+ getEndData().clear();
+ getEndData()
+ .addAll((Collection<? extends LinkEndData>) newValue);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__INPUT_VALUE :
+ getInputValues().clear();
+ getInputValues()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DESTROY_LINK_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__END_DATA :
+ getEndData().clear();
+ return;
+ case UMLPackage.DESTROY_LINK_ACTION__INPUT_VALUE :
+ getInputValues().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DESTROY_LINK_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.DESTROY_LINK_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.DESTROY_LINK_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.DESTROY_LINK_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.DESTROY_LINK_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.DESTROY_LINK_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.DESTROY_LINK_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.DESTROY_LINK_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.DESTROY_LINK_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.DESTROY_LINK_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.DESTROY_LINK_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.DESTROY_LINK_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.DESTROY_LINK_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.DESTROY_LINK_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.DESTROY_LINK_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.DESTROY_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.DESTROY_LINK_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.DESTROY_LINK_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.DESTROY_LINK_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.DESTROY_LINK_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.DESTROY_LINK_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.DESTROY_LINK_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.DESTROY_LINK_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.DESTROY_LINK_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.DESTROY_LINK_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.DESTROY_LINK_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.DESTROY_LINK_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.DESTROY_LINK_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.DESTROY_LINK_ACTION__END_DATA :
+ return isSetEndData();
+ case UMLPackage.DESTROY_LINK_ACTION__INPUT_VALUE :
+ return !getInputValues().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //DestroyLinkActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DestroyObjectActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DestroyObjectActionImpl.java
new file mode 100644
index 00000000..2620d7dc
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DestroyObjectActionImpl.java
@@ -0,0 +1,851 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.DestroyObjectActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Destroy Object Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DestroyObjectActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DestroyObjectActionImpl#isDestroyLinks <em>Is Destroy Links</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DestroyObjectActionImpl#isDestroyOwnedObjects <em>Is Destroy Owned Objects</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DestroyObjectActionImpl#getTarget <em>Target</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DestroyObjectActionImpl
+ extends ActionImpl
+ implements DestroyObjectAction {
+
+ /**
+ * The default value of the '{@link #isDestroyLinks() <em>Is Destroy Links</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDestroyLinks()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DESTROY_LINKS_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isDestroyOwnedObjects() <em>Is Destroy Owned Objects</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDestroyOwnedObjects()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DESTROY_OWNED_OBJECTS_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DestroyObjectActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DESTROY_OBJECT_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.DESTROY_OBJECT_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.DESTROY_OBJECT_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDestroyLinks() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_LINKS
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DESTROY_OBJECT_ACTION__IS_DESTROY_LINKS, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDestroyLinks(boolean newIsDestroyLinks) {
+ eDynamicSet(
+ UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_LINKS
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DESTROY_OBJECT_ACTION__IS_DESTROY_LINKS,
+ newIsDestroyLinks);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDestroyOwnedObjects() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_OWNED_OBJECTS
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DESTROY_OBJECT_ACTION__IS_DESTROY_OWNED_OBJECTS,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDestroyOwnedObjects(boolean newIsDestroyOwnedObjects) {
+ eDynamicSet(
+ UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_OWNED_OBJECTS
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DESTROY_OBJECT_ACTION__IS_DESTROY_OWNED_OBJECTS,
+ newIsDestroyOwnedObjects);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getTarget() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.DESTROY_OBJECT_ACTION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DESTROY_OBJECT_ACTION__TARGET, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetTarget() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.DESTROY_OBJECT_ACTION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DESTROY_OBJECT_ACTION__TARGET, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTarget(InputPin newTarget,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newTarget,
+ UMLPackage.DESTROY_OBJECT_ACTION__TARGET, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTarget(InputPin newTarget) {
+ eDynamicSet(
+ UMLPackage.DESTROY_OBJECT_ACTION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DESTROY_OBJECT_ACTION__TARGET, newTarget);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createTarget(String name, Type type, EClass eClass) {
+ InputPin newTarget = (InputPin) create(eClass);
+ setTarget(newTarget);
+ if (name != null)
+ newTarget.setName(name);
+ if (type != null)
+ newTarget.setType(type);
+ return newTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createTarget(String name, Type type) {
+ return createTarget(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DestroyObjectActionOperations.validateMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DestroyObjectActionOperations.validateNoType(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.DESTROY_OBJECT_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DESTROY_OBJECT_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DESTROY_OBJECT_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.DESTROY_OBJECT_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.DESTROY_OBJECT_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DESTROY_OBJECT_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.DESTROY_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DESTROY_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DESTROY_OBJECT_ACTION__TARGET :
+ return basicSetTarget(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.DESTROY_OBJECT_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.DESTROY_OBJECT_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.DESTROY_OBJECT_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.DESTROY_OBJECT_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.DESTROY_OBJECT_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.DESTROY_OBJECT_ACTION__NAME :
+ return getName();
+ case UMLPackage.DESTROY_OBJECT_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.DESTROY_OBJECT_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.DESTROY_OBJECT_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DESTROY_OBJECT_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.DESTROY_OBJECT_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.DESTROY_OBJECT_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.DESTROY_OBJECT_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.DESTROY_OBJECT_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.DESTROY_OBJECT_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.DESTROY_OBJECT_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.DESTROY_OBJECT_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.DESTROY_OBJECT_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.DESTROY_OBJECT_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.DESTROY_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.DESTROY_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.DESTROY_OBJECT_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_LINKS :
+ return isDestroyLinks();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_OWNED_OBJECTS :
+ return isDestroyOwnedObjects();
+ case UMLPackage.DESTROY_OBJECT_ACTION__TARGET :
+ if (resolve)
+ return getTarget();
+ return basicGetTarget();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.DESTROY_OBJECT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_LINKS :
+ setIsDestroyLinks((Boolean) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_OWNED_OBJECTS :
+ setIsDestroyOwnedObjects((Boolean) newValue);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__TARGET :
+ setTarget((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DESTROY_OBJECT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_LINKS :
+ setIsDestroyLinks(IS_DESTROY_LINKS_EDEFAULT);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_OWNED_OBJECTS :
+ setIsDestroyOwnedObjects(IS_DESTROY_OWNED_OBJECTS_EDEFAULT);
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__TARGET :
+ setTarget((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DESTROY_OBJECT_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.DESTROY_OBJECT_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.DESTROY_OBJECT_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.DESTROY_OBJECT_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.DESTROY_OBJECT_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.DESTROY_OBJECT_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.DESTROY_OBJECT_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.DESTROY_OBJECT_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.DESTROY_OBJECT_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.DESTROY_OBJECT_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.DESTROY_OBJECT_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.DESTROY_OBJECT_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.DESTROY_OBJECT_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.DESTROY_OBJECT_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.DESTROY_OBJECT_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.DESTROY_OBJECT_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.DESTROY_OBJECT_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.DESTROY_OBJECT_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.DESTROY_OBJECT_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.DESTROY_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.DESTROY_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.DESTROY_OBJECT_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_LINKS :
+ return isDestroyLinks() != IS_DESTROY_LINKS_EDEFAULT;
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_OWNED_OBJECTS :
+ return isDestroyOwnedObjects() != IS_DESTROY_OWNED_OBJECTS_EDEFAULT;
+ case UMLPackage.DESTROY_OBJECT_ACTION__TARGET :
+ return basicGetTarget() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTROY_OBJECT_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTROY_OBJECT_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DESTROY_OBJECT_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DESTROY_OBJECT_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.DESTROY_OBJECT_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.DESTROY_OBJECT_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.DESTROY_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTROY_OBJECT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTROY_OBJECT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTROY_OBJECT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.DESTROY_OBJECT_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.DESTROY_OBJECT_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.DESTROY_OBJECT_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DESTROY_OBJECT_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.DESTROY_OBJECT_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTROY_OBJECT_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTROY_OBJECT_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTROY_OBJECT_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.DESTROY_OBJECT_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.DESTROY_OBJECT_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.DESTROY_OBJECT_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.DESTROY_OBJECT_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.DESTROY_OBJECT_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.DESTROY_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTROY_OBJECT_ACTION___VALIDATE_NO_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateNoType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.DESTROY_OBJECT_ACTION__TARGET};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.DESTROY_OBJECT_ACTION__TARGET);
+ }
+
+} //DestroyObjectActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DestructionOccurrenceSpecificationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DestructionOccurrenceSpecificationImpl.java
new file mode 100644
index 00000000..8e119de0
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DestructionOccurrenceSpecificationImpl.java
@@ -0,0 +1,225 @@
+/*
+ * Copyright (c) 2011, 2016 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 351774, 297216, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.DestructionOccurrenceSpecificationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Destruction Occurrence Specification</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DestructionOccurrenceSpecificationImpl
+ extends MessageOccurrenceSpecificationImpl
+ implements DestructionOccurrenceSpecification {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DestructionOccurrenceSpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DESTRUCTION_OCCURRENCE_SPECIFICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoOccurrenceSpecificationsBelow(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return DestructionOccurrenceSpecificationOperations
+ .validateNoOccurrenceSpecificationsBelow(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___SEPARATOR :
+ return separator();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___GET_COVERED :
+ return getCovered();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___SET_COVERED__LIFELINE :
+ setCovered((Lifeline) arguments.get(0));
+ return null;
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___OPPOSITE_END :
+ return oppositeEnd();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___IS_SEND :
+ return isSend();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___IS_RECEIVE :
+ return isReceive();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___ENCLOSING_FRAGMENT :
+ return enclosingFragment();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___VALIDATE_NO_OCCURRENCE_SPECIFICATIONS_BELOW__DIAGNOSTICCHAIN_MAP :
+ return validateNoOccurrenceSpecificationsBelow(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //DestructionOccurrenceSpecificationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeviceImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeviceImpl.java
new file mode 100644
index 00000000..4abb9699
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DeviceImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Device</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DeviceImpl
+ extends NodeImpl
+ implements Device {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeviceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DEVICE;
+ }
+
+} //DeviceImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DirectedRelationshipImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DirectedRelationshipImpl.java
new file mode 100644
index 00000000..f18fd426
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DirectedRelationshipImpl.java
@@ -0,0 +1,238 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Directed Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DirectedRelationshipImpl#getSources <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DirectedRelationshipImpl#getRelatedElements <em>Related Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DirectedRelationshipImpl#getTargets <em>Target</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class DirectedRelationshipImpl
+ extends RelationshipImpl
+ implements DirectedRelationship {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DirectedRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DIRECTED_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getSources() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> sources = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE);
+ if (sources == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE,
+ sources = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.DIRECTED_RELATIONSHIP__SOURCE, null));
+ }
+ return sources;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.DIRECTED_RELATIONSHIP__SOURCE, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getRelatedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> relatedElements = (EList<Element>) cache.get(
+ eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT);
+ if (relatedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT,
+ relatedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.DIRECTED_RELATIONSHIP__RELATED_ELEMENT,
+ RELATED_ELEMENT_ESUBSETS));
+ }
+ return relatedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.DIRECTED_RELATIONSHIP__RELATED_ELEMENT,
+ RELATED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getTargets() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> targets = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET);
+ if (targets == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET,
+ targets = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.DIRECTED_RELATIONSHIP__TARGET, null));
+ }
+ return targets;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.DIRECTED_RELATIONSHIP__TARGET, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.DIRECTED_RELATIONSHIP__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.DIRECTED_RELATIONSHIP__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.DIRECTED_RELATIONSHIP__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.DIRECTED_RELATIONSHIP__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.DIRECTED_RELATIONSHIP__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.DIRECTED_RELATIONSHIP__SOURCE :
+ return getSources();
+ case UMLPackage.DIRECTED_RELATIONSHIP__TARGET :
+ return getTargets();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DIRECTED_RELATIONSHIP__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.DIRECTED_RELATIONSHIP__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.DIRECTED_RELATIONSHIP__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.DIRECTED_RELATIONSHIP__OWNER :
+ return isSetOwner();
+ case UMLPackage.DIRECTED_RELATIONSHIP__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.DIRECTED_RELATIONSHIP__SOURCE :
+ return isSetSources();
+ case UMLPackage.DIRECTED_RELATIONSHIP__TARGET :
+ return isSetTargets();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSources() {
+ return false;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRelatedElements() <em>Related Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRelatedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] RELATED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.DIRECTED_RELATIONSHIP__SOURCE,
+ UMLPackage.DIRECTED_RELATIONSHIP__TARGET};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetRelatedElements() {
+ return super.isSetRelatedElements() || isSetSources() || isSetTargets();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetTargets() {
+ return false;
+ }
+
+} //DirectedRelationshipImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationConstraintImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationConstraintImpl.java
new file mode 100644
index 00000000..aa651d16
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationConstraintImpl.java
@@ -0,0 +1,601 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 397324, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.DurationConstraintOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Duration Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DurationConstraintImpl#getFirstEvents <em>First Event</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DurationConstraintImpl#getSpecification <em>Specification</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DurationConstraintImpl
+ extends IntervalConstraintImpl
+ implements DurationConstraint {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DurationConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DURATION_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Boolean> getFirstEvents() {
+ return (EList<Boolean>) eDynamicGet(
+ UMLPackage.DURATION_CONSTRAINT__FIRST_EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DURATION_CONSTRAINT__FIRST_EVENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification getSpecification() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.DURATION_CONSTRAINT__SPECIFICATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__SPECIFICATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification basicGetSpecification() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.DURATION_CONSTRAINT__SPECIFICATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__SPECIFICATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain basicSetSpecification(
+ ValueSpecification newSpecification, NotificationChain msgs) {
+ if (newSpecification != null
+ && !(newSpecification instanceof DurationInterval)) {
+ throw new IllegalArgumentException(
+ "newSpecification must be an instance of DurationInterval"); //$NON-NLS-1$
+ }
+ msgs = eDynamicInverseAdd((InternalEObject) newSpecification,
+ UMLPackage.DURATION_CONSTRAINT__SPECIFICATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setSpecification(ValueSpecification newSpecification) {
+ if (newSpecification != null
+ && !(newSpecification instanceof DurationInterval)) {
+ throw new IllegalArgumentException(
+ "newSpecification must be an instance of DurationInterval"); //$NON-NLS-1$
+ }
+ eDynamicSet(
+ UMLPackage.DURATION_CONSTRAINT__SPECIFICATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__SPECIFICATION, newSpecification);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification createSpecification(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newSpecification = (ValueSpecification) create(
+ eClass);
+ setSpecification(newSpecification);
+ if (name != null)
+ newSpecification.setName(name);
+ if (type != null)
+ newSpecification.setType(type);
+ return newSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetSpecification() {
+ return basicGetSpecification() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateFirstEventMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DurationConstraintOperations.validateFirstEventMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateHasOneOrTwoConstrainedElements(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return DurationConstraintOperations
+ .validateHasOneOrTwoConstrainedElements(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.DURATION_CONSTRAINT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DURATION_CONSTRAINT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DURATION_CONSTRAINT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.DURATION_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.DURATION_CONSTRAINT__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.DURATION_CONSTRAINT__CONTEXT :
+ return basicSetContext(null, msgs);
+ case UMLPackage.DURATION_CONSTRAINT__SPECIFICATION :
+ return basicSetSpecification(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.DURATION_CONSTRAINT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.DURATION_CONSTRAINT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.DURATION_CONSTRAINT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.DURATION_CONSTRAINT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.DURATION_CONSTRAINT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.DURATION_CONSTRAINT__NAME :
+ return getName();
+ case UMLPackage.DURATION_CONSTRAINT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.DURATION_CONSTRAINT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.DURATION_CONSTRAINT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DURATION_CONSTRAINT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.DURATION_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.DURATION_CONSTRAINT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.DURATION_CONSTRAINT__CONSTRAINED_ELEMENT :
+ return getConstrainedElements();
+ case UMLPackage.DURATION_CONSTRAINT__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.DURATION_CONSTRAINT__SPECIFICATION :
+ if (resolve)
+ return getSpecification();
+ return basicGetSpecification();
+ case UMLPackage.DURATION_CONSTRAINT__FIRST_EVENT :
+ return getFirstEvents();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.DURATION_CONSTRAINT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__CONSTRAINED_ELEMENT :
+ getConstrainedElements().clear();
+ getConstrainedElements()
+ .addAll((Collection<? extends Element>) newValue);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__CONTEXT :
+ setContext((Namespace) newValue);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__SPECIFICATION :
+ setSpecification((ValueSpecification) newValue);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__FIRST_EVENT :
+ getFirstEvents().clear();
+ getFirstEvents()
+ .addAll((Collection<? extends Boolean>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DURATION_CONSTRAINT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__CONSTRAINED_ELEMENT :
+ getConstrainedElements().clear();
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__CONTEXT :
+ setContext((Namespace) null);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__SPECIFICATION :
+ setSpecification((ValueSpecification) null);
+ return;
+ case UMLPackage.DURATION_CONSTRAINT__FIRST_EVENT :
+ getFirstEvents().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DURATION_CONSTRAINT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.DURATION_CONSTRAINT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.DURATION_CONSTRAINT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.DURATION_CONSTRAINT__OWNER :
+ return isSetOwner();
+ case UMLPackage.DURATION_CONSTRAINT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.DURATION_CONSTRAINT__NAME :
+ return isSetName();
+ case UMLPackage.DURATION_CONSTRAINT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.DURATION_CONSTRAINT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.DURATION_CONSTRAINT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.DURATION_CONSTRAINT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.DURATION_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.DURATION_CONSTRAINT__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.DURATION_CONSTRAINT__CONSTRAINED_ELEMENT :
+ return !getConstrainedElements().isEmpty();
+ case UMLPackage.DURATION_CONSTRAINT__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.DURATION_CONSTRAINT__SPECIFICATION :
+ return isSetSpecification();
+ case UMLPackage.DURATION_CONSTRAINT__FIRST_EVENT :
+ return !getFirstEvents().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.DURATION_CONSTRAINT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.DURATION_CONSTRAINT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.DURATION_CONSTRAINT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.DURATION_CONSTRAINT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.DURATION_CONSTRAINT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___GET_MODEL :
+ return getModel();
+ case UMLPackage.DURATION_CONSTRAINT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.DURATION_CONSTRAINT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.DURATION_CONSTRAINT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.DURATION_CONSTRAINT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.DURATION_CONSTRAINT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.DURATION_CONSTRAINT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.DURATION_CONSTRAINT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.DURATION_CONSTRAINT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.DURATION_CONSTRAINT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.DURATION_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.DURATION_CONSTRAINT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.DURATION_CONSTRAINT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.DURATION_CONSTRAINT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.DURATION_CONSTRAINT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DURATION_CONSTRAINT___SEPARATOR :
+ return separator();
+ case UMLPackage.DURATION_CONSTRAINT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.DURATION_CONSTRAINT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.DURATION_CONSTRAINT___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.DURATION_CONSTRAINT___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateBooleanValue((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateNoSideEffects((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotApplyToSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___VALIDATE_FIRST_EVENT_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateFirstEventMultiplicity(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_CONSTRAINT___VALIDATE_HAS_ONE_OR_TWO_CONSTRAINED_ELEMENTS__DIAGNOSTICCHAIN_MAP :
+ return validateHasOneOrTwoConstrainedElements(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //DurationConstraintImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationImpl.java
new file mode 100644
index 00000000..8556ddd7
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationImpl.java
@@ -0,0 +1,633 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Observation;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.DurationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Duration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DurationImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DurationImpl#getExpr <em>Expr</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DurationImpl#getObservations <em>Observation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DurationImpl
+ extends ValueSpecificationImpl
+ implements Duration {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.DURATION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.DURATION__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.DURATION__OWNED_COMMENT,
+ UMLPackage.DURATION__NAME_EXPRESSION, UMLPackage.DURATION__EXPR};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getExpr() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.DURATION__EXPR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DURATION__EXPR, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetExpr() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.DURATION__EXPR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DURATION__EXPR, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpr(ValueSpecification newExpr,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newExpr,
+ UMLPackage.DURATION__EXPR, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpr(ValueSpecification newExpr) {
+ eDynamicSet(UMLPackage.DURATION__EXPR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DURATION__EXPR, newExpr);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createExpr(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newExpr = (ValueSpecification) create(eClass);
+ setExpr(newExpr);
+ if (name != null)
+ newExpr.setName(name);
+ if (type != null)
+ newExpr.setType(type);
+ return newExpr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Observation> getObservations() {
+ return (EList<Observation>) eDynamicGet(
+ UMLPackage.DURATION__OBSERVATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DURATION__OBSERVATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Observation getObservation(String name) {
+ return getObservation(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Observation getObservation(String name, boolean ignoreCase,
+ EClass eClass) {
+ observationLoop : for (Observation observation : getObservations()) {
+ if (eClass != null && !eClass.isInstance(observation))
+ continue observationLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(observation.getName())
+ : name.equals(observation.getName())))
+ continue observationLoop;
+ return observation;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoExprRequiresObservation(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return DurationOperations.validateNoExprRequiresObservation(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String stringValue() {
+ return DurationOperations.stringValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.DURATION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DURATION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.DURATION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.DURATION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.DURATION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.DURATION__EXPR :
+ return basicSetExpr(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.DURATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.DURATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.DURATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.DURATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.DURATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.DURATION__NAME :
+ return getName();
+ case UMLPackage.DURATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.DURATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.DURATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DURATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.DURATION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.DURATION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.DURATION__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.DURATION__EXPR :
+ if (resolve)
+ return getExpr();
+ return basicGetExpr();
+ case UMLPackage.DURATION__OBSERVATION :
+ return getObservations();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.DURATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.DURATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.DURATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.DURATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.DURATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.DURATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DURATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DURATION__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.DURATION__EXPR :
+ setExpr((ValueSpecification) newValue);
+ return;
+ case UMLPackage.DURATION__OBSERVATION :
+ getObservations().clear();
+ getObservations()
+ .addAll((Collection<? extends Observation>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DURATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.DURATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.DURATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.DURATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.DURATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.DURATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DURATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DURATION__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.DURATION__EXPR :
+ setExpr((ValueSpecification) null);
+ return;
+ case UMLPackage.DURATION__OBSERVATION :
+ getObservations().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DURATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.DURATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.DURATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.DURATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.DURATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.DURATION__NAME :
+ return isSetName();
+ case UMLPackage.DURATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.DURATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.DURATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.DURATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.DURATION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.DURATION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.DURATION__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.DURATION__EXPR :
+ return basicGetExpr() != null;
+ case UMLPackage.DURATION__OBSERVATION :
+ return !getObservations().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.DURATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.DURATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.DURATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.DURATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.DURATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.DURATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.DURATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.DURATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.DURATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.DURATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DURATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.DURATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.DURATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.DURATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.DURATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.DURATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.DURATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.DURATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DURATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.DURATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.DURATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DURATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DURATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.DURATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DURATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.DURATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.DURATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.DURATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.DURATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.DURATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.DURATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.DURATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.DURATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.DURATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.DURATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.DURATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.DURATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DURATION___SEPARATOR :
+ return separator();
+ case UMLPackage.DURATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.DURATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.DURATION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.DURATION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION___BOOLEAN_VALUE :
+ return booleanValue();
+ case UMLPackage.DURATION___INTEGER_VALUE :
+ return integerValue();
+ case UMLPackage.DURATION___IS_COMPUTABLE :
+ return isComputable();
+ case UMLPackage.DURATION___IS_NULL :
+ return isNull();
+ case UMLPackage.DURATION___REAL_VALUE :
+ return realValue();
+ case UMLPackage.DURATION___STRING_VALUE :
+ return stringValue();
+ case UMLPackage.DURATION___UNLIMITED_VALUE :
+ return unlimitedValue();
+ case UMLPackage.DURATION___VALIDATE_NO_EXPR_REQUIRES_OBSERVATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoExprRequiresObservation(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements() || eIsSet(UMLPackage.DURATION__EXPR);
+ }
+
+} //DurationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationIntervalImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationIntervalImpl.java
new file mode 100644
index 00000000..fc39b97d
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationIntervalImpl.java
@@ -0,0 +1,352 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Duration Interval</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DurationIntervalImpl#getMax <em>Max</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DurationIntervalImpl#getMin <em>Min</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DurationIntervalImpl
+ extends IntervalImpl
+ implements DurationInterval {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DurationIntervalImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DURATION_INTERVAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification getMin() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.DURATION_INTERVAL__MIN - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MIN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification basicGetMin() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.DURATION_INTERVAL__MIN - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MIN, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setMin(ValueSpecification newMin) {
+ if (newMin != null && !(newMin instanceof Duration)) {
+ throw new IllegalArgumentException(
+ "newMin must be an instance of Duration"); //$NON-NLS-1$
+ }
+ eDynamicSet(UMLPackage.DURATION_INTERVAL__MIN - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MIN, newMin);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetMin() {
+ return basicGetMin() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.DURATION_INTERVAL__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.DURATION_INTERVAL__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.DURATION_INTERVAL__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.DURATION_INTERVAL__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.DURATION_INTERVAL__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.DURATION_INTERVAL__NAME :
+ return getName();
+ case UMLPackage.DURATION_INTERVAL__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.DURATION_INTERVAL__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.DURATION_INTERVAL__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DURATION_INTERVAL__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.DURATION_INTERVAL__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.DURATION_INTERVAL__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.DURATION_INTERVAL__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.DURATION_INTERVAL__MAX :
+ if (resolve)
+ return getMax();
+ return basicGetMax();
+ case UMLPackage.DURATION_INTERVAL__MIN :
+ if (resolve)
+ return getMin();
+ return basicGetMin();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.DURATION_INTERVAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.DURATION_INTERVAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.DURATION_INTERVAL__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.DURATION_INTERVAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.DURATION_INTERVAL__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.DURATION_INTERVAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DURATION_INTERVAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DURATION_INTERVAL__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.DURATION_INTERVAL__MAX :
+ setMax((ValueSpecification) newValue);
+ return;
+ case UMLPackage.DURATION_INTERVAL__MIN :
+ setMin((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DURATION_INTERVAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.DURATION_INTERVAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.DURATION_INTERVAL__NAME :
+ unsetName();
+ return;
+ case UMLPackage.DURATION_INTERVAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.DURATION_INTERVAL__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.DURATION_INTERVAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DURATION_INTERVAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DURATION_INTERVAL__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.DURATION_INTERVAL__MAX :
+ setMax((ValueSpecification) null);
+ return;
+ case UMLPackage.DURATION_INTERVAL__MIN :
+ setMin((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DURATION_INTERVAL__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.DURATION_INTERVAL__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.DURATION_INTERVAL__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.DURATION_INTERVAL__OWNER :
+ return isSetOwner();
+ case UMLPackage.DURATION_INTERVAL__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.DURATION_INTERVAL__NAME :
+ return isSetName();
+ case UMLPackage.DURATION_INTERVAL__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.DURATION_INTERVAL__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.DURATION_INTERVAL__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.DURATION_INTERVAL__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.DURATION_INTERVAL__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.DURATION_INTERVAL__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.DURATION_INTERVAL__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.DURATION_INTERVAL__MAX :
+ return isSetMax();
+ case UMLPackage.DURATION_INTERVAL__MIN :
+ return isSetMin();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification getMax() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.DURATION_INTERVAL__MAX - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MAX, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification basicGetMax() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.DURATION_INTERVAL__MAX - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MAX, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setMax(ValueSpecification newMax) {
+ if (newMax != null && !(newMax instanceof Duration)) {
+ throw new IllegalArgumentException(
+ "newMax must be an instance of Duration"); //$NON-NLS-1$
+ }
+ eDynamicSet(UMLPackage.DURATION_INTERVAL__MAX - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MAX, newMax);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetMax() {
+ return basicGetMax() != null;
+ }
+
+} //DurationIntervalImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationObservationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationObservationImpl.java
new file mode 100644
index 00000000..c938ff6e
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/DurationObservationImpl.java
@@ -0,0 +1,465 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 397324, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.DurationObservationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Duration Observation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DurationObservationImpl#getEvents <em>Event</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.DurationObservationImpl#getFirstEvents <em>First Event</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DurationObservationImpl
+ extends ObservationImpl
+ implements DurationObservation {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DurationObservationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.DURATION_OBSERVATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getEvents() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.DURATION_OBSERVATION__EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DURATION_OBSERVATION__EVENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getEvent(String name) {
+ return getEvent(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getEvent(String name, boolean ignoreCase,
+ EClass eClass) {
+ eventLoop : for (NamedElement event : getEvents()) {
+ if (eClass != null && !eClass.isInstance(event))
+ continue eventLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(event.getName())
+ : name.equals(event.getName())))
+ continue eventLoop;
+ return event;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Boolean> getFirstEvents() {
+ return (EList<Boolean>) eDynamicGet(
+ UMLPackage.DURATION_OBSERVATION__FIRST_EVENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DURATION_OBSERVATION__FIRST_EVENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateFirstEventMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return DurationObservationOperations
+ .validateFirstEventMultiplicity(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.DURATION_OBSERVATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.DURATION_OBSERVATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.DURATION_OBSERVATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.DURATION_OBSERVATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.DURATION_OBSERVATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.DURATION_OBSERVATION__NAME :
+ return getName();
+ case UMLPackage.DURATION_OBSERVATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.DURATION_OBSERVATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.DURATION_OBSERVATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DURATION_OBSERVATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.DURATION_OBSERVATION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.DURATION_OBSERVATION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.DURATION_OBSERVATION__EVENT :
+ return getEvents();
+ case UMLPackage.DURATION_OBSERVATION__FIRST_EVENT :
+ return getFirstEvents();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.DURATION_OBSERVATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.DURATION_OBSERVATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.DURATION_OBSERVATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.DURATION_OBSERVATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.DURATION_OBSERVATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.DURATION_OBSERVATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DURATION_OBSERVATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.DURATION_OBSERVATION__EVENT :
+ getEvents().clear();
+ getEvents()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.DURATION_OBSERVATION__FIRST_EVENT :
+ getFirstEvents().clear();
+ getFirstEvents()
+ .addAll((Collection<? extends Boolean>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DURATION_OBSERVATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.DURATION_OBSERVATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.DURATION_OBSERVATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.DURATION_OBSERVATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.DURATION_OBSERVATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.DURATION_OBSERVATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DURATION_OBSERVATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.DURATION_OBSERVATION__EVENT :
+ getEvents().clear();
+ return;
+ case UMLPackage.DURATION_OBSERVATION__FIRST_EVENT :
+ getFirstEvents().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.DURATION_OBSERVATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.DURATION_OBSERVATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.DURATION_OBSERVATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.DURATION_OBSERVATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.DURATION_OBSERVATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.DURATION_OBSERVATION__NAME :
+ return isSetName();
+ case UMLPackage.DURATION_OBSERVATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.DURATION_OBSERVATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.DURATION_OBSERVATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.DURATION_OBSERVATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.DURATION_OBSERVATION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.DURATION_OBSERVATION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.DURATION_OBSERVATION__EVENT :
+ return !getEvents().isEmpty();
+ case UMLPackage.DURATION_OBSERVATION__FIRST_EVENT :
+ return !getFirstEvents().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.DURATION_OBSERVATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_OBSERVATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_OBSERVATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.DURATION_OBSERVATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.DURATION_OBSERVATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.DURATION_OBSERVATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.DURATION_OBSERVATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DURATION_OBSERVATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.DURATION_OBSERVATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.DURATION_OBSERVATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.DURATION_OBSERVATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.DURATION_OBSERVATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.DURATION_OBSERVATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.DURATION_OBSERVATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.DURATION_OBSERVATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DURATION_OBSERVATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.DURATION_OBSERVATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.DURATION_OBSERVATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.DURATION_OBSERVATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.DURATION_OBSERVATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_OBSERVATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_OBSERVATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_OBSERVATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.DURATION_OBSERVATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.DURATION_OBSERVATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.DURATION_OBSERVATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.DURATION_OBSERVATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.DURATION_OBSERVATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.DURATION_OBSERVATION___SEPARATOR :
+ return separator();
+ case UMLPackage.DURATION_OBSERVATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.DURATION_OBSERVATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.DURATION_OBSERVATION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.DURATION_OBSERVATION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.DURATION_OBSERVATION___VALIDATE_FIRST_EVENT_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateFirstEventMultiplicity(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //DurationObservationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ElementImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ElementImpl.java
new file mode 100644
index 00000000..01c273ee
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ElementImpl.java
@@ -0,0 +1,1023 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181, 335125
+ * Kenn Hussey (CEA) - 327039, 424895, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.CommonPlugin;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.ElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ElementImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ElementImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ElementImpl#getOwnedComments <em>Owned Comment</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ElementImpl
+ extends org.eclipse.uml2.uml.cdo.internal.util.CDOElementImpl
+ implements Element {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static final int ESTATIC_FEATURE_COUNT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return ESTATIC_FEATURE_COUNT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.ELEMENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.ELEMENT__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Comment> getOwnedComments() {
+ return (EList<Comment>) eDynamicGet(
+ UMLPackage.ELEMENT__OWNED_COMMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ELEMENT__OWNED_COMMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Comment createOwnedComment() {
+ Comment newOwnedComment = (Comment) create(UMLPackage.Literals.COMMENT);
+ getOwnedComments().add(newOwnedComment);
+ return newOwnedComment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNotOwnSelf(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ElementOperations.validateNotOwnSelf(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateHasOwner(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ElementOperations.validateHasOwner(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getStereotypeApplications() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<EObject> result = (EList<EObject>) cache.get(this,
+ UMLPackage.Literals.ELEMENT___GET_STEREOTYPE_APPLICATIONS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.ELEMENT___GET_STEREOTYPE_APPLICATIONS,
+ result = ElementOperations.getStereotypeApplications(this));
+ }
+ return result;
+ }
+ return ElementOperations.getStereotypeApplications(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getStereotypeApplication(Stereotype stereotype) {
+ return ElementOperations.getStereotypeApplication(this, stereotype);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Stereotype> getRequiredStereotypes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Stereotype> result = (EList<Stereotype>) cache.get(this,
+ UMLPackage.Literals.ELEMENT___GET_REQUIRED_STEREOTYPES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.ELEMENT___GET_REQUIRED_STEREOTYPES,
+ result = ElementOperations.getRequiredStereotypes(this));
+ }
+ return result;
+ }
+ return ElementOperations.getRequiredStereotypes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype getRequiredStereotype(String qualifiedName) {
+ return ElementOperations.getRequiredStereotype(this, qualifiedName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Stereotype> getAppliedStereotypes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Stereotype> result = (EList<Stereotype>) cache.get(this,
+ UMLPackage.Literals.ELEMENT___GET_APPLIED_STEREOTYPES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.ELEMENT___GET_APPLIED_STEREOTYPES,
+ result = ElementOperations.getAppliedStereotypes(this));
+ }
+ return result;
+ }
+ return ElementOperations.getAppliedStereotypes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype getAppliedStereotype(String qualifiedName) {
+ return ElementOperations.getAppliedStereotype(this, qualifiedName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Stereotype> getAppliedSubstereotypes(Stereotype stereotype) {
+ return ElementOperations.getAppliedSubstereotypes(this, stereotype);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype getAppliedSubstereotype(Stereotype stereotype,
+ String qualifiedName) {
+ return ElementOperations.getAppliedSubstereotype(this, stereotype,
+ qualifiedName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean hasValue(Stereotype stereotype, String propertyName) {
+ return ElementOperations.hasValue(this, stereotype, propertyName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getValue(Stereotype stereotype, String propertyName) {
+ return ElementOperations.getValue(this, stereotype, propertyName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(Stereotype stereotype, String propertyName,
+ Object newValue) {
+ ElementOperations.setValue(this, stereotype, propertyName, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAnnotation createEAnnotation(String source) {
+ return ElementOperations.createEAnnotation(this, source);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Relationship> getRelationships() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Relationship> result = (EList<Relationship>) cache.get(this,
+ UMLPackage.Literals.ELEMENT___GET_RELATIONSHIPS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.ELEMENT___GET_RELATIONSHIPS,
+ result = ElementOperations.getRelationships(this));
+ }
+ return result;
+ }
+ return ElementOperations.getRelationships(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Relationship> getRelationships(EClass eClass) {
+ return ElementOperations.getRelationships(this, eClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DirectedRelationship> getSourceDirectedRelationships() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<DirectedRelationship> result = (EList<DirectedRelationship>) cache
+ .get(this,
+ UMLPackage.Literals.ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS,
+ result = ElementOperations
+ .getSourceDirectedRelationships(this));
+ }
+ return result;
+ }
+ return ElementOperations.getSourceDirectedRelationships(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DirectedRelationship> getSourceDirectedRelationships(
+ EClass eClass) {
+ return ElementOperations.getSourceDirectedRelationships(this, eClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DirectedRelationship> getTargetDirectedRelationships() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<DirectedRelationship> result = (EList<DirectedRelationship>) cache
+ .get(this,
+ UMLPackage.Literals.ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS,
+ result = ElementOperations
+ .getTargetDirectedRelationships(this));
+ }
+ return result;
+ }
+ return ElementOperations.getTargetDirectedRelationships(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DirectedRelationship> getTargetDirectedRelationships(
+ EClass eClass) {
+ return ElementOperations.getTargetDirectedRelationships(this, eClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getKeywords() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<String> result = (EList<String>) cache.get(eResource(), this,
+ UMLPackage.Literals.ELEMENT___GET_KEYWORDS);
+ if (result == null) {
+ cache.put(eResource(), this,
+ UMLPackage.Literals.ELEMENT___GET_KEYWORDS,
+ result = ElementOperations.getKeywords(this));
+ }
+ return result;
+ }
+ return ElementOperations.getKeywords(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean addKeyword(String keyword) {
+ return ElementOperations.addKeyword(this, keyword);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean removeKeyword(String keyword) {
+ return ElementOperations.removeKeyword(this, keyword);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getNearestPackage() {
+ return ElementOperations.getNearestPackage(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Model getModel() {
+ return ElementOperations.getModel(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isStereotypeApplicable(Stereotype stereotype) {
+ return ElementOperations.isStereotypeApplicable(this, stereotype);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isStereotypeRequired(Stereotype stereotype) {
+ return ElementOperations.isStereotypeRequired(this, stereotype);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isStereotypeApplied(Stereotype stereotype) {
+ return ElementOperations.isStereotypeApplied(this, stereotype);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject applyStereotype(Stereotype stereotype) {
+ return ElementOperations.applyStereotype(this, stereotype);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject unapplyStereotype(Stereotype stereotype) {
+ return ElementOperations.unapplyStereotype(this, stereotype);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Stereotype> getApplicableStereotypes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Stereotype> result = (EList<Stereotype>) cache.get(this,
+ UMLPackage.Literals.ELEMENT___GET_APPLICABLE_STEREOTYPES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.ELEMENT___GET_APPLICABLE_STEREOTYPES,
+ result = ElementOperations.getApplicableStereotypes(this));
+ }
+ return result;
+ }
+ return ElementOperations.getApplicableStereotypes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype getApplicableStereotype(String qualifiedName) {
+ return ElementOperations.getApplicableStereotype(this, qualifiedName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean hasKeyword(String keyword) {
+ return ElementOperations.hasKeyword(this, keyword);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void destroy() {
+ ElementOperations.destroy(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> allOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Element> result = (EList<Element>) cache.get(this,
+ UMLPackage.Literals.ELEMENT___ALL_OWNED_ELEMENTS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.ELEMENT___ALL_OWNED_ELEMENTS,
+ result = ElementOperations.allOwnedElements(this));
+ }
+ return result;
+ }
+ return ElementOperations.allOwnedElements(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean mustBeOwned() {
+ return ElementOperations.mustBeOwned(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ELEMENT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ELEMENT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ELEMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ELEMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ELEMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ELEMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ELEMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ELEMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ELEMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ELEMENT__OWNER :
+ return isSetOwner();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ELEMENT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ELEMENT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ELEMENT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ELEMENT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ELEMENT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ELEMENT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ELEMENT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ELEMENT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT___GET_MODEL :
+ return getModel();
+ case UMLPackage.ELEMENT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ELEMENT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ELEMENT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ELEMENT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ELEMENT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ELEMENT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ELEMENT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ELEMENT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ELEMENT___MUST_BE_OWNED :
+ return mustBeOwned();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * Creates a new instance of the specified Ecore class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param eClass The Ecore class of the instance to create.
+ * @return The new instance.
+ * @generated
+ */
+ protected EObject create(EClass eClass) {
+ return EcoreUtil.create(eClass);
+ }
+
+ /**
+ * Retrieves the cache adapter for this '<em><b>Element</b></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return The cache adapter for this '<em><b>Element</b></em>'.
+ * @generated NOT
+ */
+ @Override
+ protected CacheAdapter getCacheAdapter() {
+ return CacheAdapter.getInstance();
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.ELEMENT__OWNED_COMMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetOwnedElements() {
+ return eIsSet(UMLPackage.ELEMENT__OWNED_COMMENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetOwnerGen() {
+ return null;
+ }
+
+ public Element basicGetOwner() {
+ InternalEObject eInternalContainer = eInternalContainer();
+ return eInternalContainer instanceof Element
+ ? (Element) eInternalContainer
+ : basicGetOwnerGen();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetOwnerGen() {
+ return false;
+ }
+
+ public boolean isSetOwner() {
+ return basicGetOwner() != null;
+ }
+
+ private static final Class<?> CHANGE_DESCRIPTION_CLASS;
+
+ static {
+ Class<?> changeDescriptionClass = null;
+
+ try {
+ changeDescriptionClass = CommonPlugin.loadClass(
+ "org.eclipse.emf.ecore.change", //$NON-NLS-1$
+ "org.eclipse.emf.ecore.change.ChangeDescription"); //$NON-NLS-1$
+ } catch (Throwable throwable) {
+ // ignore
+ }
+
+ CHANGE_DESCRIPTION_CLASS = changeDescriptionClass;
+ }
+
+ @Override
+ public NotificationChain eBasicSetContainer(InternalEObject newContainer,
+ int newContainerFeatureID, NotificationChain msgs) {
+
+ if (eDirectResource() != null && newContainer != null
+ && eContainmentFeature(this, newContainer,
+ newContainerFeatureID) == null) {
+
+ InternalEObject oldContainer = eInternalContainer();
+ int oldContainerFeatureID = eContainerFeatureID();
+
+ eBasicSetContainer(newContainer, newContainerFeatureID);
+
+ if (eNotificationRequired()) {
+
+ if (oldContainer != null && oldContainerFeatureID >= 0
+ && oldContainerFeatureID != newContainerFeatureID) {
+
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, oldContainerFeatureID, oldContainer,
+ null);
+
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ if (newContainerFeatureID >= 0) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, newContainerFeatureID,
+ oldContainerFeatureID == newContainerFeatureID
+ ? oldContainer
+ : null,
+ newContainer);
+
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ }
+ } else {
+ msgs = super.eBasicSetContainer(newContainer, newContainerFeatureID,
+ msgs);
+ }
+
+ if (newContainer != null && (CHANGE_DESCRIPTION_CLASS == null
+ || !(CHANGE_DESCRIPTION_CLASS.isInstance(newContainer)))) {
+
+ Resource.Internal eInternalResource = eInternalResource();
+
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ ElementOperations.unapplyAllNonApplicableStereotypes(this,
+ false);
+ ElementOperations.applyAllRequiredStereotypes(this, false);
+ }
+ }
+
+ return msgs;
+ }
+
+ private boolean adapting;
+
+ @Override
+ public EList<Adapter> eAdapters() {
+
+ if (!adapting && !eBasicHasAdapters()) {
+ adapting = true;
+
+ CacheAdapter cacheAdapter = getCacheAdapter();
+
+ if (cacheAdapter != null) {
+ cacheAdapter.adapt(this);
+ }
+
+ adapting = false;
+ }
+
+ return super.eAdapters();
+ }
+
+ @Override
+ public void eSetDeliver(boolean deliver) {
+
+ if (deliver) {
+ CacheAdapter cacheAdapter = getCacheAdapter();
+
+ if (cacheAdapter != null) {
+ cacheAdapter.handleCrossReference(this);
+ }
+ }
+
+ super.eSetDeliver(deliver);
+ }
+
+ @Override
+ public boolean eNotificationRequired() {
+ return getCacheAdapter() == null
+ ? super.eNotificationRequired()
+ : eDeliver();
+ }
+
+ @Override
+ public void eNotify(Notification notification) {
+
+ if (eDeliver()) {
+ Adapter[] eBasicAdapters = eBasicAdapterArray();
+
+ if (eBasicAdapters == null) {
+ CacheAdapter cacheAdapter = getCacheAdapter();
+
+ if (cacheAdapter != null) {
+ cacheAdapter.notifyChanged(notification);
+ }
+ } else {
+ for (int i = 0, size = eBasicAdapters.length; i < size; i++) {
+ eBasicAdapters[i].notifyChanged(notification);
+ }
+ }
+ }
+ }
+
+} // ElementImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ElementImportImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ElementImportImpl.java
new file mode 100644
index 00000000..1f1958dd
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ElementImportImpl.java
@@ -0,0 +1,731 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ElementImportOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element Import</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ElementImportImpl#getTargets <em>Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ElementImportImpl#getSources <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ElementImportImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ElementImportImpl#getAlias <em>Alias</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ElementImportImpl#getImportedElement <em>Imported Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ElementImportImpl#getImportingNamespace <em>Importing Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ElementImportImpl#getVisibility <em>Visibility</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ElementImportImpl
+ extends DirectedRelationshipImpl
+ implements ElementImport {
+
+ /**
+ * The default value of the '{@link #getAlias() <em>Alias</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAlias()
+ * @generated
+ * @ordered
+ */
+ protected static final String ALIAS_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVisibility()
+ * @generated
+ * @ordered
+ */
+ protected static final VisibilityKind VISIBILITY_EDEFAULT = VisibilityKind.PUBLIC_LITERAL;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ElementImportImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ELEMENT_IMPORT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getTargets() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> targets = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET);
+ if (targets == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET,
+ targets = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.ELEMENT_IMPORT__TARGET,
+ TARGET_ESUBSETS));
+ }
+ return targets;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.ELEMENT_IMPORT__TARGET, TARGET_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getSources() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> sources = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE);
+ if (sources == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE,
+ sources = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.ELEMENT_IMPORT__SOURCE,
+ SOURCE_ESUBSETS));
+ }
+ return sources;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.ELEMENT_IMPORT__SOURCE, SOURCE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VisibilityKind getVisibility() {
+ return (VisibilityKind) eDynamicGet(
+ UMLPackage.ELEMENT_IMPORT__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ELEMENT_IMPORT__VISIBILITY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVisibility(VisibilityKind newVisibility) {
+ eDynamicSet(
+ UMLPackage.ELEMENT_IMPORT__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ELEMENT_IMPORT__VISIBILITY, newVisibility);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAlias() {
+ return (String) eDynamicGet(
+ UMLPackage.ELEMENT_IMPORT__ALIAS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ELEMENT_IMPORT__ALIAS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAlias(String newAlias) {
+ eDynamicSet(UMLPackage.ELEMENT_IMPORT__ALIAS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ELEMENT_IMPORT__ALIAS, newAlias);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetAlias() {
+ eDynamicUnset(UMLPackage.ELEMENT_IMPORT__ALIAS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ELEMENT_IMPORT__ALIAS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetAlias() {
+ return eDynamicIsSet(
+ UMLPackage.ELEMENT_IMPORT__ALIAS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ELEMENT_IMPORT__ALIAS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getImportedElement() {
+ return (PackageableElement) eDynamicGet(
+ UMLPackage.ELEMENT_IMPORT__IMPORTED_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ELEMENT_IMPORT__IMPORTED_ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement basicGetImportedElement() {
+ return (PackageableElement) eDynamicGet(
+ UMLPackage.ELEMENT_IMPORT__IMPORTED_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ELEMENT_IMPORT__IMPORTED_ELEMENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImportedElement(PackageableElement newImportedElement) {
+ eDynamicSet(
+ UMLPackage.ELEMENT_IMPORT__IMPORTED_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ELEMENT_IMPORT__IMPORTED_ELEMENT,
+ newImportedElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Namespace getImportingNamespace() {
+ return (Namespace) eDynamicGet(
+ UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ELEMENT_IMPORT__IMPORTING_NAMESPACE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Namespace basicGetImportingNamespace() {
+ return (Namespace) eDynamicGet(
+ UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ELEMENT_IMPORT__IMPORTING_NAMESPACE, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetImportingNamespace(
+ Namespace newImportingNamespace, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newImportingNamespace,
+ UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImportingNamespace(Namespace newImportingNamespace) {
+ eDynamicSet(
+ UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ELEMENT_IMPORT__IMPORTING_NAMESPACE,
+ newImportingNamespace);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateVisibilityPublicOrPrivate(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ElementImportOperations.validateVisibilityPublicOrPrivate(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateImportedElementIsPublic(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ElementImportOperations.validateImportedElementIsPublic(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return ElementImportOperations.getName(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ELEMENT_IMPORT__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetImportingNamespace((Namespace) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ELEMENT_IMPORT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ELEMENT_IMPORT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE :
+ return basicSetImportingNamespace(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.NAMESPACE__ELEMENT_IMPORT, Namespace.class,
+ msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ELEMENT_IMPORT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ELEMENT_IMPORT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ELEMENT_IMPORT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ELEMENT_IMPORT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ELEMENT_IMPORT__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.ELEMENT_IMPORT__SOURCE :
+ return getSources();
+ case UMLPackage.ELEMENT_IMPORT__TARGET :
+ return getTargets();
+ case UMLPackage.ELEMENT_IMPORT__ALIAS :
+ return getAlias();
+ case UMLPackage.ELEMENT_IMPORT__IMPORTED_ELEMENT :
+ if (resolve)
+ return getImportedElement();
+ return basicGetImportedElement();
+ case UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE :
+ if (resolve)
+ return getImportingNamespace();
+ return basicGetImportingNamespace();
+ case UMLPackage.ELEMENT_IMPORT__VISIBILITY :
+ return getVisibility();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ELEMENT_IMPORT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ELEMENT_IMPORT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ELEMENT_IMPORT__ALIAS :
+ setAlias((String) newValue);
+ return;
+ case UMLPackage.ELEMENT_IMPORT__IMPORTED_ELEMENT :
+ setImportedElement((PackageableElement) newValue);
+ return;
+ case UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE :
+ setImportingNamespace((Namespace) newValue);
+ return;
+ case UMLPackage.ELEMENT_IMPORT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ELEMENT_IMPORT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ELEMENT_IMPORT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ELEMENT_IMPORT__ALIAS :
+ unsetAlias();
+ return;
+ case UMLPackage.ELEMENT_IMPORT__IMPORTED_ELEMENT :
+ setImportedElement((PackageableElement) null);
+ return;
+ case UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE :
+ setImportingNamespace((Namespace) null);
+ return;
+ case UMLPackage.ELEMENT_IMPORT__VISIBILITY :
+ setVisibility(VISIBILITY_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ELEMENT_IMPORT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ELEMENT_IMPORT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ELEMENT_IMPORT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ELEMENT_IMPORT__OWNER :
+ return isSetOwner();
+ case UMLPackage.ELEMENT_IMPORT__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.ELEMENT_IMPORT__SOURCE :
+ return isSetSources();
+ case UMLPackage.ELEMENT_IMPORT__TARGET :
+ return isSetTargets();
+ case UMLPackage.ELEMENT_IMPORT__ALIAS :
+ return isSetAlias();
+ case UMLPackage.ELEMENT_IMPORT__IMPORTED_ELEMENT :
+ return basicGetImportedElement() != null;
+ case UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE :
+ return basicGetImportingNamespace() != null;
+ case UMLPackage.ELEMENT_IMPORT__VISIBILITY :
+ return getVisibility() != VISIBILITY_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ELEMENT_IMPORT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ELEMENT_IMPORT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ELEMENT_IMPORT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ELEMENT_IMPORT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ELEMENT_IMPORT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ELEMENT_IMPORT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ELEMENT_IMPORT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ELEMENT_IMPORT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___GET_MODEL :
+ return getModel();
+ case UMLPackage.ELEMENT_IMPORT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ELEMENT_IMPORT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ELEMENT_IMPORT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ELEMENT_IMPORT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ELEMENT_IMPORT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ELEMENT_IMPORT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ELEMENT_IMPORT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ELEMENT_IMPORT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ELEMENT_IMPORT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ELEMENT_IMPORT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ELEMENT_IMPORT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ELEMENT_IMPORT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ELEMENT_IMPORT___VALIDATE_IMPORTED_ELEMENT_IS_PUBLIC__DIAGNOSTICCHAIN_MAP :
+ return validateImportedElementIsPublic(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ELEMENT_IMPORT___VALIDATE_VISIBILITY_PUBLIC_OR_PRIVATE__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityPublicOrPrivate(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ELEMENT_IMPORT___GET_NAME :
+ return getName();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getTargets() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] TARGET_ESUBSETS = new int[]{
+ UMLPackage.ELEMENT_IMPORT__IMPORTED_ELEMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetTargets() {
+ return super.isSetTargets()
+ || eIsSet(UMLPackage.ELEMENT_IMPORT__IMPORTED_ELEMENT);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSources() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSources()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SOURCE_ESUBSETS = new int[]{
+ UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetSources() {
+ return super.isSetSources()
+ || eIsSet(UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ Namespace importingNamespace = basicGetImportingNamespace();
+ if (importingNamespace != null) {
+ return importingNamespace;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE);
+ }
+
+} //ElementImportImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EncapsulatedClassifierImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EncapsulatedClassifierImpl.java
new file mode 100644
index 00000000..deaf4bed
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EncapsulatedClassifierImpl.java
@@ -0,0 +1,691 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedSubsetEObjectEList;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.EncapsulatedClassifier;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+//import org.eclipse.uml2.uml.internal.operations.EncapsulatedClassifierOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Encapsulated Classifier</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.EncapsulatedClassifierImpl#getOwnedAttributes <em>Owned Attribute</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.EncapsulatedClassifierImpl#getOwnedPorts <em>Owned Port</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class EncapsulatedClassifierImpl
+ extends StructuredClassifierImpl
+ implements EncapsulatedClassifier {
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getOwnedPorts() <em>Owned Port</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedPorts()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_PORT_ESUPERSETS = new int[]{
+ UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_ATTRIBUTE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port getOwnedPort(String name, Type type) {
+ return getOwnedPort(name, type, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Port getOwnedPort(String name, Type type, boolean ignoreCase) {
+ return getOwnedPort(name, type, ignoreCase, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EncapsulatedClassifierImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ENCAPSULATED_CLASSIFIER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Property> getOwnedAttributes() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_ATTRIBUTE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList<Port> getOwnedPorts() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Port> ownedPorts = (EList<Port>) cache.get(eResource, this,
+ UMLPackage.Literals.ENCAPSULATED_CLASSIFIER__OWNED_PORT);
+ if (ownedPorts == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ENCAPSULATED_CLASSIFIER__OWNED_PORT,
+ ownedPorts = new DerivedSubsetEObjectEList<Port>(Port.class,
+ this, UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_PORT,
+ OWNED_PORT_ESUPERSETS));
+ }
+ return ownedPorts;
+ }
+ return new DerivedSubsetEObjectEList<Port>(Port.class, this,
+ UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_PORT,
+ OWNED_PORT_ESUPERSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Port createOwnedPort(String name, Type type) {
+ Port newOwnedPort = (Port) create(UMLPackage.Literals.PORT);
+ getOwnedPorts().add(newOwnedPort);
+ if (name != null)
+ newOwnedPort.setName(name);
+ if (type != null)
+ newOwnedPort.setType(type);
+ return newOwnedPort;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Port getOwnedPort(String name, Type type, boolean ignoreCase,
+ boolean createOnDemand) {
+ ownedPortLoop : for (Port ownedPort : getOwnedPorts()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedPort.getName())
+ : name.equals(ownedPort.getName())))
+ continue ownedPortLoop;
+ if (type != null && !type.equals(ownedPort.getType()))
+ continue ownedPortLoop;
+ return ownedPort;
+ }
+ return createOnDemand
+ ? createOwnedPort(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_CONNECTOR :
+ return ((InternalEList<?>) getOwnedConnectors())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__NAME :
+ return getName();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__MEMBER :
+ return getMembers();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__FEATURE :
+ return getFeatures();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__GENERAL :
+ return getGenerals();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__USE_CASE :
+ return getUseCases();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__PART :
+ return getParts();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__ROLE :
+ return getRoles();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_PORT :
+ return getOwnedPorts();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNER :
+ return isSetOwner();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__NAME :
+ return isSetName();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__MEMBER :
+ return isSetMembers();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_ATTRIBUTE :
+ return !getOwnedAttributes().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__ROLE :
+ return isSetRoles();
+ case UMLPackage.ENCAPSULATED_CLASSIFIER__OWNED_PORT :
+ return !getOwnedPorts().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //EncapsulatedClassifierImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EnumerationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EnumerationImpl.java
new file mode 100644
index 00000000..867f6542
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EnumerationImpl.java
@@ -0,0 +1,1081 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.EnumerationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Enumeration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.EnumerationImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.EnumerationImpl#getOwnedLiterals <em>Owned Literal</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EnumerationImpl
+ extends DataTypeImpl
+ implements Enumeration {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EnumerationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ENUMERATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.ENUMERATION__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.ENUMERATION__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<EnumerationLiteral> getOwnedLiterals() {
+ return (EList<EnumerationLiteral>) eDynamicGet(
+ UMLPackage.ENUMERATION__OWNED_LITERAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ENUMERATION__OWNED_LITERAL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnumerationLiteral createOwnedLiteral(String name) {
+ EnumerationLiteral newOwnedLiteral = (EnumerationLiteral) create(
+ UMLPackage.Literals.ENUMERATION_LITERAL);
+ getOwnedLiterals().add(newOwnedLiteral);
+ if (name != null)
+ newOwnedLiteral.setName(name);
+ return newOwnedLiteral;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnumerationLiteral getOwnedLiteral(String name) {
+ return getOwnedLiteral(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnumerationLiteral getOwnedLiteral(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ ownedLiteralLoop : for (EnumerationLiteral ownedLiteral : getOwnedLiterals()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedLiteral.getName())
+ : name.equals(ownedLiteral.getName())))
+ continue ownedLiteralLoop;
+ return ownedLiteral;
+ }
+ return createOnDemand
+ ? createOwnedLiteral(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateImmutable(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return EnumerationOperations.validateImmutable(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ENUMERATION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.ENUMERATION__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.ENUMERATION__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.ENUMERATION__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.ENUMERATION__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__OWNED_ATTRIBUTE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedAttributes())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__OWNED_OPERATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedOperations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__OWNED_LITERAL :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedLiterals())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ENUMERATION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ENUMERATION__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.ENUMERATION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.ENUMERATION__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.ENUMERATION__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ENUMERATION__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION__OWNED_LITERAL :
+ return ((InternalEList<?>) getOwnedLiterals())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ENUMERATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ENUMERATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ENUMERATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ENUMERATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ENUMERATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ENUMERATION__NAME :
+ return getName();
+ case UMLPackage.ENUMERATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ENUMERATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ENUMERATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ENUMERATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ENUMERATION__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.ENUMERATION__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.ENUMERATION__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.ENUMERATION__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.ENUMERATION__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.ENUMERATION__MEMBER :
+ return getMembers();
+ case UMLPackage.ENUMERATION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.ENUMERATION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.ENUMERATION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.ENUMERATION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.ENUMERATION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.ENUMERATION__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.ENUMERATION__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.ENUMERATION__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.ENUMERATION__FEATURE :
+ return getFeatures();
+ case UMLPackage.ENUMERATION__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.ENUMERATION__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.ENUMERATION__GENERAL :
+ return getGenerals();
+ case UMLPackage.ENUMERATION__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.ENUMERATION__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.ENUMERATION__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.ENUMERATION__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.ENUMERATION__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.ENUMERATION__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.ENUMERATION__USE_CASE :
+ return getUseCases();
+ case UMLPackage.ENUMERATION__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.ENUMERATION__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.ENUMERATION__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.ENUMERATION__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.ENUMERATION__OWNED_OPERATION :
+ return getOwnedOperations();
+ case UMLPackage.ENUMERATION__OWNED_LITERAL :
+ return getOwnedLiterals();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ENUMERATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ENUMERATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ENUMERATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ENUMERATION__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.ENUMERATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ENUMERATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ENUMERATION__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.ENUMERATION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.ENUMERATION__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.ENUMERATION__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.ENUMERATION__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.ENUMERATION__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ case UMLPackage.ENUMERATION__OWNED_LITERAL :
+ getOwnedLiterals().clear();
+ getOwnedLiterals().addAll(
+ (Collection<? extends EnumerationLiteral>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ENUMERATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ENUMERATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ENUMERATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ENUMERATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ENUMERATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ENUMERATION__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.ENUMERATION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.ENUMERATION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.ENUMERATION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.ENUMERATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ENUMERATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ENUMERATION__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.ENUMERATION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.ENUMERATION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.ENUMERATION__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.ENUMERATION__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.ENUMERATION__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.ENUMERATION__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.ENUMERATION__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.ENUMERATION__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.ENUMERATION__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.ENUMERATION__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.ENUMERATION__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.ENUMERATION__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.ENUMERATION__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.ENUMERATION__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.ENUMERATION__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ case UMLPackage.ENUMERATION__OWNED_LITERAL :
+ getOwnedLiterals().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ENUMERATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ENUMERATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ENUMERATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ENUMERATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.ENUMERATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ENUMERATION__NAME :
+ return isSetName();
+ case UMLPackage.ENUMERATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ENUMERATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ENUMERATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ENUMERATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ENUMERATION__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.ENUMERATION__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.ENUMERATION__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.ENUMERATION__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.ENUMERATION__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.ENUMERATION__MEMBER :
+ return isSetMembers();
+ case UMLPackage.ENUMERATION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.ENUMERATION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.ENUMERATION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.ENUMERATION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.ENUMERATION__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.ENUMERATION__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.ENUMERATION__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.ENUMERATION__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.ENUMERATION__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.ENUMERATION__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.ENUMERATION__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.ENUMERATION__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.ENUMERATION__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.ENUMERATION__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.ENUMERATION__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.ENUMERATION__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.ENUMERATION__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.ENUMERATION__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.ENUMERATION__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.ENUMERATION__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.ENUMERATION__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.ENUMERATION__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.ENUMERATION__OWNED_ATTRIBUTE :
+ return !getOwnedAttributes().isEmpty();
+ case UMLPackage.ENUMERATION__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ case UMLPackage.ENUMERATION__OWNED_LITERAL :
+ return !getOwnedLiterals().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ENUMERATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ENUMERATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ENUMERATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ENUMERATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ENUMERATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ENUMERATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ENUMERATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ENUMERATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ENUMERATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ENUMERATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ENUMERATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.ENUMERATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ENUMERATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ENUMERATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ENUMERATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ENUMERATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ENUMERATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ENUMERATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ENUMERATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ENUMERATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ENUMERATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ENUMERATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ENUMERATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ENUMERATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ENUMERATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ENUMERATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ENUMERATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ENUMERATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ENUMERATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ENUMERATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ENUMERATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ENUMERATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ENUMERATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ENUMERATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ENUMERATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ENUMERATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ENUMERATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ENUMERATION___SEPARATOR :
+ return separator();
+ case UMLPackage.ENUMERATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ENUMERATION___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.ENUMERATION___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.ENUMERATION___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.ENUMERATION___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.ENUMERATION___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.ENUMERATION___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.ENUMERATION___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.ENUMERATION___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.ENUMERATION___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.ENUMERATION___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.ENUMERATION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.ENUMERATION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.ENUMERATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.ENUMERATION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.ENUMERATION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.ENUMERATION___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.ENUMERATION___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.ENUMERATION___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.ENUMERATION___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.ENUMERATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.ENUMERATION___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.ENUMERATION___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.ENUMERATION___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.ENUMERATION___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.ENUMERATION___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.ENUMERATION___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.ENUMERATION___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.ENUMERATION___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.ENUMERATION___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.ENUMERATION___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.ENUMERATION___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.ENUMERATION___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.ENUMERATION___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.ENUMERATION___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.ENUMERATION___PARENTS :
+ return parents();
+ case UMLPackage.ENUMERATION___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.ENUMERATION___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.ENUMERATION___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.ENUMERATION___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.ENUMERATION___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.ENUMERATION___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.ENUMERATION___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.ENUMERATION___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.ENUMERATION___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ case UMLPackage.ENUMERATION___VALIDATE_IMMUTABLE__DIAGNOSTICCHAIN_MAP :
+ return validateImmutable((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.ENUMERATION__OWNED_RULE,
+ UMLPackage.ENUMERATION__OWNED_USE_CASE,
+ UMLPackage.ENUMERATION__OWNED_ATTRIBUTE,
+ UMLPackage.ENUMERATION__OWNED_OPERATION,
+ UMLPackage.ENUMERATION__OWNED_LITERAL};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.ENUMERATION__OWNED_LITERAL);
+ }
+
+} //EnumerationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EnumerationLiteralImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EnumerationLiteralImpl.java
new file mode 100644
index 00000000..a1b2ca60
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EnumerationLiteralImpl.java
@@ -0,0 +1,713 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.EnumerationLiteralOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Enumeration Literal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.EnumerationLiteralImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.EnumerationLiteralImpl#getEnumeration <em>Enumeration</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.EnumerationLiteralImpl#getClassifiers <em>Classifier</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EnumerationLiteralImpl
+ extends InstanceSpecificationImpl
+ implements EnumerationLiteral {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EnumerationLiteralImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.ENUMERATION_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumeration getEnumeration() {
+ return (Enumeration) eDynamicGet(
+ UMLPackage.ENUMERATION_LITERAL__ENUMERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ENUMERATION_LITERAL__ENUMERATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumeration basicGetEnumeration() {
+ return (Enumeration) eDynamicGet(
+ UMLPackage.ENUMERATION_LITERAL__ENUMERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ENUMERATION_LITERAL__ENUMERATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEnumeration(Enumeration newEnumeration,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newEnumeration,
+ UMLPackage.ENUMERATION_LITERAL__ENUMERATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnumeration(Enumeration newEnumeration) {
+ eDynamicSet(
+ UMLPackage.ENUMERATION_LITERAL__ENUMERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ENUMERATION_LITERAL__ENUMERATION,
+ newEnumeration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Classifier> getClassifiers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Classifier> result = (EList<Classifier>) cache.get(this,
+ UMLPackage.Literals.INSTANCE_SPECIFICATION__CLASSIFIER);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.INSTANCE_SPECIFICATION__CLASSIFIER,
+ result = EnumerationLiteralOperations.getClassifiers(this));
+ }
+ return result;
+ }
+ return EnumerationLiteralOperations.getClassifiers(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Classifier getClassifier(String name) {
+ return getClassifier(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getClassifier(String name, boolean ignoreCase) {
+ classifierLoop : for (Classifier classifier : getClassifiers()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(classifier.getName())
+ : name.equals(classifier.getName())))
+ continue classifierLoop;
+ return classifier;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetClassifiers() {
+ return !getClassifiers().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumeration getClassifier() {
+ return EnumerationLiteralOperations.getClassifier(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ENUMERATION_LITERAL__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION_LITERAL__DEPLOYMENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getDeployments())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION_LITERAL__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.ENUMERATION_LITERAL__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.ENUMERATION_LITERAL__SLOT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSlots())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.ENUMERATION_LITERAL__ENUMERATION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetEnumeration((Enumeration) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.ENUMERATION_LITERAL__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION_LITERAL__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION_LITERAL__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.ENUMERATION_LITERAL__DEPLOYMENT :
+ return ((InternalEList<?>) getDeployments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.ENUMERATION_LITERAL__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.ENUMERATION_LITERAL__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.ENUMERATION_LITERAL__SLOT :
+ return ((InternalEList<?>) getSlots()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.ENUMERATION_LITERAL__SPECIFICATION :
+ return basicSetSpecification(null, msgs);
+ case UMLPackage.ENUMERATION_LITERAL__ENUMERATION :
+ return basicSetEnumeration(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.ENUMERATION_LITERAL__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ case UMLPackage.ENUMERATION_LITERAL__ENUMERATION :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.ENUMERATION__OWNED_LITERAL, Enumeration.class,
+ msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.ENUMERATION_LITERAL__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.ENUMERATION_LITERAL__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.ENUMERATION_LITERAL__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.ENUMERATION_LITERAL__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.ENUMERATION_LITERAL__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.ENUMERATION_LITERAL__NAME :
+ return getName();
+ case UMLPackage.ENUMERATION_LITERAL__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.ENUMERATION_LITERAL__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.ENUMERATION_LITERAL__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ENUMERATION_LITERAL__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.ENUMERATION_LITERAL__DEPLOYED_ELEMENT :
+ return getDeployedElements();
+ case UMLPackage.ENUMERATION_LITERAL__DEPLOYMENT :
+ return getDeployments();
+ case UMLPackage.ENUMERATION_LITERAL__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.ENUMERATION_LITERAL__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.ENUMERATION_LITERAL__CLASSIFIER :
+ return getClassifiers();
+ case UMLPackage.ENUMERATION_LITERAL__SLOT :
+ return getSlots();
+ case UMLPackage.ENUMERATION_LITERAL__SPECIFICATION :
+ if (resolve)
+ return getSpecification();
+ return basicGetSpecification();
+ case UMLPackage.ENUMERATION_LITERAL__ENUMERATION :
+ if (resolve)
+ return getEnumeration();
+ return basicGetEnumeration();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.ENUMERATION_LITERAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__DEPLOYMENT :
+ getDeployments().clear();
+ getDeployments()
+ .addAll((Collection<? extends Deployment>) newValue);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__CLASSIFIER :
+ getClassifiers().clear();
+ getClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__SLOT :
+ getSlots().clear();
+ getSlots().addAll((Collection<? extends Slot>) newValue);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__SPECIFICATION :
+ setSpecification((ValueSpecification) newValue);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__ENUMERATION :
+ setEnumeration((Enumeration) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ENUMERATION_LITERAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__NAME :
+ unsetName();
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__DEPLOYMENT :
+ getDeployments().clear();
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__CLASSIFIER :
+ getClassifiers().clear();
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__SLOT :
+ getSlots().clear();
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__SPECIFICATION :
+ setSpecification((ValueSpecification) null);
+ return;
+ case UMLPackage.ENUMERATION_LITERAL__ENUMERATION :
+ setEnumeration((Enumeration) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.ENUMERATION_LITERAL__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.ENUMERATION_LITERAL__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.ENUMERATION_LITERAL__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.ENUMERATION_LITERAL__OWNER :
+ return isSetOwner();
+ case UMLPackage.ENUMERATION_LITERAL__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.ENUMERATION_LITERAL__NAME :
+ return isSetName();
+ case UMLPackage.ENUMERATION_LITERAL__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.ENUMERATION_LITERAL__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.ENUMERATION_LITERAL__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.ENUMERATION_LITERAL__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.ENUMERATION_LITERAL__DEPLOYED_ELEMENT :
+ return !getDeployedElements().isEmpty();
+ case UMLPackage.ENUMERATION_LITERAL__DEPLOYMENT :
+ return !getDeployments().isEmpty();
+ case UMLPackage.ENUMERATION_LITERAL__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.ENUMERATION_LITERAL__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.ENUMERATION_LITERAL__CLASSIFIER :
+ return isSetClassifiers();
+ case UMLPackage.ENUMERATION_LITERAL__SLOT :
+ return !getSlots().isEmpty();
+ case UMLPackage.ENUMERATION_LITERAL__SPECIFICATION :
+ return basicGetSpecification() != null;
+ case UMLPackage.ENUMERATION_LITERAL__ENUMERATION :
+ return basicGetEnumeration() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.ENUMERATION_LITERAL___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.ENUMERATION_LITERAL___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.ENUMERATION_LITERAL___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.ENUMERATION_LITERAL___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.ENUMERATION_LITERAL___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___GET_MODEL :
+ return getModel();
+ case UMLPackage.ENUMERATION_LITERAL___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.ENUMERATION_LITERAL___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.ENUMERATION_LITERAL___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.ENUMERATION_LITERAL___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.ENUMERATION_LITERAL___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.ENUMERATION_LITERAL___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.ENUMERATION_LITERAL___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.ENUMERATION_LITERAL___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.ENUMERATION_LITERAL___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.ENUMERATION_LITERAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___GET_LABEL :
+ return getLabel();
+ case UMLPackage.ENUMERATION_LITERAL___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.ENUMERATION_LITERAL___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.ENUMERATION_LITERAL___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.ENUMERATION_LITERAL___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.ENUMERATION_LITERAL___SEPARATOR :
+ return separator();
+ case UMLPackage.ENUMERATION_LITERAL___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.ENUMERATION_LITERAL___GET_DEPLOYED_ELEMENTS :
+ return getDeployedElements();
+ case UMLPackage.ENUMERATION_LITERAL___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.ENUMERATION_LITERAL___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.ENUMERATION_LITERAL___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___VALIDATE_DEPLOYMENT_ARTIFACT__DIAGNOSTICCHAIN_MAP :
+ return validateDeploymentArtifact(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___VALIDATE_STRUCTURAL_FEATURE__DIAGNOSTICCHAIN_MAP :
+ return validateStructuralFeature(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___VALIDATE_DEFINING_FEATURE__DIAGNOSTICCHAIN_MAP :
+ return validateDefiningFeature(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP :
+ return validateDeploymentTarget(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.ENUMERATION_LITERAL___GET_CLASSIFIERS :
+ return getClassifiers();
+ case UMLPackage.ENUMERATION_LITERAL___GET_CLASSIFIER :
+ return getClassifier();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ Enumeration enumeration = basicGetEnumeration();
+ if (enumeration != null) {
+ return enumeration;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace()
+ || eIsSet(UMLPackage.ENUMERATION_LITERAL__ENUMERATION);
+ }
+
+} //EnumerationLiteralImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EventImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EventImpl.java
new file mode 100644
index 00000000..c2adff6b
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/EventImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.Event;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class EventImpl
+ extends PackageableElementImpl
+ implements Event {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.EVENT;
+ }
+
+} //EventImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExceptionHandlerImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExceptionHandlerImpl.java
new file mode 100644
index 00000000..d9db1eb8
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExceptionHandlerImpl.java
@@ -0,0 +1,659 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutableNode;
+import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.ExceptionHandlerOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Exception Handler</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExceptionHandlerImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExceptionHandlerImpl#getExceptionInput <em>Exception Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExceptionHandlerImpl#getExceptionTypes <em>Exception Type</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExceptionHandlerImpl#getHandlerBody <em>Handler Body</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExceptionHandlerImpl#getProtectedNode <em>Protected Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExceptionHandlerImpl
+ extends ElementImpl
+ implements ExceptionHandler {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExceptionHandlerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.EXCEPTION_HANDLER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getHandlerBody() {
+ return (ExecutableNode) eDynamicGet(
+ UMLPackage.EXCEPTION_HANDLER__HANDLER_BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXCEPTION_HANDLER__HANDLER_BODY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode basicGetHandlerBody() {
+ return (ExecutableNode) eDynamicGet(
+ UMLPackage.EXCEPTION_HANDLER__HANDLER_BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXCEPTION_HANDLER__HANDLER_BODY, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHandlerBody(ExecutableNode newHandlerBody) {
+ eDynamicSet(
+ UMLPackage.EXCEPTION_HANDLER__HANDLER_BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXCEPTION_HANDLER__HANDLER_BODY,
+ newHandlerBody);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectNode getExceptionInput() {
+ return (ObjectNode) eDynamicGet(
+ UMLPackage.EXCEPTION_HANDLER__EXCEPTION_INPUT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXCEPTION_HANDLER__EXCEPTION_INPUT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectNode basicGetExceptionInput() {
+ return (ObjectNode) eDynamicGet(
+ UMLPackage.EXCEPTION_HANDLER__EXCEPTION_INPUT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXCEPTION_HANDLER__EXCEPTION_INPUT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExceptionInput(ObjectNode newExceptionInput) {
+ eDynamicSet(
+ UMLPackage.EXCEPTION_HANDLER__EXCEPTION_INPUT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXCEPTION_HANDLER__EXCEPTION_INPUT,
+ newExceptionInput);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getExceptionTypes() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.EXCEPTION_HANDLER__EXCEPTION_TYPE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXCEPTION_HANDLER__EXCEPTION_TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getExceptionType(String name) {
+ return getExceptionType(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getExceptionType(String name, boolean ignoreCase,
+ EClass eClass) {
+ exceptionTypeLoop : for (Classifier exceptionType : getExceptionTypes()) {
+ if (eClass != null && !eClass.isInstance(exceptionType))
+ continue exceptionTypeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(exceptionType.getName())
+ : name.equals(exceptionType.getName())))
+ continue exceptionTypeLoop;
+ return exceptionType;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getProtectedNode() {
+ return (ExecutableNode) eDynamicGet(
+ UMLPackage.EXCEPTION_HANDLER__PROTECTED_NODE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXCEPTION_HANDLER__PROTECTED_NODE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode basicGetProtectedNode() {
+ return (ExecutableNode) eDynamicGet(
+ UMLPackage.EXCEPTION_HANDLER__PROTECTED_NODE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXCEPTION_HANDLER__PROTECTED_NODE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetProtectedNode(
+ ExecutableNode newProtectedNode, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newProtectedNode,
+ UMLPackage.EXCEPTION_HANDLER__PROTECTED_NODE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProtectedNode(ExecutableNode newProtectedNode) {
+ eDynamicSet(
+ UMLPackage.EXCEPTION_HANDLER__PROTECTED_NODE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXCEPTION_HANDLER__PROTECTED_NODE,
+ newProtectedNode);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateHandlerBodyEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExceptionHandlerOperations.validateHandlerBodyEdges(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOutputPins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExceptionHandlerOperations.validateOutputPins(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneInput(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExceptionHandlerOperations.validateOneInput(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEdgeSourceTarget(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExceptionHandlerOperations.validateEdgeSourceTarget(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateHandlerBodyOwner(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExceptionHandlerOperations.validateHandlerBodyOwner(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateExceptionInputType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExceptionHandlerOperations.validateExceptionInputType(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXCEPTION_HANDLER__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXCEPTION_HANDLER__PROTECTED_NODE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetProtectedNode((ExecutableNode) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXCEPTION_HANDLER__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXCEPTION_HANDLER__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXCEPTION_HANDLER__PROTECTED_NODE :
+ return basicSetProtectedNode(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.EXCEPTION_HANDLER__PROTECTED_NODE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.EXECUTABLE_NODE__HANDLER, ExecutableNode.class,
+ msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.EXCEPTION_HANDLER__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.EXCEPTION_HANDLER__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.EXCEPTION_HANDLER__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.EXCEPTION_HANDLER__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.EXCEPTION_HANDLER__EXCEPTION_INPUT :
+ if (resolve)
+ return getExceptionInput();
+ return basicGetExceptionInput();
+ case UMLPackage.EXCEPTION_HANDLER__EXCEPTION_TYPE :
+ return getExceptionTypes();
+ case UMLPackage.EXCEPTION_HANDLER__HANDLER_BODY :
+ if (resolve)
+ return getHandlerBody();
+ return basicGetHandlerBody();
+ case UMLPackage.EXCEPTION_HANDLER__PROTECTED_NODE :
+ if (resolve)
+ return getProtectedNode();
+ return basicGetProtectedNode();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.EXCEPTION_HANDLER__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.EXCEPTION_HANDLER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.EXCEPTION_HANDLER__EXCEPTION_INPUT :
+ setExceptionInput((ObjectNode) newValue);
+ return;
+ case UMLPackage.EXCEPTION_HANDLER__EXCEPTION_TYPE :
+ getExceptionTypes().clear();
+ getExceptionTypes()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.EXCEPTION_HANDLER__HANDLER_BODY :
+ setHandlerBody((ExecutableNode) newValue);
+ return;
+ case UMLPackage.EXCEPTION_HANDLER__PROTECTED_NODE :
+ setProtectedNode((ExecutableNode) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXCEPTION_HANDLER__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.EXCEPTION_HANDLER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.EXCEPTION_HANDLER__EXCEPTION_INPUT :
+ setExceptionInput((ObjectNode) null);
+ return;
+ case UMLPackage.EXCEPTION_HANDLER__EXCEPTION_TYPE :
+ getExceptionTypes().clear();
+ return;
+ case UMLPackage.EXCEPTION_HANDLER__HANDLER_BODY :
+ setHandlerBody((ExecutableNode) null);
+ return;
+ case UMLPackage.EXCEPTION_HANDLER__PROTECTED_NODE :
+ setProtectedNode((ExecutableNode) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXCEPTION_HANDLER__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.EXCEPTION_HANDLER__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.EXCEPTION_HANDLER__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.EXCEPTION_HANDLER__OWNER :
+ return isSetOwner();
+ case UMLPackage.EXCEPTION_HANDLER__EXCEPTION_INPUT :
+ return basicGetExceptionInput() != null;
+ case UMLPackage.EXCEPTION_HANDLER__EXCEPTION_TYPE :
+ return !getExceptionTypes().isEmpty();
+ case UMLPackage.EXCEPTION_HANDLER__HANDLER_BODY :
+ return basicGetHandlerBody() != null;
+ case UMLPackage.EXCEPTION_HANDLER__PROTECTED_NODE :
+ return basicGetProtectedNode() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.EXCEPTION_HANDLER___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXCEPTION_HANDLER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXCEPTION_HANDLER___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.EXCEPTION_HANDLER___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.EXCEPTION_HANDLER___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.EXCEPTION_HANDLER___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.EXCEPTION_HANDLER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXCEPTION_HANDLER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___GET_MODEL :
+ return getModel();
+ case UMLPackage.EXCEPTION_HANDLER___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.EXCEPTION_HANDLER___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.EXCEPTION_HANDLER___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.EXCEPTION_HANDLER___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.EXCEPTION_HANDLER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.EXCEPTION_HANDLER___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.EXCEPTION_HANDLER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXCEPTION_HANDLER___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXCEPTION_HANDLER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.EXCEPTION_HANDLER___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXCEPTION_HANDLER___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.EXCEPTION_HANDLER___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.EXCEPTION_HANDLER___VALIDATE_HANDLER_BODY_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateHandlerBodyEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXCEPTION_HANDLER___VALIDATE_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateOutputPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXCEPTION_HANDLER___VALIDATE_ONE_INPUT__DIAGNOSTICCHAIN_MAP :
+ return validateOneInput((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXCEPTION_HANDLER___VALIDATE_EDGE_SOURCE_TARGET__DIAGNOSTICCHAIN_MAP :
+ return validateEdgeSourceTarget(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXCEPTION_HANDLER___VALIDATE_HANDLER_BODY_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHandlerBodyOwner(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXCEPTION_HANDLER___VALIDATE_EXCEPTION_INPUT_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateExceptionInputType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ ExecutableNode protectedNode = basicGetProtectedNode();
+ if (protectedNode != null) {
+ return protectedNode;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.EXCEPTION_HANDLER__PROTECTED_NODE);
+ }
+
+} //ExceptionHandlerImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutableNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutableNodeImpl.java
new file mode 100644
index 00000000..5c6f31ca
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutableNodeImpl.java
@@ -0,0 +1,481 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutableNode;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Executable Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExecutableNodeImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExecutableNodeImpl#getHandlers <em>Handler</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ExecutableNodeImpl
+ extends ActivityNodeImpl
+ implements ExecutableNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExecutableNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.EXECUTABLE_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.EXECUTABLE_NODE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.EXECUTABLE_NODE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ExceptionHandler> getHandlers() {
+ return (EList<ExceptionHandler>) eDynamicGet(
+ UMLPackage.EXECUTABLE_NODE__HANDLER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXECUTABLE_NODE__HANDLER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExceptionHandler createHandler() {
+ ExceptionHandler newHandler = (ExceptionHandler) create(
+ UMLPackage.Literals.EXCEPTION_HANDLER);
+ getHandlers().add(newHandler);
+ return newHandler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXECUTABLE_NODE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXECUTABLE_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInInterruptibleRegions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXECUTABLE_NODE__IN_STRUCTURED_NODE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetInStructuredNode(
+ (StructuredActivityNode) otherEnd, msgs);
+ case UMLPackage.EXECUTABLE_NODE__INCOMING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getIncomings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXECUTABLE_NODE__OUTGOING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOutgoings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXECUTABLE_NODE__IN_PARTITION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInPartitions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXECUTABLE_NODE__HANDLER :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getHandlers())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXECUTABLE_NODE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXECUTABLE_NODE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXECUTABLE_NODE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.EXECUTABLE_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXECUTABLE_NODE__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.EXECUTABLE_NODE__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.EXECUTABLE_NODE__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.EXECUTABLE_NODE__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXECUTABLE_NODE__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.EXECUTABLE_NODE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.EXECUTABLE_NODE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.EXECUTABLE_NODE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.EXECUTABLE_NODE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.EXECUTABLE_NODE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.EXECUTABLE_NODE__NAME :
+ return getName();
+ case UMLPackage.EXECUTABLE_NODE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.EXECUTABLE_NODE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.EXECUTABLE_NODE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXECUTABLE_NODE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.EXECUTABLE_NODE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.EXECUTABLE_NODE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.EXECUTABLE_NODE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.EXECUTABLE_NODE__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.EXECUTABLE_NODE__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.EXECUTABLE_NODE__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.EXECUTABLE_NODE__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.EXECUTABLE_NODE__INCOMING :
+ return getIncomings();
+ case UMLPackage.EXECUTABLE_NODE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.EXECUTABLE_NODE__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.EXECUTABLE_NODE__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.EXECUTABLE_NODE__HANDLER :
+ return getHandlers();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.EXECUTABLE_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXECUTABLE_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.EXECUTABLE_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.EXECUTABLE_NODE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.EXECUTABLE_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.EXECUTABLE_NODE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.EXECUTABLE_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.EXECUTABLE_NODE__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.EXECUTABLE_NODE__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.EXECUTABLE_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.EXECUTABLE_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.EXECUTABLE_NODE__HANDLER :
+ getHandlers().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXECUTABLE_NODE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.EXECUTABLE_NODE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.EXECUTABLE_NODE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.EXECUTABLE_NODE__OWNER :
+ return isSetOwner();
+ case UMLPackage.EXECUTABLE_NODE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.EXECUTABLE_NODE__NAME :
+ return isSetName();
+ case UMLPackage.EXECUTABLE_NODE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.EXECUTABLE_NODE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.EXECUTABLE_NODE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.EXECUTABLE_NODE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.EXECUTABLE_NODE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.EXECUTABLE_NODE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.EXECUTABLE_NODE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.EXECUTABLE_NODE__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.EXECUTABLE_NODE__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.EXECUTABLE_NODE__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.EXECUTABLE_NODE__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.EXECUTABLE_NODE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.EXECUTABLE_NODE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.EXECUTABLE_NODE__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.EXECUTABLE_NODE__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.EXECUTABLE_NODE__HANDLER :
+ return !getHandlers().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.EXECUTABLE_NODE__OWNED_COMMENT,
+ UMLPackage.EXECUTABLE_NODE__NAME_EXPRESSION,
+ UMLPackage.EXECUTABLE_NODE__HANDLER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.EXECUTABLE_NODE__HANDLER);
+ }
+
+} //ExecutableNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutionEnvironmentImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutionEnvironmentImpl.java
new file mode 100644
index 00000000..cde0496d
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutionEnvironmentImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Execution Environment</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ExecutionEnvironmentImpl
+ extends NodeImpl
+ implements ExecutionEnvironment {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExecutionEnvironmentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.EXECUTION_ENVIRONMENT;
+ }
+
+} //ExecutionEnvironmentImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutionOccurrenceSpecificationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutionOccurrenceSpecificationImpl.java
new file mode 100644
index 00000000..f36464d8
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutionOccurrenceSpecificationImpl.java
@@ -0,0 +1,318 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExecutionSpecification;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Execution Occurrence Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExecutionOccurrenceSpecificationImpl#getExecution <em>Execution</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExecutionOccurrenceSpecificationImpl
+ extends OccurrenceSpecificationImpl
+ implements ExecutionOccurrenceSpecification {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExecutionOccurrenceSpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.EXECUTION_OCCURRENCE_SPECIFICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutionSpecification getExecution() {
+ return (ExecutionSpecification) eDynamicGet(
+ UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__EXECUTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXECUTION_OCCURRENCE_SPECIFICATION__EXECUTION,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutionSpecification basicGetExecution() {
+ return (ExecutionSpecification) eDynamicGet(
+ UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__EXECUTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXECUTION_OCCURRENCE_SPECIFICATION__EXECUTION,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExecution(ExecutionSpecification newExecution) {
+ eDynamicSet(
+ UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__EXECUTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXECUTION_OCCURRENCE_SPECIFICATION__EXECUTION,
+ newExecution);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__NAME :
+ return getName();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__COVERED :
+ return getCovereds();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__TO_AFTER :
+ return getToAfters();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ return getToBefores();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__EXECUTION :
+ if (resolve)
+ return getExecution();
+ return basicGetExecution();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__TO_AFTER :
+ getToAfters().clear();
+ getToAfters()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ getToBefores().clear();
+ getToBefores()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__EXECUTION :
+ setExecution((ExecutionSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__TO_AFTER :
+ getToAfters().clear();
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ getToBefores().clear();
+ return;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__EXECUTION :
+ setExecution((ExecutionSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__NAME :
+ return isSetName();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__COVERED :
+ return isSetCovereds();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__TO_AFTER :
+ return !getToAfters().isEmpty();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ return !getToBefores().isEmpty();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION__EXECUTION :
+ return basicGetExecution() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //ExecutionOccurrenceSpecificationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutionSpecificationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutionSpecificationImpl.java
new file mode 100644
index 00000000..e635fe58
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExecutionSpecificationImpl.java
@@ -0,0 +1,493 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ExecutionSpecification;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ExecutionSpecificationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Execution Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExecutionSpecificationImpl#getFinish <em>Finish</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExecutionSpecificationImpl#getStart <em>Start</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ExecutionSpecificationImpl
+ extends InteractionFragmentImpl
+ implements ExecutionSpecification {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExecutionSpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.EXECUTION_SPECIFICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OccurrenceSpecification getStart() {
+ return (OccurrenceSpecification) eDynamicGet(
+ UMLPackage.EXECUTION_SPECIFICATION__START - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXECUTION_SPECIFICATION__START, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OccurrenceSpecification basicGetStart() {
+ return (OccurrenceSpecification) eDynamicGet(
+ UMLPackage.EXECUTION_SPECIFICATION__START - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXECUTION_SPECIFICATION__START, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStart(OccurrenceSpecification newStart) {
+ eDynamicSet(
+ UMLPackage.EXECUTION_SPECIFICATION__START - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXECUTION_SPECIFICATION__START, newStart);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OccurrenceSpecification getFinish() {
+ return (OccurrenceSpecification) eDynamicGet(
+ UMLPackage.EXECUTION_SPECIFICATION__FINISH - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXECUTION_SPECIFICATION__FINISH, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OccurrenceSpecification basicGetFinish() {
+ return (OccurrenceSpecification) eDynamicGet(
+ UMLPackage.EXECUTION_SPECIFICATION__FINISH - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXECUTION_SPECIFICATION__FINISH, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFinish(OccurrenceSpecification newFinish) {
+ eDynamicSet(
+ UMLPackage.EXECUTION_SPECIFICATION__FINISH - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXECUTION_SPECIFICATION__FINISH, newFinish);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSameLifeline(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExecutionSpecificationOperations.validateSameLifeline(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.EXECUTION_SPECIFICATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.EXECUTION_SPECIFICATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.EXECUTION_SPECIFICATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.EXECUTION_SPECIFICATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.EXECUTION_SPECIFICATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.EXECUTION_SPECIFICATION__NAME :
+ return getName();
+ case UMLPackage.EXECUTION_SPECIFICATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.EXECUTION_SPECIFICATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.EXECUTION_SPECIFICATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXECUTION_SPECIFICATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.EXECUTION_SPECIFICATION__COVERED :
+ return getCovereds();
+ case UMLPackage.EXECUTION_SPECIFICATION__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.EXECUTION_SPECIFICATION__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.EXECUTION_SPECIFICATION__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ case UMLPackage.EXECUTION_SPECIFICATION__FINISH :
+ if (resolve)
+ return getFinish();
+ return basicGetFinish();
+ case UMLPackage.EXECUTION_SPECIFICATION__START :
+ if (resolve)
+ return getStart();
+ return basicGetStart();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.EXECUTION_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__FINISH :
+ setFinish((OccurrenceSpecification) newValue);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__START :
+ setStart((OccurrenceSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXECUTION_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__FINISH :
+ setFinish((OccurrenceSpecification) null);
+ return;
+ case UMLPackage.EXECUTION_SPECIFICATION__START :
+ setStart((OccurrenceSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXECUTION_SPECIFICATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.EXECUTION_SPECIFICATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.EXECUTION_SPECIFICATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.EXECUTION_SPECIFICATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.EXECUTION_SPECIFICATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.EXECUTION_SPECIFICATION__NAME :
+ return isSetName();
+ case UMLPackage.EXECUTION_SPECIFICATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.EXECUTION_SPECIFICATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.EXECUTION_SPECIFICATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.EXECUTION_SPECIFICATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.EXECUTION_SPECIFICATION__COVERED :
+ return !getCovereds().isEmpty();
+ case UMLPackage.EXECUTION_SPECIFICATION__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.EXECUTION_SPECIFICATION__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.EXECUTION_SPECIFICATION__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ case UMLPackage.EXECUTION_SPECIFICATION__FINISH :
+ return basicGetFinish() != null;
+ case UMLPackage.EXECUTION_SPECIFICATION__START :
+ return basicGetStart() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXECUTION_SPECIFICATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXECUTION_SPECIFICATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXECUTION_SPECIFICATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXECUTION_SPECIFICATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.EXECUTION_SPECIFICATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.EXECUTION_SPECIFICATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXECUTION_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXECUTION_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXECUTION_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.EXECUTION_SPECIFICATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.EXECUTION_SPECIFICATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.EXECUTION_SPECIFICATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXECUTION_SPECIFICATION___SEPARATOR :
+ return separator();
+ case UMLPackage.EXECUTION_SPECIFICATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.EXECUTION_SPECIFICATION___VALIDATE_SAME_LIFELINE__DIAGNOSTICCHAIN_MAP :
+ return validateSameLifeline((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ExecutionSpecificationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExpansionNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExpansionNodeImpl.java
new file mode 100644
index 00000000..2222c346
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExpansionNodeImpl.java
@@ -0,0 +1,777 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ObjectNodeOrderingKind;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.ExpansionNodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Expansion Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExpansionNodeImpl#getRegionAsInput <em>Region As Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExpansionNodeImpl#getRegionAsOutput <em>Region As Output</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExpansionNodeImpl
+ extends ObjectNodeImpl
+ implements ExpansionNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpansionNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.EXPANSION_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionRegion getRegionAsOutput() {
+ return (ExpansionRegion) eDynamicGet(
+ UMLPackage.EXPANSION_NODE__REGION_AS_OUTPUT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPANSION_NODE__REGION_AS_OUTPUT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionRegion basicGetRegionAsOutput() {
+ return (ExpansionRegion) eDynamicGet(
+ UMLPackage.EXPANSION_NODE__REGION_AS_OUTPUT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPANSION_NODE__REGION_AS_OUTPUT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRegionAsOutput(
+ ExpansionRegion newRegionAsOutput, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newRegionAsOutput,
+ UMLPackage.EXPANSION_NODE__REGION_AS_OUTPUT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRegionAsOutput(ExpansionRegion newRegionAsOutput) {
+ eDynamicSet(
+ UMLPackage.EXPANSION_NODE__REGION_AS_OUTPUT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPANSION_NODE__REGION_AS_OUTPUT,
+ newRegionAsOutput);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRegionAsInputOrOutput(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExpansionNodeOperations.validateRegionAsInputOrOutput(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionRegion getRegionAsInput() {
+ return (ExpansionRegion) eDynamicGet(
+ UMLPackage.EXPANSION_NODE__REGION_AS_INPUT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPANSION_NODE__REGION_AS_INPUT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionRegion basicGetRegionAsInput() {
+ return (ExpansionRegion) eDynamicGet(
+ UMLPackage.EXPANSION_NODE__REGION_AS_INPUT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPANSION_NODE__REGION_AS_INPUT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRegionAsInput(
+ ExpansionRegion newRegionAsInput, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newRegionAsInput,
+ UMLPackage.EXPANSION_NODE__REGION_AS_INPUT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRegionAsInput(ExpansionRegion newRegionAsInput) {
+ eDynamicSet(
+ UMLPackage.EXPANSION_NODE__REGION_AS_INPUT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPANSION_NODE__REGION_AS_INPUT,
+ newRegionAsInput);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXPANSION_NODE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInInterruptibleRegions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_NODE__IN_STRUCTURED_NODE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetInStructuredNode(
+ (StructuredActivityNode) otherEnd, msgs);
+ case UMLPackage.EXPANSION_NODE__INCOMING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getIncomings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_NODE__OUTGOING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOutgoings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_NODE__IN_PARTITION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInPartitions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_NODE__REGION_AS_INPUT :
+ ExpansionRegion regionAsInput = basicGetRegionAsInput();
+ if (regionAsInput != null)
+ msgs = ((InternalEObject) regionAsInput).eInverseRemove(
+ this, UMLPackage.EXPANSION_REGION__INPUT_ELEMENT,
+ ExpansionRegion.class, msgs);
+ return basicSetRegionAsInput((ExpansionRegion) otherEnd, msgs);
+ case UMLPackage.EXPANSION_NODE__REGION_AS_OUTPUT :
+ ExpansionRegion regionAsOutput = basicGetRegionAsOutput();
+ if (regionAsOutput != null)
+ msgs = ((InternalEObject) regionAsOutput).eInverseRemove(
+ this, UMLPackage.EXPANSION_REGION__OUTPUT_ELEMENT,
+ ExpansionRegion.class, msgs);
+ return basicSetRegionAsOutput((ExpansionRegion) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXPANSION_NODE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_NODE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_NODE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.EXPANSION_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_NODE__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.EXPANSION_NODE__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.EXPANSION_NODE__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.EXPANSION_NODE__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_NODE__UPPER_BOUND :
+ return basicSetUpperBound(null, msgs);
+ case UMLPackage.EXPANSION_NODE__REGION_AS_INPUT :
+ return basicSetRegionAsInput(null, msgs);
+ case UMLPackage.EXPANSION_NODE__REGION_AS_OUTPUT :
+ return basicSetRegionAsOutput(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.EXPANSION_NODE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.EXPANSION_NODE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.EXPANSION_NODE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.EXPANSION_NODE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.EXPANSION_NODE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.EXPANSION_NODE__NAME :
+ return getName();
+ case UMLPackage.EXPANSION_NODE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.EXPANSION_NODE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.EXPANSION_NODE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXPANSION_NODE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.EXPANSION_NODE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.EXPANSION_NODE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.EXPANSION_NODE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.EXPANSION_NODE__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.EXPANSION_NODE__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.EXPANSION_NODE__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.EXPANSION_NODE__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.EXPANSION_NODE__INCOMING :
+ return getIncomings();
+ case UMLPackage.EXPANSION_NODE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.EXPANSION_NODE__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.EXPANSION_NODE__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.EXPANSION_NODE__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.EXPANSION_NODE__IN_STATE :
+ return getInStates();
+ case UMLPackage.EXPANSION_NODE__IS_CONTROL_TYPE :
+ return isControlType();
+ case UMLPackage.EXPANSION_NODE__ORDERING :
+ return getOrdering();
+ case UMLPackage.EXPANSION_NODE__SELECTION :
+ if (resolve)
+ return getSelection();
+ return basicGetSelection();
+ case UMLPackage.EXPANSION_NODE__UPPER_BOUND :
+ if (resolve)
+ return getUpperBound();
+ return basicGetUpperBound();
+ case UMLPackage.EXPANSION_NODE__REGION_AS_INPUT :
+ if (resolve)
+ return getRegionAsInput();
+ return basicGetRegionAsInput();
+ case UMLPackage.EXPANSION_NODE__REGION_AS_OUTPUT :
+ if (resolve)
+ return getRegionAsOutput();
+ return basicGetRegionAsOutput();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.EXPANSION_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__IN_STATE :
+ getInStates().clear();
+ getInStates().addAll((Collection<? extends State>) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__IS_CONTROL_TYPE :
+ setIsControlType((Boolean) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__ORDERING :
+ setOrdering((ObjectNodeOrderingKind) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__SELECTION :
+ setSelection((Behavior) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__UPPER_BOUND :
+ setUpperBound((ValueSpecification) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__REGION_AS_INPUT :
+ setRegionAsInput((ExpansionRegion) newValue);
+ return;
+ case UMLPackage.EXPANSION_NODE__REGION_AS_OUTPUT :
+ setRegionAsOutput((ExpansionRegion) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXPANSION_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.EXPANSION_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.EXPANSION_NODE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.EXPANSION_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.EXPANSION_NODE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.EXPANSION_NODE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.EXPANSION_NODE__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.EXPANSION_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.EXPANSION_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.EXPANSION_NODE__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.EXPANSION_NODE__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.EXPANSION_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.EXPANSION_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.EXPANSION_NODE__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.EXPANSION_NODE__IN_STATE :
+ getInStates().clear();
+ return;
+ case UMLPackage.EXPANSION_NODE__IS_CONTROL_TYPE :
+ setIsControlType(IS_CONTROL_TYPE_EDEFAULT);
+ return;
+ case UMLPackage.EXPANSION_NODE__ORDERING :
+ setOrdering(ORDERING_EDEFAULT);
+ return;
+ case UMLPackage.EXPANSION_NODE__SELECTION :
+ setSelection((Behavior) null);
+ return;
+ case UMLPackage.EXPANSION_NODE__UPPER_BOUND :
+ setUpperBound((ValueSpecification) null);
+ return;
+ case UMLPackage.EXPANSION_NODE__REGION_AS_INPUT :
+ setRegionAsInput((ExpansionRegion) null);
+ return;
+ case UMLPackage.EXPANSION_NODE__REGION_AS_OUTPUT :
+ setRegionAsOutput((ExpansionRegion) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXPANSION_NODE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.EXPANSION_NODE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.EXPANSION_NODE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.EXPANSION_NODE__OWNER :
+ return isSetOwner();
+ case UMLPackage.EXPANSION_NODE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.EXPANSION_NODE__NAME :
+ return isSetName();
+ case UMLPackage.EXPANSION_NODE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.EXPANSION_NODE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.EXPANSION_NODE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.EXPANSION_NODE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.EXPANSION_NODE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.EXPANSION_NODE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.EXPANSION_NODE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.EXPANSION_NODE__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.EXPANSION_NODE__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.EXPANSION_NODE__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.EXPANSION_NODE__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.EXPANSION_NODE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.EXPANSION_NODE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.EXPANSION_NODE__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.EXPANSION_NODE__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.EXPANSION_NODE__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.EXPANSION_NODE__IN_STATE :
+ return !getInStates().isEmpty();
+ case UMLPackage.EXPANSION_NODE__IS_CONTROL_TYPE :
+ return isControlType() != IS_CONTROL_TYPE_EDEFAULT;
+ case UMLPackage.EXPANSION_NODE__ORDERING :
+ return getOrdering() != ORDERING_EDEFAULT;
+ case UMLPackage.EXPANSION_NODE__SELECTION :
+ return basicGetSelection() != null;
+ case UMLPackage.EXPANSION_NODE__UPPER_BOUND :
+ return basicGetUpperBound() != null;
+ case UMLPackage.EXPANSION_NODE__REGION_AS_INPUT :
+ return basicGetRegionAsInput() != null;
+ case UMLPackage.EXPANSION_NODE__REGION_AS_OUTPUT :
+ return basicGetRegionAsOutput() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.EXPANSION_NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.EXPANSION_NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.EXPANSION_NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.EXPANSION_NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.EXPANSION_NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.EXPANSION_NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.EXPANSION_NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.EXPANSION_NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.EXPANSION_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.EXPANSION_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.EXPANSION_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.EXPANSION_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.EXPANSION_NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.EXPANSION_NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.EXPANSION_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.EXPANSION_NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.EXPANSION_NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.EXPANSION_NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.EXPANSION_NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXPANSION_NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.EXPANSION_NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.EXPANSION_NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.EXPANSION_NODE___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.EXPANSION_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validateInputOutputParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateSelectionBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateObjectFlowEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXPANSION_NODE___VALIDATE_REGION_AS_INPUT_OR_OUTPUT__DIAGNOSTICCHAIN_MAP :
+ return validateRegionAsInputOrOutput(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ExpansionNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExpansionRegionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExpansionRegionImpl.java
new file mode 100644
index 00000000..e62b920f
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExpansionRegionImpl.java
@@ -0,0 +1,814 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionKind;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Variable;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Expansion Region</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExpansionRegionImpl#getMode <em>Mode</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExpansionRegionImpl#getOutputElements <em>Output Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExpansionRegionImpl#getInputElements <em>Input Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExpansionRegionImpl
+ extends StructuredActivityNodeImpl
+ implements ExpansionRegion {
+
+ /**
+ * The default value of the '{@link #getMode() <em>Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMode()
+ * @generated
+ * @ordered
+ */
+ protected static final ExpansionKind MODE_EDEFAULT = ExpansionKind.ITERATIVE_LITERAL;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpansionRegionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.EXPANSION_REGION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionKind getMode() {
+ return (ExpansionKind) eDynamicGet(
+ UMLPackage.EXPANSION_REGION__MODE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPANSION_REGION__MODE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMode(ExpansionKind newMode) {
+ eDynamicSet(UMLPackage.EXPANSION_REGION__MODE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPANSION_REGION__MODE, newMode);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ExpansionNode> getInputElements() {
+ return (EList<ExpansionNode>) eDynamicGet(
+ UMLPackage.EXPANSION_REGION__INPUT_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPANSION_REGION__INPUT_ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionNode getInputElement(String name, Type type) {
+ return getInputElement(name, type, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionNode getInputElement(String name, Type type,
+ boolean ignoreCase) {
+ inputElementLoop : for (ExpansionNode inputElement : getInputElements()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(inputElement.getName())
+ : name.equals(inputElement.getName())))
+ continue inputElementLoop;
+ if (type != null && !type.equals(inputElement.getType()))
+ continue inputElementLoop;
+ return inputElement;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ExpansionNode> getOutputElements() {
+ return (EList<ExpansionNode>) eDynamicGet(
+ UMLPackage.EXPANSION_REGION__OUTPUT_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPANSION_REGION__OUTPUT_ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionNode getOutputElement(String name, Type type) {
+ return getOutputElement(name, type, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionNode getOutputElement(String name, Type type,
+ boolean ignoreCase) {
+ outputElementLoop : for (ExpansionNode outputElement : getOutputElements()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(outputElement.getName())
+ : name.equals(outputElement.getName())))
+ continue outputElementLoop;
+ if (type != null && !type.equals(outputElement.getType()))
+ continue outputElementLoop;
+ return outputElement;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXPANSION_REGION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInInterruptibleRegions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__IN_STRUCTURED_NODE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetInStructuredNode(
+ (StructuredActivityNode) otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__INCOMING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getIncomings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__OUTGOING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOutgoings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__IN_PARTITION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInPartitions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__HANDLER :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getHandlers())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__EDGE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEdges())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__VARIABLE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getVariables())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__NODE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getNodes())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__OUTPUT_ELEMENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOutputElements())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__INPUT_ELEMENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInputElements())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXPANSION_REGION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.EXPANSION_REGION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.EXPANSION_REGION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.EXPANSION_REGION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.EXPANSION_REGION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.EXPANSION_REGION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__EDGE :
+ return ((InternalEList<?>) getEdges()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.EXPANSION_REGION__STRUCTURED_NODE_INPUT :
+ return ((InternalEList<?>) getStructuredNodeInputs())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__STRUCTURED_NODE_OUTPUT :
+ return ((InternalEList<?>) getStructuredNodeOutputs())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__VARIABLE :
+ return ((InternalEList<?>) getVariables()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.EXPANSION_REGION__NODE :
+ return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.EXPANSION_REGION__OUTPUT_ELEMENT :
+ return ((InternalEList<?>) getOutputElements())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPANSION_REGION__INPUT_ELEMENT :
+ return ((InternalEList<?>) getInputElements())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.EXPANSION_REGION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.EXPANSION_REGION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.EXPANSION_REGION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.EXPANSION_REGION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.EXPANSION_REGION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.EXPANSION_REGION__NAME :
+ return getName();
+ case UMLPackage.EXPANSION_REGION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.EXPANSION_REGION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.EXPANSION_REGION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXPANSION_REGION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.EXPANSION_REGION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.EXPANSION_REGION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.EXPANSION_REGION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.EXPANSION_REGION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.EXPANSION_REGION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.EXPANSION_REGION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.EXPANSION_REGION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.EXPANSION_REGION__INCOMING :
+ return getIncomings();
+ case UMLPackage.EXPANSION_REGION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.EXPANSION_REGION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.EXPANSION_REGION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.EXPANSION_REGION__HANDLER :
+ return getHandlers();
+ case UMLPackage.EXPANSION_REGION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.EXPANSION_REGION__INPUT :
+ return getInputs();
+ case UMLPackage.EXPANSION_REGION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.EXPANSION_REGION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.EXPANSION_REGION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.EXPANSION_REGION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.EXPANSION_REGION__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.EXPANSION_REGION__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.EXPANSION_REGION__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.EXPANSION_REGION__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.EXPANSION_REGION__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.EXPANSION_REGION__MEMBER :
+ return getMembers();
+ case UMLPackage.EXPANSION_REGION__CONTAINED_EDGE :
+ return getContainedEdges();
+ case UMLPackage.EXPANSION_REGION__CONTAINED_NODE :
+ return getContainedNodes();
+ case UMLPackage.EXPANSION_REGION__IN_ACTIVITY :
+ if (resolve)
+ return getInActivity();
+ return basicGetInActivity();
+ case UMLPackage.EXPANSION_REGION__SUBGROUP :
+ return getSubgroups();
+ case UMLPackage.EXPANSION_REGION__SUPER_GROUP :
+ if (resolve)
+ return getSuperGroup();
+ return basicGetSuperGroup();
+ case UMLPackage.EXPANSION_REGION__EDGE :
+ return getEdges();
+ case UMLPackage.EXPANSION_REGION__MUST_ISOLATE :
+ return isMustIsolate();
+ case UMLPackage.EXPANSION_REGION__STRUCTURED_NODE_INPUT :
+ return getStructuredNodeInputs();
+ case UMLPackage.EXPANSION_REGION__STRUCTURED_NODE_OUTPUT :
+ return getStructuredNodeOutputs();
+ case UMLPackage.EXPANSION_REGION__VARIABLE :
+ return getVariables();
+ case UMLPackage.EXPANSION_REGION__NODE :
+ return getNodes();
+ case UMLPackage.EXPANSION_REGION__MODE :
+ return getMode();
+ case UMLPackage.EXPANSION_REGION__OUTPUT_ELEMENT :
+ return getOutputElements();
+ case UMLPackage.EXPANSION_REGION__INPUT_ELEMENT :
+ return getInputElements();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.EXPANSION_REGION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__IN_ACTIVITY :
+ setInActivity((Activity) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__EDGE :
+ getEdges().clear();
+ getEdges()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__MUST_ISOLATE :
+ setMustIsolate((Boolean) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__STRUCTURED_NODE_INPUT :
+ getStructuredNodeInputs().clear();
+ getStructuredNodeInputs()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__STRUCTURED_NODE_OUTPUT :
+ getStructuredNodeOutputs().clear();
+ getStructuredNodeOutputs()
+ .addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__VARIABLE :
+ getVariables().clear();
+ getVariables()
+ .addAll((Collection<? extends Variable>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__NODE :
+ getNodes().clear();
+ getNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__MODE :
+ setMode((ExpansionKind) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__OUTPUT_ELEMENT :
+ getOutputElements().clear();
+ getOutputElements()
+ .addAll((Collection<? extends ExpansionNode>) newValue);
+ return;
+ case UMLPackage.EXPANSION_REGION__INPUT_ELEMENT :
+ getInputElements().clear();
+ getInputElements()
+ .addAll((Collection<? extends ExpansionNode>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXPANSION_REGION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.EXPANSION_REGION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.EXPANSION_REGION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.EXPANSION_REGION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.EXPANSION_REGION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.EXPANSION_REGION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.EXPANSION_REGION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.EXPANSION_REGION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__IN_ACTIVITY :
+ setInActivity((Activity) null);
+ return;
+ case UMLPackage.EXPANSION_REGION__EDGE :
+ getEdges().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__MUST_ISOLATE :
+ setMustIsolate(MUST_ISOLATE_EDEFAULT);
+ return;
+ case UMLPackage.EXPANSION_REGION__STRUCTURED_NODE_INPUT :
+ getStructuredNodeInputs().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__STRUCTURED_NODE_OUTPUT :
+ getStructuredNodeOutputs().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__VARIABLE :
+ getVariables().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__NODE :
+ getNodes().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__MODE :
+ setMode(MODE_EDEFAULT);
+ return;
+ case UMLPackage.EXPANSION_REGION__OUTPUT_ELEMENT :
+ getOutputElements().clear();
+ return;
+ case UMLPackage.EXPANSION_REGION__INPUT_ELEMENT :
+ getInputElements().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXPANSION_REGION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.EXPANSION_REGION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.EXPANSION_REGION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.EXPANSION_REGION__OWNER :
+ return isSetOwner();
+ case UMLPackage.EXPANSION_REGION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.EXPANSION_REGION__NAME :
+ return isSetName();
+ case UMLPackage.EXPANSION_REGION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.EXPANSION_REGION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.EXPANSION_REGION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.EXPANSION_REGION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.EXPANSION_REGION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.EXPANSION_REGION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.EXPANSION_REGION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.EXPANSION_REGION__ACTIVITY :
+ return isSetActivity();
+ case UMLPackage.EXPANSION_REGION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.EXPANSION_REGION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.EXPANSION_REGION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.EXPANSION_REGION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.EXPANSION_REGION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.EXPANSION_REGION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.EXPANSION_REGION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.EXPANSION_REGION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.EXPANSION_REGION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.EXPANSION_REGION__INPUT :
+ return isSetInputs();
+ case UMLPackage.EXPANSION_REGION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.EXPANSION_REGION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.EXPANSION_REGION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.EXPANSION_REGION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.EXPANSION_REGION__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.EXPANSION_REGION__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.EXPANSION_REGION__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.EXPANSION_REGION__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.EXPANSION_REGION__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.EXPANSION_REGION__MEMBER :
+ return isSetMembers();
+ case UMLPackage.EXPANSION_REGION__CONTAINED_EDGE :
+ return isSetContainedEdges();
+ case UMLPackage.EXPANSION_REGION__CONTAINED_NODE :
+ return isSetContainedNodes();
+ case UMLPackage.EXPANSION_REGION__IN_ACTIVITY :
+ return isSetInActivity();
+ case UMLPackage.EXPANSION_REGION__SUBGROUP :
+ return isSetSubgroups();
+ case UMLPackage.EXPANSION_REGION__SUPER_GROUP :
+ return isSetSuperGroup();
+ case UMLPackage.EXPANSION_REGION__EDGE :
+ return !getEdges().isEmpty();
+ case UMLPackage.EXPANSION_REGION__MUST_ISOLATE :
+ return isMustIsolate() != MUST_ISOLATE_EDEFAULT;
+ case UMLPackage.EXPANSION_REGION__STRUCTURED_NODE_INPUT :
+ return !getStructuredNodeInputs().isEmpty();
+ case UMLPackage.EXPANSION_REGION__STRUCTURED_NODE_OUTPUT :
+ return !getStructuredNodeOutputs().isEmpty();
+ case UMLPackage.EXPANSION_REGION__VARIABLE :
+ return !getVariables().isEmpty();
+ case UMLPackage.EXPANSION_REGION__NODE :
+ return !getNodes().isEmpty();
+ case UMLPackage.EXPANSION_REGION__MODE :
+ return getMode() != MODE_EDEFAULT;
+ case UMLPackage.EXPANSION_REGION__OUTPUT_ELEMENT :
+ return !getOutputElements().isEmpty();
+ case UMLPackage.EXPANSION_REGION__INPUT_ELEMENT :
+ return !getInputElements().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //ExpansionRegionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExpressionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExpressionImpl.java
new file mode 100644
index 00000000..76306e8c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExpressionImpl.java
@@ -0,0 +1,460 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ * Kenn Hussey - 519572
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExpressionImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExpressionImpl#getOperands <em>Operand</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExpressionImpl#getSymbol <em>Symbol</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExpressionImpl
+ extends ValueSpecificationImpl
+ implements Expression {
+
+ /**
+ * The default value of the '{@link #getSymbol() <em>Symbol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSymbol()
+ * @generated
+ * @ordered
+ */
+ protected static final String SYMBOL_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.EXPRESSION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.EXPRESSION__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSymbol() {
+ return (String) eDynamicGet(
+ UMLPackage.EXPRESSION__SYMBOL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPRESSION__SYMBOL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSymbol(String newSymbol) {
+ eDynamicSet(UMLPackage.EXPRESSION__SYMBOL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPRESSION__SYMBOL, newSymbol);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetSymbol() {
+ eDynamicUnset(UMLPackage.EXPRESSION__SYMBOL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPRESSION__SYMBOL);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSymbol() {
+ return eDynamicIsSet(
+ UMLPackage.EXPRESSION__SYMBOL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPRESSION__SYMBOL);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ValueSpecification> getOperands() {
+ return (EList<ValueSpecification>) eDynamicGet(
+ UMLPackage.EXPRESSION__OPERAND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXPRESSION__OPERAND, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createOperand(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newOperand = (ValueSpecification) create(eClass);
+ getOperands().add(newOperand);
+ if (name != null)
+ newOperand.setName(name);
+ if (type != null)
+ newOperand.setType(type);
+ return newOperand;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getOperand(String name, Type type) {
+ return getOperand(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getOperand(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ operandLoop : for (ValueSpecification operand : getOperands()) {
+ if (eClass != null && !eClass.isInstance(operand))
+ continue operandLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(operand.getName())
+ : name.equals(operand.getName())))
+ continue operandLoop;
+ if (type != null && !type.equals(operand.getType()))
+ continue operandLoop;
+ return operand;
+ }
+ return createOnDemand && eClass != null
+ ? createOperand(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXPRESSION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPRESSION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXPRESSION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.EXPRESSION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.EXPRESSION__OPERAND :
+ return ((InternalEList<?>) getOperands()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.EXPRESSION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.EXPRESSION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.EXPRESSION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.EXPRESSION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.EXPRESSION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.EXPRESSION__NAME :
+ return getName();
+ case UMLPackage.EXPRESSION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.EXPRESSION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.EXPRESSION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXPRESSION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.EXPRESSION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.EXPRESSION__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.EXPRESSION__OPERAND :
+ return getOperands();
+ case UMLPackage.EXPRESSION__SYMBOL :
+ return getSymbol();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.EXPRESSION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.EXPRESSION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.EXPRESSION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.EXPRESSION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.EXPRESSION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.EXPRESSION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.EXPRESSION__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.EXPRESSION__OPERAND :
+ getOperands().clear();
+ getOperands().addAll(
+ (Collection<? extends ValueSpecification>) newValue);
+ return;
+ case UMLPackage.EXPRESSION__SYMBOL :
+ setSymbol((String) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXPRESSION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.EXPRESSION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.EXPRESSION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.EXPRESSION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.EXPRESSION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.EXPRESSION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.EXPRESSION__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.EXPRESSION__OPERAND :
+ getOperands().clear();
+ return;
+ case UMLPackage.EXPRESSION__SYMBOL :
+ unsetSymbol();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXPRESSION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.EXPRESSION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.EXPRESSION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.EXPRESSION__OWNER :
+ return isSetOwner();
+ case UMLPackage.EXPRESSION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.EXPRESSION__NAME :
+ return isSetName();
+ case UMLPackage.EXPRESSION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.EXPRESSION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.EXPRESSION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.EXPRESSION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.EXPRESSION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.EXPRESSION__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.EXPRESSION__OPERAND :
+ return !getOperands().isEmpty();
+ case UMLPackage.EXPRESSION__SYMBOL :
+ return isSetSymbol();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.EXPRESSION__OWNED_COMMENT,
+ UMLPackage.EXPRESSION__NAME_EXPRESSION, UMLPackage.EXPRESSION__OPERAND};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.EXPRESSION__OPERAND);
+ }
+
+} //ExpressionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtendImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtendImpl.java
new file mode 100644
index 00000000..8812d8e1
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtendImpl.java
@@ -0,0 +1,959 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ExtendOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extend</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtendImpl#getRelatedElements <em>Related Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtendImpl#getSources <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtendImpl#getTargets <em>Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtendImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtendImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtendImpl#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtendImpl#getExtendedCase <em>Extended Case</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtendImpl#getExtensionLocations <em>Extension Location</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtendImpl#getExtension <em>Extension</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExtendImpl
+ extends NamedElementImpl
+ implements Extend {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.EXTEND;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getRelatedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> relatedElements = (EList<Element>) cache.get(
+ eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT);
+ if (relatedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT,
+ relatedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.EXTEND__RELATED_ELEMENT,
+ RELATED_ELEMENT_ESUBSETS));
+ }
+ return relatedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.EXTEND__RELATED_ELEMENT, RELATED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getSources() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> sources = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE);
+ if (sources == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE,
+ sources = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.EXTEND__SOURCE,
+ SOURCE_ESUBSETS));
+ }
+ return sources;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.EXTEND__SOURCE, SOURCE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getTargets() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> targets = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET);
+ if (targets == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET,
+ targets = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.EXTEND__TARGET,
+ TARGET_ESUBSETS));
+ }
+ return targets;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.EXTEND__TARGET, TARGET_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.EXTEND__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.EXTEND__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase getExtendedCase() {
+ return (UseCase) eDynamicGet(
+ UMLPackage.EXTEND__EXTENDED_CASE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXTEND__EXTENDED_CASE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase basicGetExtendedCase() {
+ return (UseCase) eDynamicGet(
+ UMLPackage.EXTEND__EXTENDED_CASE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXTEND__EXTENDED_CASE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExtendedCase(UseCase newExtendedCase) {
+ eDynamicSet(UMLPackage.EXTEND__EXTENDED_CASE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXTEND__EXTENDED_CASE, newExtendedCase);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getCondition() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.EXTEND__CONDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXTEND__CONDITION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint basicGetCondition() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.EXTEND__CONDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXTEND__CONDITION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCondition(Constraint newCondition,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newCondition,
+ UMLPackage.EXTEND__CONDITION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCondition(Constraint newCondition) {
+ eDynamicSet(UMLPackage.EXTEND__CONDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXTEND__CONDITION, newCondition);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createCondition(String name, EClass eClass) {
+ Constraint newCondition = (Constraint) create(eClass);
+ setCondition(newCondition);
+ if (name != null)
+ newCondition.setName(name);
+ return newCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createCondition(String name) {
+ return createCondition(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ExtensionPoint> getExtensionLocations() {
+ return (EList<ExtensionPoint>) eDynamicGet(
+ UMLPackage.EXTEND__EXTENSION_LOCATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXTEND__EXTENSION_LOCATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionPoint getExtensionLocation(String name) {
+ return getExtensionLocation(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionPoint getExtensionLocation(String name,
+ boolean ignoreCase) {
+ extensionLocationLoop : for (ExtensionPoint extensionLocation : getExtensionLocations()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(extensionLocation.getName())
+ : name.equals(extensionLocation.getName())))
+ continue extensionLocationLoop;
+ return extensionLocation;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase getExtension() {
+ return (UseCase) eDynamicGet(
+ UMLPackage.EXTEND__EXTENSION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXTEND__EXTENSION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase basicGetExtension() {
+ return (UseCase) eDynamicGet(
+ UMLPackage.EXTEND__EXTENSION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXTEND__EXTENSION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExtension(UseCase newExtension,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newExtension,
+ UMLPackage.EXTEND__EXTENSION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExtension(UseCase newExtension) {
+ eDynamicSet(UMLPackage.EXTEND__EXTENSION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXTEND__EXTENSION, newExtension);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateExtensionPoints(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExtendOperations.validateExtensionPoints(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXTEND__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXTEND__EXTENSION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetExtension((UseCase) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXTEND__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTEND__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTEND__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.EXTEND__CONDITION :
+ return basicSetCondition(null, msgs);
+ case UMLPackage.EXTEND__EXTENSION :
+ return basicSetExtension(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.EXTEND__EXTENSION :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.USE_CASE__EXTEND, UseCase.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.EXTEND__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.EXTEND__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.EXTEND__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.EXTEND__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.EXTEND__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.EXTEND__NAME :
+ return getName();
+ case UMLPackage.EXTEND__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.EXTEND__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.EXTEND__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXTEND__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.EXTEND__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.EXTEND__SOURCE :
+ return getSources();
+ case UMLPackage.EXTEND__TARGET :
+ return getTargets();
+ case UMLPackage.EXTEND__CONDITION :
+ if (resolve)
+ return getCondition();
+ return basicGetCondition();
+ case UMLPackage.EXTEND__EXTENDED_CASE :
+ if (resolve)
+ return getExtendedCase();
+ return basicGetExtendedCase();
+ case UMLPackage.EXTEND__EXTENSION_LOCATION :
+ return getExtensionLocations();
+ case UMLPackage.EXTEND__EXTENSION :
+ if (resolve)
+ return getExtension();
+ return basicGetExtension();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.EXTEND__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.EXTEND__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.EXTEND__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.EXTEND__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.EXTEND__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.EXTEND__CONDITION :
+ setCondition((Constraint) newValue);
+ return;
+ case UMLPackage.EXTEND__EXTENDED_CASE :
+ setExtendedCase((UseCase) newValue);
+ return;
+ case UMLPackage.EXTEND__EXTENSION_LOCATION :
+ getExtensionLocations().clear();
+ getExtensionLocations()
+ .addAll((Collection<? extends ExtensionPoint>) newValue);
+ return;
+ case UMLPackage.EXTEND__EXTENSION :
+ setExtension((UseCase) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXTEND__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.EXTEND__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.EXTEND__NAME :
+ unsetName();
+ return;
+ case UMLPackage.EXTEND__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.EXTEND__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.EXTEND__CONDITION :
+ setCondition((Constraint) null);
+ return;
+ case UMLPackage.EXTEND__EXTENDED_CASE :
+ setExtendedCase((UseCase) null);
+ return;
+ case UMLPackage.EXTEND__EXTENSION_LOCATION :
+ getExtensionLocations().clear();
+ return;
+ case UMLPackage.EXTEND__EXTENSION :
+ setExtension((UseCase) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXTEND__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.EXTEND__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.EXTEND__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.EXTEND__OWNER :
+ return isSetOwner();
+ case UMLPackage.EXTEND__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.EXTEND__NAME :
+ return isSetName();
+ case UMLPackage.EXTEND__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.EXTEND__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.EXTEND__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.EXTEND__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.EXTEND__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.EXTEND__SOURCE :
+ return isSetSources();
+ case UMLPackage.EXTEND__TARGET :
+ return isSetTargets();
+ case UMLPackage.EXTEND__CONDITION :
+ return basicGetCondition() != null;
+ case UMLPackage.EXTEND__EXTENDED_CASE :
+ return basicGetExtendedCase() != null;
+ case UMLPackage.EXTEND__EXTENSION_LOCATION :
+ return !getExtensionLocations().isEmpty();
+ case UMLPackage.EXTEND__EXTENSION :
+ return basicGetExtension() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Relationship.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.EXTEND__RELATED_ELEMENT :
+ return UMLPackage.RELATIONSHIP__RELATED_ELEMENT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DirectedRelationship.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.EXTEND__SOURCE :
+ return UMLPackage.DIRECTED_RELATIONSHIP__SOURCE;
+ case UMLPackage.EXTEND__TARGET :
+ return UMLPackage.DIRECTED_RELATIONSHIP__TARGET;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Relationship.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.RELATIONSHIP__RELATED_ELEMENT :
+ return UMLPackage.EXTEND__RELATED_ELEMENT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DirectedRelationship.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.DIRECTED_RELATIONSHIP__SOURCE :
+ return UMLPackage.EXTEND__SOURCE;
+ case UMLPackage.DIRECTED_RELATIONSHIP__TARGET :
+ return UMLPackage.EXTEND__TARGET;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.EXTEND___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXTEND___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTEND___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTEND___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.EXTEND___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXTEND___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXTEND___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.EXTEND___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.EXTEND___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.EXTEND___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.EXTEND___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.EXTEND___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.EXTEND___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXTEND___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.EXTEND___GET_MODEL :
+ return getModel();
+ case UMLPackage.EXTEND___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.EXTEND___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.EXTEND___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.EXTEND___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.EXTEND___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.EXTEND___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.EXTEND___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXTEND___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.EXTEND___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.EXTEND___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.EXTEND___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXTEND___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXTEND___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.EXTEND___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXTEND___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.EXTEND___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.EXTEND___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.EXTEND___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.EXTEND___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.EXTEND___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXTEND___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.EXTEND___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.EXTEND___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTEND___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTEND___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTEND___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.EXTEND___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.EXTEND___GET_LABEL :
+ return getLabel();
+ case UMLPackage.EXTEND___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.EXTEND___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.EXTEND___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.EXTEND___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.EXTEND___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.EXTEND___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXTEND___SEPARATOR :
+ return separator();
+ case UMLPackage.EXTEND___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.EXTEND___VALIDATE_EXTENSION_POINTS__DIAGNOSTICCHAIN_MAP :
+ return validateExtensionPoints(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRelatedElements() <em>Related Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRelatedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] RELATED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.EXTEND__SOURCE, UMLPackage.EXTEND__TARGET};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRelatedElements() {
+ return isSetSources() || isSetTargets();
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSources() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSources()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SOURCE_ESUBSETS = new int[]{
+ UMLPackage.EXTEND__EXTENSION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSources() {
+ return eIsSet(UMLPackage.EXTEND__EXTENSION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getTargets() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] TARGET_ESUBSETS = new int[]{
+ UMLPackage.EXTEND__EXTENDED_CASE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetTargets() {
+ return eIsSet(UMLPackage.EXTEND__EXTENDED_CASE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.EXTEND__OWNED_COMMENT, UMLPackage.EXTEND__NAME_EXPRESSION,
+ UMLPackage.EXTEND__CONDITION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ UseCase extension = basicGetExtension();
+ if (extension != null) {
+ return extension;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.EXTEND__CONDITION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace() || eIsSet(UMLPackage.EXTEND__EXTENSION);
+ }
+
+} //ExtendImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtensionEndImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtensionEndImpl.java
new file mode 100644
index 00000000..91942ddc
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtensionEndImpl.java
@@ -0,0 +1,977 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.ExtensionEndOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extension End</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtensionEndImpl#getLower <em>Lower</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtensionEndImpl#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExtensionEndImpl
+ extends PropertyImpl
+ implements ExtensionEnd {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensionEndImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.EXTENSION_END;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Type getType() {
+ return (Type) eDynamicGet(
+ UMLPackage.EXTENSION_END__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Type basicGetType() {
+ return (Type) eDynamicGet(
+ UMLPackage.EXTENSION_END__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setType(Type newType) {
+ if (newType != null && !(newType instanceof Stereotype)) {
+ throw new IllegalArgumentException(
+ "newType must be an instance of Stereotype"); //$NON-NLS-1$
+ }
+ eDynamicSet(UMLPackage.EXTENSION_END__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, newType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetType() {
+ return basicGetType() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int getLower() {
+ return ExtensionEndOperations.getLower(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLower(int newLower) {
+ ExtensionEndOperations.setLower(this, newLower);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public boolean isSetLower() {
+ return getLower() != 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExtensionEndOperations.validateMultiplicity(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAggregation(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExtensionEndOperations.validateAggregation(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int lowerBound() {
+ return ExtensionEndOperations.lowerBound(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION_END__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.EXTENSION_END__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.EXTENSION_END__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.EXTENSION_END__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.EXTENSION_END__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.EXTENSION_END__NAME :
+ return getName();
+ case UMLPackage.EXTENSION_END__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.EXTENSION_END__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.EXTENSION_END__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXTENSION_END__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.EXTENSION_END__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.EXTENSION_END__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.EXTENSION_END__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.EXTENSION_END__FEATURING_CLASSIFIER :
+ return getFeaturingClassifiers();
+ case UMLPackage.EXTENSION_END__IS_STATIC :
+ return isStatic();
+ case UMLPackage.EXTENSION_END__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.EXTENSION_END__IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.EXTENSION_END__IS_UNIQUE :
+ return isUnique();
+ case UMLPackage.EXTENSION_END__LOWER :
+ return getLower();
+ case UMLPackage.EXTENSION_END__LOWER_VALUE :
+ if (resolve)
+ return getLowerValue();
+ return basicGetLowerValue();
+ case UMLPackage.EXTENSION_END__UPPER :
+ return getUpper();
+ case UMLPackage.EXTENSION_END__UPPER_VALUE :
+ if (resolve)
+ return getUpperValue();
+ return basicGetUpperValue();
+ case UMLPackage.EXTENSION_END__IS_READ_ONLY :
+ return isReadOnly();
+ case UMLPackage.EXTENSION_END__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.EXTENSION_END__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.EXTENSION_END__END :
+ return getEnds();
+ case UMLPackage.EXTENSION_END__DEPLOYED_ELEMENT :
+ return getDeployedElements();
+ case UMLPackage.EXTENSION_END__DEPLOYMENT :
+ return getDeployments();
+ case UMLPackage.EXTENSION_END__DATATYPE :
+ if (resolve)
+ return getDatatype();
+ return basicGetDatatype();
+ case UMLPackage.EXTENSION_END__INTERFACE :
+ if (resolve)
+ return getInterface();
+ return basicGetInterface();
+ case UMLPackage.EXTENSION_END__DEFAULT :
+ return getDefault();
+ case UMLPackage.EXTENSION_END__AGGREGATION :
+ return getAggregation();
+ case UMLPackage.EXTENSION_END__ASSOCIATION_END :
+ if (resolve)
+ return getAssociationEnd();
+ return basicGetAssociationEnd();
+ case UMLPackage.EXTENSION_END__QUALIFIER :
+ return getQualifiers();
+ case UMLPackage.EXTENSION_END__CLASS :
+ if (resolve)
+ return getClass_();
+ return basicGetClass_();
+ case UMLPackage.EXTENSION_END__DEFAULT_VALUE :
+ if (resolve)
+ return getDefaultValue();
+ return basicGetDefaultValue();
+ case UMLPackage.EXTENSION_END__IS_COMPOSITE :
+ return isComposite();
+ case UMLPackage.EXTENSION_END__IS_DERIVED :
+ return isDerived();
+ case UMLPackage.EXTENSION_END__IS_DERIVED_UNION :
+ return isDerivedUnion();
+ case UMLPackage.EXTENSION_END__IS_ID :
+ return isID();
+ case UMLPackage.EXTENSION_END__OPPOSITE :
+ if (resolve)
+ return getOpposite();
+ return basicGetOpposite();
+ case UMLPackage.EXTENSION_END__OWNING_ASSOCIATION :
+ if (resolve)
+ return getOwningAssociation();
+ return basicGetOwningAssociation();
+ case UMLPackage.EXTENSION_END__REDEFINED_PROPERTY :
+ return getRedefinedProperties();
+ case UMLPackage.EXTENSION_END__SUBSETTED_PROPERTY :
+ return getSubsettedProperties();
+ case UMLPackage.EXTENSION_END__ASSOCIATION :
+ if (resolve)
+ return getAssociation();
+ return basicGetAssociation();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION_END__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__IS_STATIC :
+ setIsStatic((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__IS_ORDERED :
+ setIsOrdered((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__IS_UNIQUE :
+ setIsUnique((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__LOWER :
+ setLower((Integer) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__LOWER_VALUE :
+ setLowerValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__UPPER :
+ setUpper((Integer) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__UPPER_VALUE :
+ setUpperValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__IS_READ_ONLY :
+ setIsReadOnly((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__DEPLOYMENT :
+ getDeployments().clear();
+ getDeployments()
+ .addAll((Collection<? extends Deployment>) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__DATATYPE :
+ setDatatype((DataType) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__INTERFACE :
+ setInterface((Interface) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__DEFAULT :
+ setDefault((String) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__AGGREGATION :
+ setAggregation((AggregationKind) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__ASSOCIATION_END :
+ setAssociationEnd((Property) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__QUALIFIER :
+ getQualifiers().clear();
+ getQualifiers()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__DEFAULT_VALUE :
+ setDefaultValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__IS_COMPOSITE :
+ setIsComposite((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__IS_DERIVED :
+ setIsDerived((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__IS_DERIVED_UNION :
+ setIsDerivedUnion((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__IS_ID :
+ setIsID((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__OPPOSITE :
+ setOpposite((Property) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__OWNING_ASSOCIATION :
+ setOwningAssociation((Association) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__REDEFINED_PROPERTY :
+ getRedefinedProperties().clear();
+ getRedefinedProperties()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__SUBSETTED_PROPERTY :
+ getSubsettedProperties().clear();
+ getSubsettedProperties()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.EXTENSION_END__ASSOCIATION :
+ setAssociation((Association) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION_END__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.EXTENSION_END__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.EXTENSION_END__NAME :
+ unsetName();
+ return;
+ case UMLPackage.EXTENSION_END__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.EXTENSION_END__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.EXTENSION_END__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION_END__IS_STATIC :
+ setIsStatic(IS_STATIC_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION_END__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.EXTENSION_END__IS_ORDERED :
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION_END__IS_UNIQUE :
+ setIsUnique(IS_UNIQUE_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION_END__LOWER :
+ setLower(LOWER_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION_END__LOWER_VALUE :
+ setLowerValue((ValueSpecification) null);
+ return;
+ case UMLPackage.EXTENSION_END__UPPER :
+ setUpper(UPPER_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION_END__UPPER_VALUE :
+ setUpperValue((ValueSpecification) null);
+ return;
+ case UMLPackage.EXTENSION_END__IS_READ_ONLY :
+ setIsReadOnly(IS_READ_ONLY_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION_END__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.EXTENSION_END__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.EXTENSION_END__DEPLOYMENT :
+ getDeployments().clear();
+ return;
+ case UMLPackage.EXTENSION_END__DATATYPE :
+ setDatatype((DataType) null);
+ return;
+ case UMLPackage.EXTENSION_END__INTERFACE :
+ setInterface((Interface) null);
+ return;
+ case UMLPackage.EXTENSION_END__DEFAULT :
+ unsetDefault();
+ return;
+ case UMLPackage.EXTENSION_END__AGGREGATION :
+ setAggregation(AGGREGATION_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION_END__ASSOCIATION_END :
+ setAssociationEnd((Property) null);
+ return;
+ case UMLPackage.EXTENSION_END__QUALIFIER :
+ getQualifiers().clear();
+ return;
+ case UMLPackage.EXTENSION_END__DEFAULT_VALUE :
+ setDefaultValue((ValueSpecification) null);
+ return;
+ case UMLPackage.EXTENSION_END__IS_COMPOSITE :
+ setIsComposite(IS_COMPOSITE_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION_END__IS_DERIVED :
+ setIsDerived(IS_DERIVED_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION_END__IS_DERIVED_UNION :
+ setIsDerivedUnion(IS_DERIVED_UNION_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION_END__IS_ID :
+ setIsID(IS_ID_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION_END__OPPOSITE :
+ setOpposite((Property) null);
+ return;
+ case UMLPackage.EXTENSION_END__OWNING_ASSOCIATION :
+ setOwningAssociation((Association) null);
+ return;
+ case UMLPackage.EXTENSION_END__REDEFINED_PROPERTY :
+ getRedefinedProperties().clear();
+ return;
+ case UMLPackage.EXTENSION_END__SUBSETTED_PROPERTY :
+ getSubsettedProperties().clear();
+ return;
+ case UMLPackage.EXTENSION_END__ASSOCIATION :
+ setAssociation((Association) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION_END__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.EXTENSION_END__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.EXTENSION_END__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.EXTENSION_END__OWNER :
+ return isSetOwner();
+ case UMLPackage.EXTENSION_END__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.EXTENSION_END__NAME :
+ return isSetName();
+ case UMLPackage.EXTENSION_END__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.EXTENSION_END__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.EXTENSION_END__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.EXTENSION_END__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.EXTENSION_END__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.EXTENSION_END__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.EXTENSION_END__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.EXTENSION_END__FEATURING_CLASSIFIER :
+ return isSetFeaturingClassifiers();
+ case UMLPackage.EXTENSION_END__IS_STATIC :
+ return isStatic() != IS_STATIC_EDEFAULT;
+ case UMLPackage.EXTENSION_END__TYPE :
+ return isSetType();
+ case UMLPackage.EXTENSION_END__IS_ORDERED :
+ return isOrdered() != IS_ORDERED_EDEFAULT;
+ case UMLPackage.EXTENSION_END__IS_UNIQUE :
+ return isUnique() != IS_UNIQUE_EDEFAULT;
+ case UMLPackage.EXTENSION_END__LOWER :
+ return isSetLower();
+ case UMLPackage.EXTENSION_END__LOWER_VALUE :
+ return basicGetLowerValue() != null;
+ case UMLPackage.EXTENSION_END__UPPER :
+ return getUpper() != UPPER_EDEFAULT;
+ case UMLPackage.EXTENSION_END__UPPER_VALUE :
+ return basicGetUpperValue() != null;
+ case UMLPackage.EXTENSION_END__IS_READ_ONLY :
+ return isReadOnly() != IS_READ_ONLY_EDEFAULT;
+ case UMLPackage.EXTENSION_END__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.EXTENSION_END__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.EXTENSION_END__END :
+ return !getEnds().isEmpty();
+ case UMLPackage.EXTENSION_END__DEPLOYED_ELEMENT :
+ return !getDeployedElements().isEmpty();
+ case UMLPackage.EXTENSION_END__DEPLOYMENT :
+ return !getDeployments().isEmpty();
+ case UMLPackage.EXTENSION_END__DATATYPE :
+ return basicGetDatatype() != null;
+ case UMLPackage.EXTENSION_END__INTERFACE :
+ return basicGetInterface() != null;
+ case UMLPackage.EXTENSION_END__DEFAULT :
+ return isSetDefault();
+ case UMLPackage.EXTENSION_END__AGGREGATION :
+ return getAggregation() != AGGREGATION_EDEFAULT;
+ case UMLPackage.EXTENSION_END__ASSOCIATION_END :
+ return basicGetAssociationEnd() != null;
+ case UMLPackage.EXTENSION_END__QUALIFIER :
+ return !getQualifiers().isEmpty();
+ case UMLPackage.EXTENSION_END__CLASS :
+ return basicGetClass_() != null;
+ case UMLPackage.EXTENSION_END__DEFAULT_VALUE :
+ return basicGetDefaultValue() != null;
+ case UMLPackage.EXTENSION_END__IS_COMPOSITE :
+ return isComposite() != IS_COMPOSITE_EDEFAULT;
+ case UMLPackage.EXTENSION_END__IS_DERIVED :
+ return isDerived() != IS_DERIVED_EDEFAULT;
+ case UMLPackage.EXTENSION_END__IS_DERIVED_UNION :
+ return isDerivedUnion() != IS_DERIVED_UNION_EDEFAULT;
+ case UMLPackage.EXTENSION_END__IS_ID :
+ return isID() != IS_ID_EDEFAULT;
+ case UMLPackage.EXTENSION_END__OPPOSITE :
+ return basicGetOpposite() != null;
+ case UMLPackage.EXTENSION_END__OWNING_ASSOCIATION :
+ return basicGetOwningAssociation() != null;
+ case UMLPackage.EXTENSION_END__REDEFINED_PROPERTY :
+ return !getRedefinedProperties().isEmpty();
+ case UMLPackage.EXTENSION_END__SUBSETTED_PROPERTY :
+ return !getSubsettedProperties().isEmpty();
+ case UMLPackage.EXTENSION_END__ASSOCIATION :
+ return basicGetAssociation() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.EXTENSION_END___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXTENSION_END___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.EXTENSION_END___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_END___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXTENSION_END___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.EXTENSION_END___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.EXTENSION_END___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.EXTENSION_END___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.EXTENSION_END___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.EXTENSION_END___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.EXTENSION_END___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXTENSION_END___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_END___GET_MODEL :
+ return getModel();
+ case UMLPackage.EXTENSION_END___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.EXTENSION_END___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.EXTENSION_END___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.EXTENSION_END___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.EXTENSION_END___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.EXTENSION_END___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.EXTENSION_END___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXTENSION_END___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_END___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.EXTENSION_END___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.EXTENSION_END___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXTENSION_END___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXTENSION_END___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.EXTENSION_END___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXTENSION_END___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_END___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_END___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_END___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.EXTENSION_END___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.EXTENSION_END___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_END___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.EXTENSION_END___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.EXTENSION_END___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.EXTENSION_END___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.EXTENSION_END___GET_LABEL :
+ return getLabel();
+ case UMLPackage.EXTENSION_END___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.EXTENSION_END___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.EXTENSION_END___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.EXTENSION_END___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.EXTENSION_END___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.EXTENSION_END___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXTENSION_END___SEPARATOR :
+ return separator();
+ case UMLPackage.EXTENSION_END___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.EXTENSION_END___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.EXTENSION_END___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.EXTENSION_END___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return validateUpperGeLower((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return validateLowerGe0((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationNoSideEffects(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationConstant(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return validateLowerIsInteger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return validateUpperIsUnlimitedNatural(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.EXTENSION_END___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.EXTENSION_END___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return compatibleWith((MultiplicityElement) arguments.get(0));
+ case UMLPackage.EXTENSION_END___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return includesMultiplicity(
+ (MultiplicityElement) arguments.get(0));
+ case UMLPackage.EXTENSION_END___IS__INT_INT :
+ return is((Integer) arguments.get(0),
+ (Integer) arguments.get(1));
+ case UMLPackage.EXTENSION_END___IS_MULTIVALUED :
+ return isMultivalued();
+ case UMLPackage.EXTENSION_END___GET_LOWER :
+ return getLower();
+ case UMLPackage.EXTENSION_END___LOWER_BOUND :
+ return lowerBound();
+ case UMLPackage.EXTENSION_END___GET_UPPER :
+ return getUpper();
+ case UMLPackage.EXTENSION_END___UPPER_BOUND :
+ return upperBound();
+ case UMLPackage.EXTENSION_END___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.EXTENSION_END___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.EXTENSION_END___GET_ENDS :
+ return getEnds();
+ case UMLPackage.EXTENSION_END___GET_DEPLOYED_ELEMENTS :
+ return getDeployedElements();
+ case UMLPackage.EXTENSION_END___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP :
+ return validateSubsettingContextConforms(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP :
+ return validateDerivedUnionIsReadOnly(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfComposite(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinedPropertyInherited(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_SUBSETTING_RULES__DIAGNOSTICCHAIN_MAP :
+ return validateSubsettingRules(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_BINDING_TO_ATTRIBUTE__DIAGNOSTICCHAIN_MAP :
+ return validateBindingToAttribute(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP :
+ return validateDerivedUnionIsDerived(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP :
+ return validateDeploymentTarget(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP :
+ return validateSubsettedPropertyNames(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_TYPE_OF_OPPOSITE_END__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfOppositeEnd(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_QUALIFIED_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP :
+ return validateQualifiedIsAssociationEnd(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___GET_DEFAULT :
+ return getDefault();
+ case UMLPackage.EXTENSION_END___GET_OTHER_END :
+ return getOtherEnd();
+ case UMLPackage.EXTENSION_END___IS_SET_DEFAULT :
+ return isSetDefault();
+ case UMLPackage.EXTENSION_END___SET_BOOLEAN_DEFAULT_VALUE__BOOLEAN :
+ setBooleanDefaultValue((Boolean) arguments.get(0));
+ return null;
+ case UMLPackage.EXTENSION_END___SET_DEFAULT__STRING :
+ setDefault((String) arguments.get(0));
+ return null;
+ case UMLPackage.EXTENSION_END___SET_INTEGER_DEFAULT_VALUE__INT :
+ setIntegerDefaultValue((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.EXTENSION_END___SET_IS_COMPOSITE__BOOLEAN :
+ setIsComposite((Boolean) arguments.get(0));
+ return null;
+ case UMLPackage.EXTENSION_END___SET_IS_NAVIGABLE__BOOLEAN :
+ setIsNavigable((Boolean) arguments.get(0));
+ return null;
+ case UMLPackage.EXTENSION_END___SET_NULL_DEFAULT_VALUE :
+ setNullDefaultValue();
+ return null;
+ case UMLPackage.EXTENSION_END___SET_OPPOSITE__PROPERTY :
+ setOpposite((Property) arguments.get(0));
+ return null;
+ case UMLPackage.EXTENSION_END___SET_REAL_DEFAULT_VALUE__DOUBLE :
+ setRealDefaultValue((Double) arguments.get(0));
+ return null;
+ case UMLPackage.EXTENSION_END___SET_STRING_DEFAULT_VALUE__STRING :
+ setStringDefaultValue((String) arguments.get(0));
+ return null;
+ case UMLPackage.EXTENSION_END___SET_UNLIMITED_NATURAL_DEFAULT_VALUE__INT :
+ setUnlimitedNaturalDefaultValue((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.EXTENSION_END___UNSET_DEFAULT :
+ unsetDefault();
+ return null;
+ case UMLPackage.EXTENSION_END___IS_ATTRIBUTE :
+ return isAttribute();
+ case UMLPackage.EXTENSION_END___IS_COMPOSITE :
+ return isComposite();
+ case UMLPackage.EXTENSION_END___IS_NAVIGABLE :
+ return isNavigable();
+ case UMLPackage.EXTENSION_END___GET_OPPOSITE :
+ return getOpposite();
+ case UMLPackage.EXTENSION_END___SUBSETTING_CONTEXT :
+ return subsettingContext();
+ case UMLPackage.EXTENSION_END___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_END___VALIDATE_AGGREGATION__DIAGNOSTICCHAIN_MAP :
+ return validateAggregation((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ExtensionEndImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtensionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtensionImpl.java
new file mode 100644
index 00000000..297e1fb7
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtensionImpl.java
@@ -0,0 +1,1197 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentWithInverseEList;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.ExtensionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extension</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtensionImpl#isRequired <em>Is Required</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtensionImpl#getMetaclass <em>Metaclass</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtensionImpl#getOwnedEnds <em>Owned End</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExtensionImpl
+ extends AssociationImpl
+ implements Extension {
+
+ /**
+ * The default value of the '{@link #isRequired() <em>Is Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRequired()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REQUIRED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.EXTENSION;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.ASSOCIATION__OWNED_END) {
+ return createOwnedEndsList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Property> getOwnedEnds() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.EXTENSION__OWNED_END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.ASSOCIATION__OWNED_END, true, true);
+ }
+
+ private EList<Property> createOwnedEndsList() {
+ return new SubsetSupersetEObjectContainmentWithInverseEList.Resolving<Property>(
+ ExtensionEnd.class, this, UMLPackage.EXTENSION__OWNED_END,
+ OWNED_END_ESUPERSETS, OWNED_END_ESUBSETS,
+ UMLPackage.PROPERTY__OWNING_ASSOCIATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Property createOwnedEnd(String name, Type type) {
+ ExtensionEnd newOwnedEnd = (ExtensionEnd) create(
+ UMLPackage.Literals.EXTENSION_END);
+ getOwnedEnds().add(newOwnedEnd);
+ if (name != null)
+ newOwnedEnd.setName(name);
+ if (type != null)
+ newOwnedEnd.setType(type);
+ return newOwnedEnd;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Property getOwnedEnd(String name, Type type) {
+ return getOwnedEnd(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedEnd(String name, Type type, boolean ignoreCase,
+ boolean createOnDemand) {
+ ownedEndLoop : for (Property ownedEnd : getOwnedEnds()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedEnd.getName())
+ : name.equals(ownedEnd.getName())))
+ continue ownedEndLoop;
+ if (type != null && !type.equals(ownedEnd.getType()))
+ continue ownedEndLoop;
+ return ownedEnd;
+ }
+ return createOnDemand
+ ? createOwnedEnd(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetOwnedEnds() {
+ return !getOwnedEnds().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRequired() {
+ return ExtensionOperations.isRequired(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getMetaclass() {
+ org.eclipse.uml2.uml.Class metaclass = basicGetMetaclass();
+ return metaclass != null && metaclass.eIsProxy()
+ ? (org.eclipse.uml2.uml.Class) eResolveProxy(
+ (InternalEObject) metaclass)
+ : metaclass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetMetaclass() {
+ return ExtensionOperations.getMetaclass(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNonOwnedEnd(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExtensionOperations.validateNonOwnedEnd(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateIsBinary(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExtensionOperations.validateIsBinary(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getStereotypeEnd() {
+ return ExtensionOperations.getStereotypeEnd(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype getStereotype() {
+ return ExtensionOperations.getStereotype(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property metaclassEnd() {
+ return ExtensionOperations.metaclassEnd(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXTENSION__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXTENSION__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXTENSION__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXTENSION__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.EXTENSION__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.EXTENSION__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXTENSION__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.EXTENSION__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.EXTENSION__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXTENSION__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXTENSION__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXTENSION__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXTENSION__MEMBER_END :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getMemberEnds())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXTENSION__OWNED_END :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedEnds())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.EXTENSION__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.EXTENSION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.EXTENSION__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.EXTENSION__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.EXTENSION__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION__MEMBER_END :
+ return ((InternalEList<?>) getMemberEnds())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION__OWNED_END :
+ return ((InternalEList<?>) getOwnedEnds()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.EXTENSION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.EXTENSION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.EXTENSION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.EXTENSION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.EXTENSION__NAME :
+ return getName();
+ case UMLPackage.EXTENSION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.EXTENSION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.EXTENSION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXTENSION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.EXTENSION__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.EXTENSION__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.EXTENSION__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.EXTENSION__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.EXTENSION__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.EXTENSION__MEMBER :
+ return getMembers();
+ case UMLPackage.EXTENSION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.EXTENSION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.EXTENSION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.EXTENSION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.EXTENSION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.EXTENSION__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.EXTENSION__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.EXTENSION__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.EXTENSION__FEATURE :
+ return getFeatures();
+ case UMLPackage.EXTENSION__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.EXTENSION__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.EXTENSION__GENERAL :
+ return getGenerals();
+ case UMLPackage.EXTENSION__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.EXTENSION__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.EXTENSION__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.EXTENSION__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.EXTENSION__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.EXTENSION__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.EXTENSION__USE_CASE :
+ return getUseCases();
+ case UMLPackage.EXTENSION__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.EXTENSION__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.EXTENSION__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.EXTENSION__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.EXTENSION__END_TYPE :
+ return getEndTypes();
+ case UMLPackage.EXTENSION__IS_DERIVED :
+ return isDerived();
+ case UMLPackage.EXTENSION__MEMBER_END :
+ return getMemberEnds();
+ case UMLPackage.EXTENSION__OWNED_END :
+ return getOwnedEnds();
+ case UMLPackage.EXTENSION__NAVIGABLE_OWNED_END :
+ return getNavigableOwnedEnds();
+ case UMLPackage.EXTENSION__IS_REQUIRED :
+ return isRequired();
+ case UMLPackage.EXTENSION__METACLASS :
+ if (resolve)
+ return getMetaclass();
+ return basicGetMetaclass();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.EXTENSION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.EXTENSION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.EXTENSION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.EXTENSION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.EXTENSION__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.EXTENSION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.EXTENSION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.EXTENSION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.EXTENSION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.EXTENSION__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.EXTENSION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.EXTENSION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.EXTENSION__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.EXTENSION__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.EXTENSION__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.EXTENSION__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.EXTENSION__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.EXTENSION__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.EXTENSION__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.EXTENSION__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.EXTENSION__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.EXTENSION__IS_DERIVED :
+ setIsDerived((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION__MEMBER_END :
+ getMemberEnds().clear();
+ getMemberEnds()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.EXTENSION__OWNED_END :
+ getOwnedEnds().clear();
+ getOwnedEnds()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.EXTENSION__NAVIGABLE_OWNED_END :
+ getNavigableOwnedEnds().clear();
+ getNavigableOwnedEnds()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.EXTENSION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.EXTENSION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.EXTENSION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.EXTENSION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.EXTENSION__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.EXTENSION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.EXTENSION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.EXTENSION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.EXTENSION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.EXTENSION__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.EXTENSION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.EXTENSION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.EXTENSION__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.EXTENSION__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.EXTENSION__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.EXTENSION__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.EXTENSION__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.EXTENSION__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.EXTENSION__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.EXTENSION__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.EXTENSION__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.EXTENSION__IS_DERIVED :
+ setIsDerived(IS_DERIVED_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION__MEMBER_END :
+ getMemberEnds().clear();
+ return;
+ case UMLPackage.EXTENSION__OWNED_END :
+ getOwnedEnds().clear();
+ return;
+ case UMLPackage.EXTENSION__NAVIGABLE_OWNED_END :
+ getNavigableOwnedEnds().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.EXTENSION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.EXTENSION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.EXTENSION__OWNER :
+ return isSetOwner();
+ case UMLPackage.EXTENSION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.EXTENSION__NAME :
+ return isSetName();
+ case UMLPackage.EXTENSION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.EXTENSION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.EXTENSION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.EXTENSION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.EXTENSION__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.EXTENSION__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.EXTENSION__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.EXTENSION__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.EXTENSION__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.EXTENSION__MEMBER :
+ return isSetMembers();
+ case UMLPackage.EXTENSION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.EXTENSION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.EXTENSION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.EXTENSION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.EXTENSION__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.EXTENSION__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.EXTENSION__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.EXTENSION__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.EXTENSION__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.EXTENSION__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.EXTENSION__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.EXTENSION__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.EXTENSION__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.EXTENSION__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.EXTENSION__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.EXTENSION__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.EXTENSION__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.EXTENSION__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.EXTENSION__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.EXTENSION__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.EXTENSION__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.EXTENSION__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.EXTENSION__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.EXTENSION__END_TYPE :
+ return !getEndTypes().isEmpty();
+ case UMLPackage.EXTENSION__IS_DERIVED :
+ return isDerived() != IS_DERIVED_EDEFAULT;
+ case UMLPackage.EXTENSION__MEMBER_END :
+ return !getMemberEnds().isEmpty();
+ case UMLPackage.EXTENSION__OWNED_END :
+ return isSetOwnedEnds();
+ case UMLPackage.EXTENSION__NAVIGABLE_OWNED_END :
+ return !getNavigableOwnedEnds().isEmpty();
+ case UMLPackage.EXTENSION__IS_REQUIRED :
+ return isRequired() != IS_REQUIRED_EDEFAULT;
+ case UMLPackage.EXTENSION__METACLASS :
+ return basicGetMetaclass() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.EXTENSION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXTENSION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.EXTENSION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXTENSION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.EXTENSION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.EXTENSION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.EXTENSION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.EXTENSION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.EXTENSION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.EXTENSION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXTENSION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION___GET_MODEL :
+ return getModel();
+ case UMLPackage.EXTENSION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.EXTENSION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.EXTENSION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.EXTENSION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.EXTENSION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.EXTENSION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.EXTENSION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXTENSION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.EXTENSION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.EXTENSION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXTENSION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXTENSION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.EXTENSION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXTENSION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.EXTENSION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.EXTENSION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.EXTENSION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.EXTENSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.EXTENSION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.EXTENSION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.EXTENSION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.EXTENSION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.EXTENSION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.EXTENSION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.EXTENSION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.EXTENSION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXTENSION___SEPARATOR :
+ return separator();
+ case UMLPackage.EXTENSION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.EXTENSION___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.EXTENSION___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.EXTENSION___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.EXTENSION___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.EXTENSION___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.EXTENSION___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.EXTENSION___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.EXTENSION___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.EXTENSION___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.EXTENSION___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.EXTENSION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.EXTENSION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.EXTENSION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.EXTENSION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.EXTENSION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.EXTENSION___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.EXTENSION___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.EXTENSION___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.EXTENSION___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.EXTENSION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.EXTENSION___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.EXTENSION___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.EXTENSION___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.EXTENSION___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.EXTENSION___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.EXTENSION___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.EXTENSION___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.EXTENSION___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.EXTENSION___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.EXTENSION___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.EXTENSION___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.EXTENSION___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.EXTENSION___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.EXTENSION___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.EXTENSION___PARENTS :
+ return parents();
+ case UMLPackage.EXTENSION___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.EXTENSION___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.EXTENSION___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.EXTENSION___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.EXTENSION___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.EXTENSION___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.EXTENSION___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.EXTENSION___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializedEndNumber(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializedEndTypes(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
+ return validateBinaryAssociations(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
+ return validateAssociationEnds(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_ENDS_MUST_BE_TYPED__DIAGNOSTICCHAIN_MAP :
+ return validateEndsMustBeTyped(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___IS_BINARY :
+ return isBinary();
+ case UMLPackage.EXTENSION___GET_END_TYPES :
+ return getEndTypes();
+ case UMLPackage.EXTENSION___VALIDATE_NON_OWNED_END__DIAGNOSTICCHAIN_MAP :
+ return validateNonOwnedEnd((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___VALIDATE_IS_BINARY__DIAGNOSTICCHAIN_MAP :
+ return validateIsBinary((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION___GET_STEREOTYPE :
+ return getStereotype();
+ case UMLPackage.EXTENSION___GET_STEREOTYPE_END :
+ return getStereotypeEnd();
+ case UMLPackage.EXTENSION___IS_REQUIRED :
+ return isRequired();
+ case UMLPackage.EXTENSION___GET_METACLASS :
+ return getMetaclass();
+ case UMLPackage.EXTENSION___METACLASS_END :
+ return metaclassEnd();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ExtensionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtensionPointImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtensionPointImpl.java
new file mode 100644
index 00000000..254926e0
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ExtensionPointImpl.java
@@ -0,0 +1,549 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ExtensionPointOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extension Point</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtensionPointImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ExtensionPointImpl#getUseCase <em>Use Case</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExtensionPointImpl
+ extends RedefinableElementImpl
+ implements ExtensionPoint {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensionPointImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.EXTENSION_POINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ UseCase useCase = basicGetUseCase();
+ if (useCase != null) {
+ return useCase;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase getUseCase() {
+ return (UseCase) eDynamicGet(
+ UMLPackage.EXTENSION_POINT__USE_CASE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXTENSION_POINT__USE_CASE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase basicGetUseCase() {
+ return (UseCase) eDynamicGet(
+ UMLPackage.EXTENSION_POINT__USE_CASE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXTENSION_POINT__USE_CASE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetUseCase(UseCase newUseCase,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newUseCase,
+ UMLPackage.EXTENSION_POINT__USE_CASE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUseCase(UseCase newUseCase) {
+ eDynamicSet(
+ UMLPackage.EXTENSION_POINT__USE_CASE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.EXTENSION_POINT__USE_CASE, newUseCase);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMustHaveName(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ExtensionPointOperations.validateMustHaveName(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION_POINT__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.EXTENSION_POINT__USE_CASE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetUseCase((UseCase) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION_POINT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION_POINT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.EXTENSION_POINT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.EXTENSION_POINT__USE_CASE :
+ return basicSetUseCase(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.EXTENSION_POINT__USE_CASE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.USE_CASE__EXTENSION_POINT, UseCase.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION_POINT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.EXTENSION_POINT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.EXTENSION_POINT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.EXTENSION_POINT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.EXTENSION_POINT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.EXTENSION_POINT__NAME :
+ return getName();
+ case UMLPackage.EXTENSION_POINT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.EXTENSION_POINT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.EXTENSION_POINT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXTENSION_POINT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.EXTENSION_POINT__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.EXTENSION_POINT__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.EXTENSION_POINT__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.EXTENSION_POINT__USE_CASE :
+ if (resolve)
+ return getUseCase();
+ return basicGetUseCase();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION_POINT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.EXTENSION_POINT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.EXTENSION_POINT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.EXTENSION_POINT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.EXTENSION_POINT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.EXTENSION_POINT__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.EXTENSION_POINT__USE_CASE :
+ setUseCase((UseCase) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION_POINT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.EXTENSION_POINT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.EXTENSION_POINT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.EXTENSION_POINT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.EXTENSION_POINT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.EXTENSION_POINT__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.EXTENSION_POINT__USE_CASE :
+ setUseCase((UseCase) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.EXTENSION_POINT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.EXTENSION_POINT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.EXTENSION_POINT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.EXTENSION_POINT__OWNER :
+ return isSetOwner();
+ case UMLPackage.EXTENSION_POINT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.EXTENSION_POINT__NAME :
+ return isSetName();
+ case UMLPackage.EXTENSION_POINT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.EXTENSION_POINT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.EXTENSION_POINT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.EXTENSION_POINT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.EXTENSION_POINT__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.EXTENSION_POINT__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.EXTENSION_POINT__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.EXTENSION_POINT__USE_CASE :
+ return basicGetUseCase() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.EXTENSION_POINT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_POINT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_POINT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.EXTENSION_POINT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.EXTENSION_POINT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.EXTENSION_POINT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.EXTENSION_POINT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXTENSION_POINT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___GET_MODEL :
+ return getModel();
+ case UMLPackage.EXTENSION_POINT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.EXTENSION_POINT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.EXTENSION_POINT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.EXTENSION_POINT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.EXTENSION_POINT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.EXTENSION_POINT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.EXTENSION_POINT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXTENSION_POINT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.EXTENSION_POINT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.EXTENSION_POINT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.EXTENSION_POINT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.EXTENSION_POINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_POINT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_POINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_POINT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.EXTENSION_POINT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.EXTENSION_POINT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.EXTENSION_POINT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.EXTENSION_POINT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.EXTENSION_POINT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.EXTENSION_POINT___SEPARATOR :
+ return separator();
+ case UMLPackage.EXTENSION_POINT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.EXTENSION_POINT___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_POINT___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_POINT___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.EXTENSION_POINT___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.EXTENSION_POINT___VALIDATE_MUST_HAVE_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateMustHaveName((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace()
+ || eIsSet(UMLPackage.EXTENSION_POINT__USE_CASE);
+ }
+
+} //ExtensionPointImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FeatureImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FeatureImpl.java
new file mode 100644
index 00000000..d48f97e1
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FeatureImpl.java
@@ -0,0 +1,358 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ * Kenn Hussey - 519572
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.FeatureImpl#getFeaturingClassifiers <em>Featuring Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.FeatureImpl#isStatic <em>Is Static</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class FeatureImpl
+ extends RedefinableElementImpl
+ implements Feature {
+
+ /**
+ * The default value of the '{@link #isStatic() <em>Is Static</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isStatic()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_STATIC_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.FEATURE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Classifier> getFeaturingClassifiersGen() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> featuringClassifiers = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.FEATURE__FEATURING_CLASSIFIER);
+ if (featuringClassifiers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.FEATURE__FEATURING_CLASSIFIER,
+ featuringClassifiers = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.FEATURE__FEATURING_CLASSIFIER, null));
+ }
+ return featuringClassifiers;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.FEATURE__FEATURING_CLASSIFIER, null);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getFeaturingClassifiers() <em>Featuring Classifier</em>}' reference list.
+ * @see #getFeaturingClassifiers()
+ */
+ protected static final int[] FEATURING_CLASSIFIER_ESUBSETS = new int[]{
+ UMLPackage.FEATURE__NAMESPACE};
+
+ public EList<Classifier> getFeaturingClassifiers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> featuringClassifiers = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.FEATURE__FEATURING_CLASSIFIER);
+ if (featuringClassifiers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.FEATURE__FEATURING_CLASSIFIER,
+ featuringClassifiers = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.FEATURE__FEATURING_CLASSIFIER,
+ FEATURING_CLASSIFIER_ESUBSETS));
+ }
+ return featuringClassifiers;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.FEATURE__FEATURING_CLASSIFIER,
+ FEATURING_CLASSIFIER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getFeaturingClassifier(String name) {
+ return getFeaturingClassifier(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getFeaturingClassifier(String name, boolean ignoreCase,
+ EClass eClass) {
+ featuringClassifierLoop : for (Classifier featuringClassifier : getFeaturingClassifiers()) {
+ if (eClass != null && !eClass.isInstance(featuringClassifier))
+ continue featuringClassifierLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(featuringClassifier.getName())
+ : name.equals(featuringClassifier.getName())))
+ continue featuringClassifierLoop;
+ return featuringClassifier;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isStatic() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.FEATURE__IS_STATIC - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.FEATURE__IS_STATIC, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsStatic(boolean newIsStatic) {
+ eDynamicSet(UMLPackage.FEATURE__IS_STATIC - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.FEATURE__IS_STATIC, newIsStatic);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.FEATURE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.FEATURE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.FEATURE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.FEATURE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.FEATURE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.FEATURE__NAME :
+ return getName();
+ case UMLPackage.FEATURE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.FEATURE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.FEATURE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.FEATURE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.FEATURE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.FEATURE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.FEATURE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.FEATURE__FEATURING_CLASSIFIER :
+ return getFeaturingClassifiers();
+ case UMLPackage.FEATURE__IS_STATIC :
+ return isStatic();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.FEATURE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.FEATURE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.FEATURE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.FEATURE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.FEATURE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.FEATURE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.FEATURE__IS_STATIC :
+ setIsStatic((Boolean) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.FEATURE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.FEATURE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.FEATURE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.FEATURE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.FEATURE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.FEATURE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.FEATURE__IS_STATIC :
+ setIsStatic(IS_STATIC_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.FEATURE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.FEATURE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.FEATURE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.FEATURE__OWNER :
+ return isSetOwner();
+ case UMLPackage.FEATURE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.FEATURE__NAME :
+ return isSetName();
+ case UMLPackage.FEATURE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.FEATURE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.FEATURE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.FEATURE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.FEATURE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.FEATURE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.FEATURE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.FEATURE__FEATURING_CLASSIFIER :
+ return isSetFeaturingClassifiers();
+ case UMLPackage.FEATURE__IS_STATIC :
+ return isStatic() != IS_STATIC_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetFeaturingClassifiers() {
+ return false;
+ }
+
+} //FeatureImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FinalNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FinalNodeImpl.java
new file mode 100644
index 00000000..7f3017e3
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FinalNodeImpl.java
@@ -0,0 +1,230 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.FinalNode;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.FinalNodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Final Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class FinalNodeImpl
+ extends ControlNodeImpl
+ implements FinalNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FinalNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.FINAL_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoOutgoingEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return FinalNodeOperations.validateNoOutgoingEdges(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.FINAL_NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.FINAL_NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.FINAL_NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.FINAL_NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.FINAL_NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.FINAL_NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.FINAL_NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.FINAL_NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.FINAL_NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.FINAL_NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.FINAL_NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.FINAL_NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.FINAL_NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.FINAL_NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.FINAL_NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.FINAL_NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.FINAL_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.FINAL_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.FINAL_NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.FINAL_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.FINAL_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.FINAL_NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.FINAL_NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.FINAL_NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.FINAL_NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.FINAL_NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.FINAL_NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.FINAL_NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.FINAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.FINAL_NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.FINAL_NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.FINAL_NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.FINAL_NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.FINAL_NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.FINAL_NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.FINAL_NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.FINAL_NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.FINAL_NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.FINAL_NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.FINAL_NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.FINAL_NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.FINAL_NODE___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.FINAL_NODE___VALIDATE_NO_OUTGOING_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateNoOutgoingEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //FinalNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FinalStateImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FinalStateImpl.java
new file mode 100644
index 00000000..9126a63e
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FinalStateImpl.java
@@ -0,0 +1,383 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.FinalStateOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Final State</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class FinalStateImpl
+ extends StateImpl
+ implements FinalState {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FinalStateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.FINAL_STATE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoOutgoingTransitions(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return FinalStateOperations.validateNoOutgoingTransitions(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoRegions(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return FinalStateOperations.validateNoRegions(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCannotReferenceSubmachine(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return FinalStateOperations.validateCannotReferenceSubmachine(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoEntryBehavior(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return FinalStateOperations.validateNoEntryBehavior(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoExitBehavior(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return FinalStateOperations.validateNoExitBehavior(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoStateBehavior(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return FinalStateOperations.validateNoStateBehavior(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.FINAL_STATE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.FINAL_STATE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.FINAL_STATE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_STATE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.FINAL_STATE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.FINAL_STATE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.FINAL_STATE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.FINAL_STATE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.FINAL_STATE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.FINAL_STATE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.FINAL_STATE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.FINAL_STATE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_STATE___GET_MODEL :
+ return getModel();
+ case UMLPackage.FINAL_STATE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.FINAL_STATE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.FINAL_STATE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.FINAL_STATE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.FINAL_STATE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.FINAL_STATE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.FINAL_STATE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.FINAL_STATE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_STATE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.FINAL_STATE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.FINAL_STATE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.FINAL_STATE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.FINAL_STATE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.FINAL_STATE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.FINAL_STATE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_STATE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_STATE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_STATE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.FINAL_STATE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.FINAL_STATE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.FINAL_STATE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.FINAL_STATE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.FINAL_STATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.FINAL_STATE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.FINAL_STATE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.FINAL_STATE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.FINAL_STATE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.FINAL_STATE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.FINAL_STATE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.FINAL_STATE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.FINAL_STATE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.FINAL_STATE___SEPARATOR :
+ return separator();
+ case UMLPackage.FINAL_STATE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.FINAL_STATE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.FINAL_STATE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.FINAL_STATE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.FINAL_STATE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.FINAL_STATE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.FINAL_STATE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.FINAL_STATE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.FINAL_STATE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.FINAL_STATE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.FINAL_STATE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.FINAL_STATE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.FINAL_STATE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.FINAL_STATE___CONTAINING_STATE_MACHINE :
+ return containingStateMachine();
+ case UMLPackage.FINAL_STATE___GET_INCOMINGS :
+ return getIncomings();
+ case UMLPackage.FINAL_STATE___GET_OUTGOINGS :
+ return getOutgoings();
+ case UMLPackage.FINAL_STATE___IS_CONTAINED_IN_STATE__STATE :
+ return isContainedInState((State) arguments.get(0));
+ case UMLPackage.FINAL_STATE___IS_CONTAINED_IN_REGION__REGION :
+ return isContainedInRegion((Region) arguments.get(0));
+ case UMLPackage.FINAL_STATE___VALIDATE_ENTRY_OR_EXIT__DIAGNOSTICCHAIN_MAP :
+ return validateEntryOrExit((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_SUBMACHINE_STATES__DIAGNOSTICCHAIN_MAP :
+ return validateSubmachineStates(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_COMPOSITE_STATES__DIAGNOSTICCHAIN_MAP :
+ return validateCompositeStates(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_DESTINATIONS_OR_SOURCES_OF_TRANSITIONS__DIAGNOSTICCHAIN_MAP :
+ return validateDestinationsOrSourcesOfTransitions(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_SUBMACHINE_OR_REGIONS__DIAGNOSTICCHAIN_MAP :
+ return validateSubmachineOrRegions(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___IS_COMPOSITE :
+ return isComposite();
+ case UMLPackage.FINAL_STATE___IS_ORTHOGONAL :
+ return isOrthogonal();
+ case UMLPackage.FINAL_STATE___IS_SIMPLE :
+ return isSimple();
+ case UMLPackage.FINAL_STATE___IS_SUBMACHINE_STATE :
+ return isSubmachineState();
+ case UMLPackage.FINAL_STATE___REDEFINITION_CONTEXT :
+ return redefinitionContext();
+ case UMLPackage.FINAL_STATE___VALIDATE_NO_EXIT_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateNoExitBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_NO_OUTGOING_TRANSITIONS__DIAGNOSTICCHAIN_MAP :
+ return validateNoOutgoingTransitions(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_NO_REGIONS__DIAGNOSTICCHAIN_MAP :
+ return validateNoRegions((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_CANNOT_REFERENCE_SUBMACHINE__DIAGNOSTICCHAIN_MAP :
+ return validateCannotReferenceSubmachine(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_NO_ENTRY_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateNoEntryBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FINAL_STATE___VALIDATE_NO_STATE_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateNoStateBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //FinalStateImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FlowFinalNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FlowFinalNodeImpl.java
new file mode 100644
index 00000000..56e7f690
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FlowFinalNodeImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Flow Final Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class FlowFinalNodeImpl
+ extends FinalNodeImpl
+ implements FlowFinalNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FlowFinalNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.FLOW_FINAL_NODE;
+ }
+
+} //FlowFinalNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ForkNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ForkNodeImpl.java
new file mode 100644
index 00000000..a4fe9cde
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ForkNodeImpl.java
@@ -0,0 +1,243 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.ForkNodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Fork Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ForkNodeImpl
+ extends ControlNodeImpl
+ implements ForkNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ForkNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.FORK_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneIncomingEdge(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ForkNodeOperations.validateOneIncomingEdge(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ForkNodeOperations.validateEdges(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.FORK_NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.FORK_NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FORK_NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FORK_NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.FORK_NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.FORK_NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.FORK_NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.FORK_NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.FORK_NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.FORK_NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.FORK_NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.FORK_NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.FORK_NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.FORK_NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.FORK_NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.FORK_NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.FORK_NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.FORK_NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.FORK_NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.FORK_NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.FORK_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.FORK_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.FORK_NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.FORK_NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.FORK_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.FORK_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.FORK_NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.FORK_NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.FORK_NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.FORK_NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.FORK_NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.FORK_NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.FORK_NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.FORK_NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.FORK_NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.FORK_NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.FORK_NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.FORK_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FORK_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FORK_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FORK_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.FORK_NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.FORK_NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.FORK_NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.FORK_NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.FORK_NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.FORK_NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.FORK_NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.FORK_NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.FORK_NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.FORK_NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.FORK_NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FORK_NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FORK_NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FORK_NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.FORK_NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.FORK_NODE___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.FORK_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FORK_NODE___VALIDATE_ONE_INCOMING_EDGE__DIAGNOSTICCHAIN_MAP :
+ return validateOneIncomingEdge(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ForkNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FunctionBehaviorImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FunctionBehaviorImpl.java
new file mode 100644
index 00000000..e6f6ecca
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/FunctionBehaviorImpl.java
@@ -0,0 +1,442 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.FunctionBehaviorOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Function Behavior</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class FunctionBehaviorImpl
+ extends OpaqueBehaviorImpl
+ implements FunctionBehavior {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionBehaviorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.FUNCTION_BEHAVIOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneOutputParameter(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return FunctionBehaviorOperations.validateOneOutputParameter(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypesOfParameters(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return FunctionBehaviorOperations.validateTypesOfParameters(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean hasAllDataTypeAttributes(DataType d) {
+ return FunctionBehaviorOperations.hasAllDataTypeAttributes(this, d);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_MODEL :
+ return getModel();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.FUNCTION_BEHAVIOR___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.FUNCTION_BEHAVIOR___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_LABEL :
+ return getLabel();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.FUNCTION_BEHAVIOR___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.FUNCTION_BEHAVIOR___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.FUNCTION_BEHAVIOR___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.FUNCTION_BEHAVIOR___SEPARATOR :
+ return separator();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.FUNCTION_BEHAVIOR___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.FUNCTION_BEHAVIOR___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.FUNCTION_BEHAVIOR___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.FUNCTION_BEHAVIOR___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.FUNCTION_BEHAVIOR___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.FUNCTION_BEHAVIOR___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.FUNCTION_BEHAVIOR___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.FUNCTION_BEHAVIOR___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___PARENTS :
+ return parents();
+ case UMLPackage.FUNCTION_BEHAVIOR___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.FUNCTION_BEHAVIOR___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.FUNCTION_BEHAVIOR___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.FUNCTION_BEHAVIOR___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.FUNCTION_BEHAVIOR___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.FUNCTION_BEHAVIOR___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.FUNCTION_BEHAVIOR___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_PARTS :
+ return getParts();
+ case UMLPackage.FUNCTION_BEHAVIOR___ALL_ROLES :
+ return allRoles();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_OWNED_PORTS :
+ return getOwnedPorts();
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_PASSIVE_CLASS__DIAGNOSTICCHAIN_MAP :
+ return validatePassiveClass((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ case UMLPackage.FUNCTION_BEHAVIOR___IS_METACLASS :
+ return isMetaclass();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_EXTENSIONS :
+ return getExtensions();
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_SUPER_CLASSES :
+ return getSuperClasses();
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateMostOneBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_PARAMETERS_MATCH__DIAGNOSTICCHAIN_MAP :
+ return validateParametersMatch(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateFeatureOfContextClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.FUNCTION_BEHAVIOR___BEHAVIORED_CLASSIFIER__ELEMENT :
+ return behavioredClassifier((Element) arguments.get(0));
+ case UMLPackage.FUNCTION_BEHAVIOR___INPUT_PARAMETERS :
+ return inputParameters();
+ case UMLPackage.FUNCTION_BEHAVIOR___OUTPUT_PARAMETERS :
+ return outputParameters();
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_ONE_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validateOneOutputParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_TYPES_OF_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+ return validateTypesOfParameters(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.FUNCTION_BEHAVIOR___HAS_ALL_DATA_TYPE_ATTRIBUTES__DATATYPE :
+ return hasAllDataTypeAttributes((DataType) arguments.get(0));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //FunctionBehaviorImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GateImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GateImpl.java
new file mode 100644
index 00000000..3e8e546c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GateImpl.java
@@ -0,0 +1,415 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.common.util.UML2Util;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.GateOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Gate</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class GateImpl
+ extends MessageEndImpl
+ implements Gate {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.GATE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateActualGateMatched(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return GateOperations.validateActualGateMatched(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInsideCfMatched(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return GateOperations.validateInsideCfMatched(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOutsideCfMatched(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return GateOperations.validateOutsideCfMatched(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateFormalGateDistinguishable(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return GateOperations.validateFormalGateDistinguishable(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateActualGateDistinguishable(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return GateOperations.validateActualGateDistinguishable(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOutsideCfGateDistinguishable(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return GateOperations.validateOutsideCfGateDistinguishable(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInsideCfGateDistinguishable(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return GateOperations.validateInsideCfGateDistinguishable(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOutsideCF() {
+ return GateOperations.isOutsideCF(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isInsideCF() {
+ return GateOperations.isInsideCF(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isActual() {
+ return GateOperations.isActual(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isFormal() {
+ return GateOperations.isFormal(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean matches(Gate gateToMatch) {
+ return GateOperations.matches(this, gateToMatch);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperand getOperand() {
+ return GateOperations.getOperand(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDistinguishableFrom(NamedElement n, Namespace ns) {
+ return GateOperations.isDistinguishableFrom(this, n, ns);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.GATE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.GATE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GATE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GATE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.GATE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.GATE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.GATE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.GATE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.GATE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.GATE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.GATE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.GATE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.GATE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.GATE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.GATE___GET_MODEL :
+ return getModel();
+ case UMLPackage.GATE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.GATE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.GATE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.GATE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.GATE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.GATE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.GATE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.GATE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.GATE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.GATE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.GATE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.GATE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.GATE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.GATE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.GATE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.GATE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.GATE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.GATE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.GATE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.GATE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.GATE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.GATE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.GATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GATE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GATE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GATE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.GATE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.GATE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.GATE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.GATE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.GATE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.GATE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.GATE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.GATE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.GATE___SEPARATOR :
+ return separator();
+ case UMLPackage.GATE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.GATE___OPPOSITE_END :
+ return oppositeEnd();
+ case UMLPackage.GATE___IS_SEND :
+ return isSend();
+ case UMLPackage.GATE___IS_RECEIVE :
+ return isReceive();
+ case UMLPackage.GATE___ENCLOSING_FRAGMENT :
+ return enclosingFragment();
+ case UMLPackage.GATE___VALIDATE_ACTUAL_GATE_MATCHED__DIAGNOSTICCHAIN_MAP :
+ return validateActualGateMatched(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GATE___VALIDATE_INSIDE_CF_MATCHED__DIAGNOSTICCHAIN_MAP :
+ return validateInsideCfMatched(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GATE___VALIDATE_OUTSIDE_CF_MATCHED__DIAGNOSTICCHAIN_MAP :
+ return validateOutsideCfMatched(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GATE___VALIDATE_FORMAL_GATE_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateFormalGateDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GATE___VALIDATE_ACTUAL_GATE_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateActualGateDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GATE___VALIDATE_OUTSIDE_CF_GATE_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateOutsideCfGateDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GATE___VALIDATE_INSIDE_CF_GATE_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateInsideCfGateDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GATE___IS_OUTSIDE_CF :
+ return isOutsideCF();
+ case UMLPackage.GATE___IS_INSIDE_CF :
+ return isInsideCF();
+ case UMLPackage.GATE___IS_ACTUAL :
+ return isActual();
+ case UMLPackage.GATE___IS_FORMAL :
+ return isFormal();
+ case UMLPackage.GATE___GET_NAME :
+ return getName();
+ case UMLPackage.GATE___MATCHES__GATE :
+ return matches((Gate) arguments.get(0));
+ case UMLPackage.GATE___GET_OPERAND :
+ return getOperand();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ @Override
+ public String getName() {
+ String name = super.getName();
+
+ if (!UML2Util.isEmpty(name)) {
+ return name;
+ }
+
+ Message message = getMessage();
+
+ if (message != null) {
+
+ if (isActual() || isOutsideCF()) {
+ return (isSend()
+ ? "out_" //$NON-NLS-1$
+ : "in_") + message.getName(); //$NON-NLS-1$
+ } else {
+ return (isSend()
+ ? "in_" //$NON-NLS-1$
+ : "out_") + message.getName(); //$NON-NLS-1$
+ }
+ }
+
+ return null;
+ }
+
+} //GateImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GeneralOrderingImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GeneralOrderingImpl.java
new file mode 100644
index 00000000..b1f29858
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GeneralOrderingImpl.java
@@ -0,0 +1,523 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.GeneralOrderingOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>General Ordering</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.GeneralOrderingImpl#getAfter <em>After</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.GeneralOrderingImpl#getBefore <em>Before</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GeneralOrderingImpl
+ extends NamedElementImpl
+ implements GeneralOrdering {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GeneralOrderingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.GENERAL_ORDERING;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OccurrenceSpecification getBefore() {
+ return (OccurrenceSpecification) eDynamicGet(
+ UMLPackage.GENERAL_ORDERING__BEFORE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERAL_ORDERING__BEFORE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OccurrenceSpecification basicGetBefore() {
+ return (OccurrenceSpecification) eDynamicGet(
+ UMLPackage.GENERAL_ORDERING__BEFORE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERAL_ORDERING__BEFORE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBefore(OccurrenceSpecification newBefore,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newBefore,
+ UMLPackage.GENERAL_ORDERING__BEFORE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBefore(OccurrenceSpecification newBefore) {
+ eDynamicSet(UMLPackage.GENERAL_ORDERING__BEFORE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERAL_ORDERING__BEFORE, newBefore);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateIrreflexiveTransitiveClosure(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return GeneralOrderingOperations
+ .validateIrreflexiveTransitiveClosure(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OccurrenceSpecification getAfter() {
+ return (OccurrenceSpecification) eDynamicGet(
+ UMLPackage.GENERAL_ORDERING__AFTER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERAL_ORDERING__AFTER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OccurrenceSpecification basicGetAfter() {
+ return (OccurrenceSpecification) eDynamicGet(
+ UMLPackage.GENERAL_ORDERING__AFTER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERAL_ORDERING__AFTER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAfter(OccurrenceSpecification newAfter,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newAfter,
+ UMLPackage.GENERAL_ORDERING__AFTER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAfter(OccurrenceSpecification newAfter) {
+ eDynamicSet(UMLPackage.GENERAL_ORDERING__AFTER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERAL_ORDERING__AFTER, newAfter);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.GENERAL_ORDERING__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.GENERAL_ORDERING__AFTER :
+ OccurrenceSpecification after = basicGetAfter();
+ if (after != null)
+ msgs = ((InternalEObject) after).eInverseRemove(this,
+ UMLPackage.OCCURRENCE_SPECIFICATION__TO_BEFORE,
+ OccurrenceSpecification.class, msgs);
+ return basicSetAfter((OccurrenceSpecification) otherEnd, msgs);
+ case UMLPackage.GENERAL_ORDERING__BEFORE :
+ OccurrenceSpecification before = basicGetBefore();
+ if (before != null)
+ msgs = ((InternalEObject) before).eInverseRemove(this,
+ UMLPackage.OCCURRENCE_SPECIFICATION__TO_AFTER,
+ OccurrenceSpecification.class, msgs);
+ return basicSetBefore((OccurrenceSpecification) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.GENERAL_ORDERING__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.GENERAL_ORDERING__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.GENERAL_ORDERING__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.GENERAL_ORDERING__AFTER :
+ return basicSetAfter(null, msgs);
+ case UMLPackage.GENERAL_ORDERING__BEFORE :
+ return basicSetBefore(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.GENERAL_ORDERING__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.GENERAL_ORDERING__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.GENERAL_ORDERING__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.GENERAL_ORDERING__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.GENERAL_ORDERING__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.GENERAL_ORDERING__NAME :
+ return getName();
+ case UMLPackage.GENERAL_ORDERING__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.GENERAL_ORDERING__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.GENERAL_ORDERING__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.GENERAL_ORDERING__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.GENERAL_ORDERING__AFTER :
+ if (resolve)
+ return getAfter();
+ return basicGetAfter();
+ case UMLPackage.GENERAL_ORDERING__BEFORE :
+ if (resolve)
+ return getBefore();
+ return basicGetBefore();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.GENERAL_ORDERING__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.GENERAL_ORDERING__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.GENERAL_ORDERING__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.GENERAL_ORDERING__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.GENERAL_ORDERING__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.GENERAL_ORDERING__AFTER :
+ setAfter((OccurrenceSpecification) newValue);
+ return;
+ case UMLPackage.GENERAL_ORDERING__BEFORE :
+ setBefore((OccurrenceSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.GENERAL_ORDERING__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.GENERAL_ORDERING__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.GENERAL_ORDERING__NAME :
+ unsetName();
+ return;
+ case UMLPackage.GENERAL_ORDERING__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.GENERAL_ORDERING__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.GENERAL_ORDERING__AFTER :
+ setAfter((OccurrenceSpecification) null);
+ return;
+ case UMLPackage.GENERAL_ORDERING__BEFORE :
+ setBefore((OccurrenceSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.GENERAL_ORDERING__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.GENERAL_ORDERING__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.GENERAL_ORDERING__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.GENERAL_ORDERING__OWNER :
+ return isSetOwner();
+ case UMLPackage.GENERAL_ORDERING__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.GENERAL_ORDERING__NAME :
+ return isSetName();
+ case UMLPackage.GENERAL_ORDERING__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.GENERAL_ORDERING__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.GENERAL_ORDERING__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.GENERAL_ORDERING__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.GENERAL_ORDERING__AFTER :
+ return basicGetAfter() != null;
+ case UMLPackage.GENERAL_ORDERING__BEFORE :
+ return basicGetBefore() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.GENERAL_ORDERING___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GENERAL_ORDERING___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GENERAL_ORDERING___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.GENERAL_ORDERING___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.GENERAL_ORDERING___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.GENERAL_ORDERING___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.GENERAL_ORDERING___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.GENERAL_ORDERING___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___GET_MODEL :
+ return getModel();
+ case UMLPackage.GENERAL_ORDERING___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.GENERAL_ORDERING___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.GENERAL_ORDERING___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.GENERAL_ORDERING___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.GENERAL_ORDERING___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.GENERAL_ORDERING___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.GENERAL_ORDERING___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.GENERAL_ORDERING___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.GENERAL_ORDERING___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.GENERAL_ORDERING___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.GENERAL_ORDERING___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.GENERAL_ORDERING___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GENERAL_ORDERING___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GENERAL_ORDERING___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GENERAL_ORDERING___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___GET_LABEL :
+ return getLabel();
+ case UMLPackage.GENERAL_ORDERING___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.GENERAL_ORDERING___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.GENERAL_ORDERING___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.GENERAL_ORDERING___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.GENERAL_ORDERING___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.GENERAL_ORDERING___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.GENERAL_ORDERING___SEPARATOR :
+ return separator();
+ case UMLPackage.GENERAL_ORDERING___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.GENERAL_ORDERING___VALIDATE_IRREFLEXIVE_TRANSITIVE_CLOSURE__DIAGNOSTICCHAIN_MAP :
+ return validateIrreflexiveTransitiveClosure(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //GeneralOrderingImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GeneralizationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GeneralizationImpl.java
new file mode 100644
index 00000000..b2c3d500
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GeneralizationImpl.java
@@ -0,0 +1,570 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Generalization</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.GeneralizationImpl#getTargets <em>Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.GeneralizationImpl#getSources <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.GeneralizationImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.GeneralizationImpl#getGeneral <em>General</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.GeneralizationImpl#getGeneralizationSets <em>Generalization Set</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.GeneralizationImpl#isSubstitutable <em>Is Substitutable</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.GeneralizationImpl#getSpecific <em>Specific</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GeneralizationImpl
+ extends DirectedRelationshipImpl
+ implements Generalization {
+
+ /**
+ * The default value of the '{@link #isSubstitutable() <em>Is Substitutable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSubstitutable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_SUBSTITUTABLE_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GeneralizationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.GENERALIZATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getTargets() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> targets = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET);
+ if (targets == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET,
+ targets = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.GENERALIZATION__TARGET,
+ TARGET_ESUBSETS));
+ }
+ return targets;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.GENERALIZATION__TARGET, TARGET_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getSources() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> sources = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE);
+ if (sources == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE,
+ sources = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.GENERALIZATION__SOURCE,
+ SOURCE_ESUBSETS));
+ }
+ return sources;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.GENERALIZATION__SOURCE, SOURCE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSubstitutable() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.GENERALIZATION__IS_SUBSTITUTABLE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION__IS_SUBSTITUTABLE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsSubstitutable(boolean newIsSubstitutable) {
+ eDynamicSet(
+ UMLPackage.GENERALIZATION__IS_SUBSTITUTABLE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION__IS_SUBSTITUTABLE,
+ newIsSubstitutable);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getGeneral() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.GENERALIZATION__GENERAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION__GENERAL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier basicGetGeneral() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.GENERALIZATION__GENERAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION__GENERAL, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGeneral(Classifier newGeneral) {
+ eDynamicSet(UMLPackage.GENERALIZATION__GENERAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION__GENERAL, newGeneral);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<GeneralizationSet> getGeneralizationSets() {
+ return (EList<GeneralizationSet>) eDynamicGet(
+ UMLPackage.GENERALIZATION__GENERALIZATION_SET
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION__GENERALIZATION_SET, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralizationSet getGeneralizationSet(String name) {
+ return getGeneralizationSet(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralizationSet getGeneralizationSet(String name,
+ boolean ignoreCase) {
+ generalizationSetLoop : for (GeneralizationSet generalizationSet : getGeneralizationSets()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(generalizationSet.getName())
+ : name.equals(generalizationSet.getName())))
+ continue generalizationSetLoop;
+ return generalizationSet;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getSpecific() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.GENERALIZATION__SPECIFIC - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION__SPECIFIC, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier basicGetSpecific() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.GENERALIZATION__SPECIFIC - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION__SPECIFIC, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSpecific(Classifier newSpecific,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newSpecific,
+ UMLPackage.GENERALIZATION__SPECIFIC, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSpecific(Classifier newSpecific) {
+ eDynamicSet(UMLPackage.GENERALIZATION__SPECIFIC - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION__SPECIFIC, newSpecific);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.GENERALIZATION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.GENERALIZATION__GENERALIZATION_SET :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizationSets())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.GENERALIZATION__SPECIFIC :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetSpecific((Classifier) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.GENERALIZATION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.GENERALIZATION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.GENERALIZATION__GENERALIZATION_SET :
+ return ((InternalEList<?>) getGeneralizationSets())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.GENERALIZATION__SPECIFIC :
+ return basicSetSpecific(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.GENERALIZATION__SPECIFIC :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.CLASSIFIER__GENERALIZATION, Classifier.class,
+ msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.GENERALIZATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.GENERALIZATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.GENERALIZATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.GENERALIZATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.GENERALIZATION__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.GENERALIZATION__SOURCE :
+ return getSources();
+ case UMLPackage.GENERALIZATION__TARGET :
+ return getTargets();
+ case UMLPackage.GENERALIZATION__GENERAL :
+ if (resolve)
+ return getGeneral();
+ return basicGetGeneral();
+ case UMLPackage.GENERALIZATION__GENERALIZATION_SET :
+ return getGeneralizationSets();
+ case UMLPackage.GENERALIZATION__IS_SUBSTITUTABLE :
+ return isSubstitutable();
+ case UMLPackage.GENERALIZATION__SPECIFIC :
+ if (resolve)
+ return getSpecific();
+ return basicGetSpecific();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.GENERALIZATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.GENERALIZATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.GENERALIZATION__GENERAL :
+ setGeneral((Classifier) newValue);
+ return;
+ case UMLPackage.GENERALIZATION__GENERALIZATION_SET :
+ getGeneralizationSets().clear();
+ getGeneralizationSets()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.GENERALIZATION__IS_SUBSTITUTABLE :
+ setIsSubstitutable((Boolean) newValue);
+ return;
+ case UMLPackage.GENERALIZATION__SPECIFIC :
+ setSpecific((Classifier) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.GENERALIZATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.GENERALIZATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.GENERALIZATION__GENERAL :
+ setGeneral((Classifier) null);
+ return;
+ case UMLPackage.GENERALIZATION__GENERALIZATION_SET :
+ getGeneralizationSets().clear();
+ return;
+ case UMLPackage.GENERALIZATION__IS_SUBSTITUTABLE :
+ setIsSubstitutable(IS_SUBSTITUTABLE_EDEFAULT);
+ return;
+ case UMLPackage.GENERALIZATION__SPECIFIC :
+ setSpecific((Classifier) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.GENERALIZATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.GENERALIZATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.GENERALIZATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.GENERALIZATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.GENERALIZATION__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.GENERALIZATION__SOURCE :
+ return isSetSources();
+ case UMLPackage.GENERALIZATION__TARGET :
+ return isSetTargets();
+ case UMLPackage.GENERALIZATION__GENERAL :
+ return basicGetGeneral() != null;
+ case UMLPackage.GENERALIZATION__GENERALIZATION_SET :
+ return !getGeneralizationSets().isEmpty();
+ case UMLPackage.GENERALIZATION__IS_SUBSTITUTABLE :
+ return isSubstitutable() != IS_SUBSTITUTABLE_EDEFAULT;
+ case UMLPackage.GENERALIZATION__SPECIFIC :
+ return basicGetSpecific() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getTargets() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] TARGET_ESUBSETS = new int[]{
+ UMLPackage.GENERALIZATION__GENERAL};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetTargets() {
+ return super.isSetTargets()
+ || eIsSet(UMLPackage.GENERALIZATION__GENERAL);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSources() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSources()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SOURCE_ESUBSETS = new int[]{
+ UMLPackage.GENERALIZATION__SPECIFIC};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetSources() {
+ return super.isSetSources()
+ || eIsSet(UMLPackage.GENERALIZATION__SPECIFIC);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ Classifier specific = basicGetSpecific();
+ if (specific != null) {
+ return specific;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.GENERALIZATION__SPECIFIC);
+ }
+
+} //GeneralizationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GeneralizationSetImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GeneralizationSetImpl.java
new file mode 100644
index 00000000..3063eaf9
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/GeneralizationSetImpl.java
@@ -0,0 +1,665 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.GeneralizationSetOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Generalization Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.GeneralizationSetImpl#isCovering <em>Is Covering</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.GeneralizationSetImpl#isDisjoint <em>Is Disjoint</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.GeneralizationSetImpl#getPowertype <em>Powertype</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.GeneralizationSetImpl#getGeneralizations <em>Generalization</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GeneralizationSetImpl
+ extends PackageableElementImpl
+ implements GeneralizationSet {
+
+ /**
+ * The default value of the '{@link #isCovering() <em>Is Covering</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCovering()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_COVERING_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isDisjoint() <em>Is Disjoint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisjoint()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DISJOINT_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GeneralizationSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.GENERALIZATION_SET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCovering() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.GENERALIZATION_SET__IS_COVERING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION_SET__IS_COVERING, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsCovering(boolean newIsCovering) {
+ eDynamicSet(
+ UMLPackage.GENERALIZATION_SET__IS_COVERING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION_SET__IS_COVERING, newIsCovering);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDisjoint() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.GENERALIZATION_SET__IS_DISJOINT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION_SET__IS_DISJOINT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDisjoint(boolean newIsDisjoint) {
+ eDynamicSet(
+ UMLPackage.GENERALIZATION_SET__IS_DISJOINT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION_SET__IS_DISJOINT, newIsDisjoint);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getPowertype() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.GENERALIZATION_SET__POWERTYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION_SET__POWERTYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier basicGetPowertype() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.GENERALIZATION_SET__POWERTYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION_SET__POWERTYPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPowertype(Classifier newPowertype,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newPowertype,
+ UMLPackage.GENERALIZATION_SET__POWERTYPE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPowertype(Classifier newPowertype) {
+ eDynamicSet(
+ UMLPackage.GENERALIZATION_SET__POWERTYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION_SET__POWERTYPE, newPowertype);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Generalization> getGeneralizations() {
+ return (EList<Generalization>) eDynamicGet(
+ UMLPackage.GENERALIZATION_SET__GENERALIZATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.GENERALIZATION_SET__GENERALIZATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Generalization getGeneralization(Classifier general) {
+ generalizationLoop : for (Generalization generalization : getGeneralizations()) {
+ if (general != null && !general.equals(generalization.getGeneral()))
+ continue generalizationLoop;
+ return generalization;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGeneralizationSameClassifier(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return GeneralizationSetOperations
+ .validateGeneralizationSameClassifier(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMapsToGeneralizationSet(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return GeneralizationSetOperations.validateMapsToGeneralizationSet(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.GENERALIZATION_SET__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.GENERALIZATION_SET__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.GENERALIZATION_SET__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.GENERALIZATION_SET__POWERTYPE :
+ Classifier powertype = basicGetPowertype();
+ if (powertype != null)
+ msgs = ((InternalEObject) powertype).eInverseRemove(this,
+ UMLPackage.CLASSIFIER__POWERTYPE_EXTENT,
+ Classifier.class, msgs);
+ return basicSetPowertype((Classifier) otherEnd, msgs);
+ case UMLPackage.GENERALIZATION_SET__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.GENERALIZATION_SET__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.GENERALIZATION_SET__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.GENERALIZATION_SET__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.GENERALIZATION_SET__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.GENERALIZATION_SET__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.GENERALIZATION_SET__POWERTYPE :
+ return basicSetPowertype(null, msgs);
+ case UMLPackage.GENERALIZATION_SET__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.GENERALIZATION_SET__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.GENERALIZATION_SET__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.GENERALIZATION_SET__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.GENERALIZATION_SET__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.GENERALIZATION_SET__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.GENERALIZATION_SET__NAME :
+ return getName();
+ case UMLPackage.GENERALIZATION_SET__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.GENERALIZATION_SET__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.GENERALIZATION_SET__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.GENERALIZATION_SET__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.GENERALIZATION_SET__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.GENERALIZATION_SET__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.GENERALIZATION_SET__IS_COVERING :
+ return isCovering();
+ case UMLPackage.GENERALIZATION_SET__IS_DISJOINT :
+ return isDisjoint();
+ case UMLPackage.GENERALIZATION_SET__POWERTYPE :
+ if (resolve)
+ return getPowertype();
+ return basicGetPowertype();
+ case UMLPackage.GENERALIZATION_SET__GENERALIZATION :
+ return getGeneralizations();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.GENERALIZATION_SET__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.GENERALIZATION_SET__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.GENERALIZATION_SET__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.GENERALIZATION_SET__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.GENERALIZATION_SET__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.GENERALIZATION_SET__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.GENERALIZATION_SET__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.GENERALIZATION_SET__IS_COVERING :
+ setIsCovering((Boolean) newValue);
+ return;
+ case UMLPackage.GENERALIZATION_SET__IS_DISJOINT :
+ setIsDisjoint((Boolean) newValue);
+ return;
+ case UMLPackage.GENERALIZATION_SET__POWERTYPE :
+ setPowertype((Classifier) newValue);
+ return;
+ case UMLPackage.GENERALIZATION_SET__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.GENERALIZATION_SET__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.GENERALIZATION_SET__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.GENERALIZATION_SET__NAME :
+ unsetName();
+ return;
+ case UMLPackage.GENERALIZATION_SET__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.GENERALIZATION_SET__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.GENERALIZATION_SET__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.GENERALIZATION_SET__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.GENERALIZATION_SET__IS_COVERING :
+ setIsCovering(IS_COVERING_EDEFAULT);
+ return;
+ case UMLPackage.GENERALIZATION_SET__IS_DISJOINT :
+ setIsDisjoint(IS_DISJOINT_EDEFAULT);
+ return;
+ case UMLPackage.GENERALIZATION_SET__POWERTYPE :
+ setPowertype((Classifier) null);
+ return;
+ case UMLPackage.GENERALIZATION_SET__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.GENERALIZATION_SET__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.GENERALIZATION_SET__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.GENERALIZATION_SET__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.GENERALIZATION_SET__OWNER :
+ return isSetOwner();
+ case UMLPackage.GENERALIZATION_SET__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.GENERALIZATION_SET__NAME :
+ return isSetName();
+ case UMLPackage.GENERALIZATION_SET__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.GENERALIZATION_SET__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.GENERALIZATION_SET__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.GENERALIZATION_SET__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.GENERALIZATION_SET__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.GENERALIZATION_SET__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.GENERALIZATION_SET__IS_COVERING :
+ return isCovering() != IS_COVERING_EDEFAULT;
+ case UMLPackage.GENERALIZATION_SET__IS_DISJOINT :
+ return isDisjoint() != IS_DISJOINT_EDEFAULT;
+ case UMLPackage.GENERALIZATION_SET__POWERTYPE :
+ return basicGetPowertype() != null;
+ case UMLPackage.GENERALIZATION_SET__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.GENERALIZATION_SET___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GENERALIZATION_SET___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GENERALIZATION_SET___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.GENERALIZATION_SET___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.GENERALIZATION_SET___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.GENERALIZATION_SET___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.GENERALIZATION_SET___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.GENERALIZATION_SET___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___GET_MODEL :
+ return getModel();
+ case UMLPackage.GENERALIZATION_SET___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.GENERALIZATION_SET___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.GENERALIZATION_SET___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.GENERALIZATION_SET___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.GENERALIZATION_SET___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.GENERALIZATION_SET___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.GENERALIZATION_SET___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.GENERALIZATION_SET___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.GENERALIZATION_SET___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.GENERALIZATION_SET___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.GENERALIZATION_SET___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.GENERALIZATION_SET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GENERALIZATION_SET___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GENERALIZATION_SET___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GENERALIZATION_SET___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___GET_LABEL :
+ return getLabel();
+ case UMLPackage.GENERALIZATION_SET___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.GENERALIZATION_SET___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.GENERALIZATION_SET___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.GENERALIZATION_SET___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.GENERALIZATION_SET___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.GENERALIZATION_SET___SEPARATOR :
+ return separator();
+ case UMLPackage.GENERALIZATION_SET___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.GENERALIZATION_SET___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.GENERALIZATION_SET___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.GENERALIZATION_SET___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GENERALIZATION_SET___VALIDATE_GENERALIZATION_SAME_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateGeneralizationSameClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.GENERALIZATION_SET___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //GeneralizationSetImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ImageImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ImageImpl.java
new file mode 100644
index 00000000..b6e00e9a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ImageImpl.java
@@ -0,0 +1,329 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 451350, 485756
+ * Kenn Hussey - 519572
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Image</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ImageImpl#getContent <em>Content</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ImageImpl#getFormat <em>Format</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ImageImpl#getLocation <em>Location</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ImageImpl
+ extends ElementImpl
+ implements Image {
+
+ /**
+ * The default value of the '{@link #getContent() <em>Content</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContent()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONTENT_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getFormat() <em>Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFormat()
+ * @generated
+ * @ordered
+ */
+ protected static final String FORMAT_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getLocation() <em>Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocation()
+ * @generated
+ * @ordered
+ */
+ protected static final String LOCATION_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.IMAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getContent() {
+ return (String) eDynamicGet(
+ UMLPackage.IMAGE__CONTENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.IMAGE__CONTENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setContent(String newContent) {
+ eDynamicSet(UMLPackage.IMAGE__CONTENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.IMAGE__CONTENT, newContent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetContent() {
+ eDynamicUnset(UMLPackage.IMAGE__CONTENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.IMAGE__CONTENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetContent() {
+ return eDynamicIsSet(UMLPackage.IMAGE__CONTENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.IMAGE__CONTENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLocation() {
+ return (String) eDynamicGet(
+ UMLPackage.IMAGE__LOCATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.IMAGE__LOCATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLocation(String newLocation) {
+ eDynamicSet(UMLPackage.IMAGE__LOCATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.IMAGE__LOCATION, newLocation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetLocation() {
+ eDynamicUnset(UMLPackage.IMAGE__LOCATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.IMAGE__LOCATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetLocation() {
+ return eDynamicIsSet(UMLPackage.IMAGE__LOCATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.IMAGE__LOCATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFormat() {
+ return (String) eDynamicGet(
+ UMLPackage.IMAGE__FORMAT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.IMAGE__FORMAT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFormat(String newFormat) {
+ eDynamicSet(UMLPackage.IMAGE__FORMAT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.IMAGE__FORMAT, newFormat);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetFormat() {
+ eDynamicUnset(UMLPackage.IMAGE__FORMAT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.IMAGE__FORMAT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetFormat() {
+ return eDynamicIsSet(UMLPackage.IMAGE__FORMAT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.IMAGE__FORMAT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.IMAGE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.IMAGE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.IMAGE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.IMAGE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.IMAGE__CONTENT :
+ return getContent();
+ case UMLPackage.IMAGE__FORMAT :
+ return getFormat();
+ case UMLPackage.IMAGE__LOCATION :
+ return getLocation();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.IMAGE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.IMAGE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.IMAGE__CONTENT :
+ setContent((String) newValue);
+ return;
+ case UMLPackage.IMAGE__FORMAT :
+ setFormat((String) newValue);
+ return;
+ case UMLPackage.IMAGE__LOCATION :
+ setLocation((String) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.IMAGE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.IMAGE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.IMAGE__CONTENT :
+ unsetContent();
+ return;
+ case UMLPackage.IMAGE__FORMAT :
+ unsetFormat();
+ return;
+ case UMLPackage.IMAGE__LOCATION :
+ unsetLocation();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.IMAGE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.IMAGE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.IMAGE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.IMAGE__OWNER :
+ return isSetOwner();
+ case UMLPackage.IMAGE__CONTENT :
+ return isSetContent();
+ case UMLPackage.IMAGE__FORMAT :
+ return isSetFormat();
+ case UMLPackage.IMAGE__LOCATION :
+ return isSetLocation();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //ImageImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/IncludeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/IncludeImpl.java
new file mode 100644
index 00000000..1e8edab9
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/IncludeImpl.java
@@ -0,0 +1,619 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Include</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.IncludeImpl#getRelatedElements <em>Related Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.IncludeImpl#getSources <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.IncludeImpl#getTargets <em>Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.IncludeImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.IncludeImpl#getAddition <em>Addition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.IncludeImpl#getIncludingCase <em>Including Case</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IncludeImpl
+ extends NamedElementImpl
+ implements Include {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IncludeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INCLUDE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getRelatedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> relatedElements = (EList<Element>) cache.get(
+ eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT);
+ if (relatedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT,
+ relatedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.INCLUDE__RELATED_ELEMENT,
+ RELATED_ELEMENT_ESUBSETS));
+ }
+ return relatedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.INCLUDE__RELATED_ELEMENT, RELATED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getSources() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> sources = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE);
+ if (sources == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE,
+ sources = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.INCLUDE__SOURCE,
+ SOURCE_ESUBSETS));
+ }
+ return sources;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.INCLUDE__SOURCE, SOURCE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getTargets() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> targets = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET);
+ if (targets == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET,
+ targets = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.INCLUDE__TARGET,
+ TARGET_ESUBSETS));
+ }
+ return targets;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.INCLUDE__TARGET, TARGET_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase getAddition() {
+ return (UseCase) eDynamicGet(
+ UMLPackage.INCLUDE__ADDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INCLUDE__ADDITION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase basicGetAddition() {
+ return (UseCase) eDynamicGet(
+ UMLPackage.INCLUDE__ADDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INCLUDE__ADDITION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAddition(UseCase newAddition) {
+ eDynamicSet(UMLPackage.INCLUDE__ADDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INCLUDE__ADDITION, newAddition);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase getIncludingCase() {
+ return (UseCase) eDynamicGet(
+ UMLPackage.INCLUDE__INCLUDING_CASE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INCLUDE__INCLUDING_CASE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase basicGetIncludingCase() {
+ return (UseCase) eDynamicGet(
+ UMLPackage.INCLUDE__INCLUDING_CASE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INCLUDE__INCLUDING_CASE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIncludingCase(UseCase newIncludingCase,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newIncludingCase,
+ UMLPackage.INCLUDE__INCLUDING_CASE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIncludingCase(UseCase newIncludingCase) {
+ eDynamicSet(UMLPackage.INCLUDE__INCLUDING_CASE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INCLUDE__INCLUDING_CASE, newIncludingCase);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INCLUDE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INCLUDE__INCLUDING_CASE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetIncludingCase((UseCase) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INCLUDE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INCLUDE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INCLUDE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.INCLUDE__INCLUDING_CASE :
+ return basicSetIncludingCase(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.INCLUDE__INCLUDING_CASE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.USE_CASE__INCLUDE, UseCase.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INCLUDE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INCLUDE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INCLUDE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INCLUDE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INCLUDE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INCLUDE__NAME :
+ return getName();
+ case UMLPackage.INCLUDE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INCLUDE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INCLUDE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INCLUDE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INCLUDE__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.INCLUDE__SOURCE :
+ return getSources();
+ case UMLPackage.INCLUDE__TARGET :
+ return getTargets();
+ case UMLPackage.INCLUDE__ADDITION :
+ if (resolve)
+ return getAddition();
+ return basicGetAddition();
+ case UMLPackage.INCLUDE__INCLUDING_CASE :
+ if (resolve)
+ return getIncludingCase();
+ return basicGetIncludingCase();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INCLUDE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INCLUDE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INCLUDE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INCLUDE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INCLUDE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INCLUDE__ADDITION :
+ setAddition((UseCase) newValue);
+ return;
+ case UMLPackage.INCLUDE__INCLUDING_CASE :
+ setIncludingCase((UseCase) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INCLUDE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INCLUDE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INCLUDE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INCLUDE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INCLUDE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INCLUDE__ADDITION :
+ setAddition((UseCase) null);
+ return;
+ case UMLPackage.INCLUDE__INCLUDING_CASE :
+ setIncludingCase((UseCase) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INCLUDE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INCLUDE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INCLUDE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INCLUDE__OWNER :
+ return isSetOwner();
+ case UMLPackage.INCLUDE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INCLUDE__NAME :
+ return isSetName();
+ case UMLPackage.INCLUDE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INCLUDE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INCLUDE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INCLUDE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INCLUDE__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.INCLUDE__SOURCE :
+ return isSetSources();
+ case UMLPackage.INCLUDE__TARGET :
+ return isSetTargets();
+ case UMLPackage.INCLUDE__ADDITION :
+ return basicGetAddition() != null;
+ case UMLPackage.INCLUDE__INCLUDING_CASE :
+ return basicGetIncludingCase() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Relationship.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.INCLUDE__RELATED_ELEMENT :
+ return UMLPackage.RELATIONSHIP__RELATED_ELEMENT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DirectedRelationship.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.INCLUDE__SOURCE :
+ return UMLPackage.DIRECTED_RELATIONSHIP__SOURCE;
+ case UMLPackage.INCLUDE__TARGET :
+ return UMLPackage.DIRECTED_RELATIONSHIP__TARGET;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Relationship.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.RELATIONSHIP__RELATED_ELEMENT :
+ return UMLPackage.INCLUDE__RELATED_ELEMENT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DirectedRelationship.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.DIRECTED_RELATIONSHIP__SOURCE :
+ return UMLPackage.INCLUDE__SOURCE;
+ case UMLPackage.DIRECTED_RELATIONSHIP__TARGET :
+ return UMLPackage.INCLUDE__TARGET;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRelatedElements() <em>Related Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRelatedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] RELATED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.INCLUDE__SOURCE, UMLPackage.INCLUDE__TARGET};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRelatedElements() {
+ return isSetSources() || isSetTargets();
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSources() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSources()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SOURCE_ESUBSETS = new int[]{
+ UMLPackage.INCLUDE__INCLUDING_CASE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSources() {
+ return eIsSet(UMLPackage.INCLUDE__INCLUDING_CASE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getTargets() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] TARGET_ESUBSETS = new int[]{
+ UMLPackage.INCLUDE__ADDITION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ UseCase includingCase = basicGetIncludingCase();
+ if (includingCase != null) {
+ return includingCase;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetTargets() {
+ return eIsSet(UMLPackage.INCLUDE__ADDITION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace()
+ || eIsSet(UMLPackage.INCLUDE__INCLUDING_CASE);
+ }
+
+} //IncludeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InformationFlowImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InformationFlowImpl.java
new file mode 100644
index 00000000..a33cb35b
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InformationFlowImpl.java
@@ -0,0 +1,986 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.InformationFlowOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Information Flow</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InformationFlowImpl#getRelatedElements <em>Related Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InformationFlowImpl#getSources <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InformationFlowImpl#getTargets <em>Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InformationFlowImpl#getConveyeds <em>Conveyed</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InformationFlowImpl#getInformationSources <em>Information Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InformationFlowImpl#getInformationTargets <em>Information Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InformationFlowImpl#getRealizations <em>Realization</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InformationFlowImpl#getRealizingActivityEdges <em>Realizing Activity Edge</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InformationFlowImpl#getRealizingConnectors <em>Realizing Connector</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InformationFlowImpl#getRealizingMessages <em>Realizing Message</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InformationFlowImpl
+ extends PackageableElementImpl
+ implements InformationFlow {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InformationFlowImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INFORMATION_FLOW;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getRelatedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> relatedElements = (EList<Element>) cache.get(
+ eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT);
+ if (relatedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT,
+ relatedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.INFORMATION_FLOW__RELATED_ELEMENT,
+ RELATED_ELEMENT_ESUBSETS));
+ }
+ return relatedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.INFORMATION_FLOW__RELATED_ELEMENT,
+ RELATED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getSources() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> sources = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE);
+ if (sources == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE,
+ sources = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.INFORMATION_FLOW__SOURCE, SOURCE_ESUBSETS));
+ }
+ return sources;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.INFORMATION_FLOW__SOURCE, SOURCE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getTargets() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> targets = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET);
+ if (targets == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET,
+ targets = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.INFORMATION_FLOW__TARGET, TARGET_ESUBSETS));
+ }
+ return targets;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.INFORMATION_FLOW__TARGET, TARGET_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Relationship> getRealizations() {
+ return (EList<Relationship>) eDynamicGet(
+ UMLPackage.INFORMATION_FLOW__REALIZATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INFORMATION_FLOW__REALIZATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getConveyeds() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.INFORMATION_FLOW__CONVEYED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INFORMATION_FLOW__CONVEYED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getConveyed(String name) {
+ return getConveyed(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getConveyed(String name, boolean ignoreCase,
+ EClass eClass) {
+ conveyedLoop : for (Classifier conveyed : getConveyeds()) {
+ if (eClass != null && !eClass.isInstance(conveyed))
+ continue conveyedLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(conveyed.getName())
+ : name.equals(conveyed.getName())))
+ continue conveyedLoop;
+ return conveyed;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getInformationSources() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.INFORMATION_FLOW__INFORMATION_SOURCE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INFORMATION_FLOW__INFORMATION_SOURCE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getInformationSource(String name) {
+ return getInformationSource(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getInformationSource(String name, boolean ignoreCase,
+ EClass eClass) {
+ informationSourceLoop : for (NamedElement informationSource : getInformationSources()) {
+ if (eClass != null && !eClass.isInstance(informationSource))
+ continue informationSourceLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(informationSource.getName())
+ : name.equals(informationSource.getName())))
+ continue informationSourceLoop;
+ return informationSource;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getInformationTargets() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.INFORMATION_FLOW__INFORMATION_TARGET
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INFORMATION_FLOW__INFORMATION_TARGET, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getInformationTarget(String name) {
+ return getInformationTarget(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getInformationTarget(String name, boolean ignoreCase,
+ EClass eClass) {
+ informationTargetLoop : for (NamedElement informationTarget : getInformationTargets()) {
+ if (eClass != null && !eClass.isInstance(informationTarget))
+ continue informationTargetLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(informationTarget.getName())
+ : name.equals(informationTarget.getName())))
+ continue informationTargetLoop;
+ return informationTarget;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityEdge> getRealizingActivityEdges() {
+ return (EList<ActivityEdge>) eDynamicGet(
+ UMLPackage.INFORMATION_FLOW__REALIZING_ACTIVITY_EDGE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INFORMATION_FLOW__REALIZING_ACTIVITY_EDGE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getRealizingActivityEdge(String name) {
+ return getRealizingActivityEdge(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getRealizingActivityEdge(String name,
+ boolean ignoreCase, EClass eClass) {
+ realizingActivityEdgeLoop : for (ActivityEdge realizingActivityEdge : getRealizingActivityEdges()) {
+ if (eClass != null && !eClass.isInstance(realizingActivityEdge))
+ continue realizingActivityEdgeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(realizingActivityEdge.getName())
+ : name.equals(realizingActivityEdge.getName())))
+ continue realizingActivityEdgeLoop;
+ return realizingActivityEdge;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Connector> getRealizingConnectors() {
+ return (EList<Connector>) eDynamicGet(
+ UMLPackage.INFORMATION_FLOW__REALIZING_CONNECTOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INFORMATION_FLOW__REALIZING_CONNECTOR, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Connector getRealizingConnector(String name) {
+ return getRealizingConnector(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Connector getRealizingConnector(String name, boolean ignoreCase) {
+ realizingConnectorLoop : for (Connector realizingConnector : getRealizingConnectors()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(realizingConnector.getName())
+ : name.equals(realizingConnector.getName())))
+ continue realizingConnectorLoop;
+ return realizingConnector;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Message> getRealizingMessages() {
+ return (EList<Message>) eDynamicGet(
+ UMLPackage.INFORMATION_FLOW__REALIZING_MESSAGE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INFORMATION_FLOW__REALIZING_MESSAGE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Message getRealizingMessage(String name) {
+ return getRealizingMessage(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Message getRealizingMessage(String name, boolean ignoreCase) {
+ realizingMessageLoop : for (Message realizingMessage : getRealizingMessages()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(realizingMessage.getName())
+ : name.equals(realizingMessage.getName())))
+ continue realizingMessageLoop;
+ return realizingMessage;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSourcesAndTargetsKind(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InformationFlowOperations.validateSourcesAndTargetsKind(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMustConform(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InformationFlowOperations.validateMustConform(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConveyClassifiers(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InformationFlowOperations.validateConveyClassifiers(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INFORMATION_FLOW__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INFORMATION_FLOW__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INFORMATION_FLOW__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INFORMATION_FLOW__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INFORMATION_FLOW__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INFORMATION_FLOW__NAME :
+ return getName();
+ case UMLPackage.INFORMATION_FLOW__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INFORMATION_FLOW__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INFORMATION_FLOW__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INFORMATION_FLOW__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INFORMATION_FLOW__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.INFORMATION_FLOW__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.INFORMATION_FLOW__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.INFORMATION_FLOW__SOURCE :
+ return getSources();
+ case UMLPackage.INFORMATION_FLOW__TARGET :
+ return getTargets();
+ case UMLPackage.INFORMATION_FLOW__CONVEYED :
+ return getConveyeds();
+ case UMLPackage.INFORMATION_FLOW__INFORMATION_SOURCE :
+ return getInformationSources();
+ case UMLPackage.INFORMATION_FLOW__INFORMATION_TARGET :
+ return getInformationTargets();
+ case UMLPackage.INFORMATION_FLOW__REALIZATION :
+ return getRealizations();
+ case UMLPackage.INFORMATION_FLOW__REALIZING_ACTIVITY_EDGE :
+ return getRealizingActivityEdges();
+ case UMLPackage.INFORMATION_FLOW__REALIZING_CONNECTOR :
+ return getRealizingConnectors();
+ case UMLPackage.INFORMATION_FLOW__REALIZING_MESSAGE :
+ return getRealizingMessages();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INFORMATION_FLOW__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INFORMATION_FLOW__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INFORMATION_FLOW__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INFORMATION_FLOW__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INFORMATION_FLOW__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INFORMATION_FLOW__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INFORMATION_FLOW__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INFORMATION_FLOW__CONVEYED :
+ getConveyeds().clear();
+ getConveyeds()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.INFORMATION_FLOW__INFORMATION_SOURCE :
+ getInformationSources().clear();
+ getInformationSources()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.INFORMATION_FLOW__INFORMATION_TARGET :
+ getInformationTargets().clear();
+ getInformationTargets()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.INFORMATION_FLOW__REALIZATION :
+ getRealizations().clear();
+ getRealizations()
+ .addAll((Collection<? extends Relationship>) newValue);
+ return;
+ case UMLPackage.INFORMATION_FLOW__REALIZING_ACTIVITY_EDGE :
+ getRealizingActivityEdges().clear();
+ getRealizingActivityEdges()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.INFORMATION_FLOW__REALIZING_CONNECTOR :
+ getRealizingConnectors().clear();
+ getRealizingConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.INFORMATION_FLOW__REALIZING_MESSAGE :
+ getRealizingMessages().clear();
+ getRealizingMessages()
+ .addAll((Collection<? extends Message>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INFORMATION_FLOW__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INFORMATION_FLOW__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INFORMATION_FLOW__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INFORMATION_FLOW__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INFORMATION_FLOW__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INFORMATION_FLOW__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INFORMATION_FLOW__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INFORMATION_FLOW__CONVEYED :
+ getConveyeds().clear();
+ return;
+ case UMLPackage.INFORMATION_FLOW__INFORMATION_SOURCE :
+ getInformationSources().clear();
+ return;
+ case UMLPackage.INFORMATION_FLOW__INFORMATION_TARGET :
+ getInformationTargets().clear();
+ return;
+ case UMLPackage.INFORMATION_FLOW__REALIZATION :
+ getRealizations().clear();
+ return;
+ case UMLPackage.INFORMATION_FLOW__REALIZING_ACTIVITY_EDGE :
+ getRealizingActivityEdges().clear();
+ return;
+ case UMLPackage.INFORMATION_FLOW__REALIZING_CONNECTOR :
+ getRealizingConnectors().clear();
+ return;
+ case UMLPackage.INFORMATION_FLOW__REALIZING_MESSAGE :
+ getRealizingMessages().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INFORMATION_FLOW__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INFORMATION_FLOW__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INFORMATION_FLOW__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INFORMATION_FLOW__OWNER :
+ return isSetOwner();
+ case UMLPackage.INFORMATION_FLOW__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INFORMATION_FLOW__NAME :
+ return isSetName();
+ case UMLPackage.INFORMATION_FLOW__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INFORMATION_FLOW__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INFORMATION_FLOW__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INFORMATION_FLOW__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INFORMATION_FLOW__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.INFORMATION_FLOW__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.INFORMATION_FLOW__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.INFORMATION_FLOW__SOURCE :
+ return isSetSources();
+ case UMLPackage.INFORMATION_FLOW__TARGET :
+ return isSetTargets();
+ case UMLPackage.INFORMATION_FLOW__CONVEYED :
+ return !getConveyeds().isEmpty();
+ case UMLPackage.INFORMATION_FLOW__INFORMATION_SOURCE :
+ return !getInformationSources().isEmpty();
+ case UMLPackage.INFORMATION_FLOW__INFORMATION_TARGET :
+ return !getInformationTargets().isEmpty();
+ case UMLPackage.INFORMATION_FLOW__REALIZATION :
+ return !getRealizations().isEmpty();
+ case UMLPackage.INFORMATION_FLOW__REALIZING_ACTIVITY_EDGE :
+ return !getRealizingActivityEdges().isEmpty();
+ case UMLPackage.INFORMATION_FLOW__REALIZING_CONNECTOR :
+ return !getRealizingConnectors().isEmpty();
+ case UMLPackage.INFORMATION_FLOW__REALIZING_MESSAGE :
+ return !getRealizingMessages().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Relationship.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.INFORMATION_FLOW__RELATED_ELEMENT :
+ return UMLPackage.RELATIONSHIP__RELATED_ELEMENT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DirectedRelationship.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.INFORMATION_FLOW__SOURCE :
+ return UMLPackage.DIRECTED_RELATIONSHIP__SOURCE;
+ case UMLPackage.INFORMATION_FLOW__TARGET :
+ return UMLPackage.DIRECTED_RELATIONSHIP__TARGET;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Relationship.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.RELATIONSHIP__RELATED_ELEMENT :
+ return UMLPackage.INFORMATION_FLOW__RELATED_ELEMENT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DirectedRelationship.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.DIRECTED_RELATIONSHIP__SOURCE :
+ return UMLPackage.INFORMATION_FLOW__SOURCE;
+ case UMLPackage.DIRECTED_RELATIONSHIP__TARGET :
+ return UMLPackage.INFORMATION_FLOW__TARGET;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.INFORMATION_FLOW___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_FLOW___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_FLOW___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.INFORMATION_FLOW___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.INFORMATION_FLOW___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.INFORMATION_FLOW___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.INFORMATION_FLOW___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INFORMATION_FLOW___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___GET_MODEL :
+ return getModel();
+ case UMLPackage.INFORMATION_FLOW___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.INFORMATION_FLOW___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.INFORMATION_FLOW___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.INFORMATION_FLOW___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.INFORMATION_FLOW___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.INFORMATION_FLOW___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.INFORMATION_FLOW___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INFORMATION_FLOW___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INFORMATION_FLOW___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.INFORMATION_FLOW___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.INFORMATION_FLOW___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.INFORMATION_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_FLOW___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_FLOW___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_FLOW___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___GET_LABEL :
+ return getLabel();
+ case UMLPackage.INFORMATION_FLOW___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.INFORMATION_FLOW___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.INFORMATION_FLOW___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.INFORMATION_FLOW___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.INFORMATION_FLOW___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INFORMATION_FLOW___SEPARATOR :
+ return separator();
+ case UMLPackage.INFORMATION_FLOW___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.INFORMATION_FLOW___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.INFORMATION_FLOW___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.INFORMATION_FLOW___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_FLOW___VALIDATE_MUST_CONFORM__DIAGNOSTICCHAIN_MAP :
+ return validateMustConform((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_FLOW___VALIDATE_SOURCES_AND_TARGETS_KIND__DIAGNOSTICCHAIN_MAP :
+ return validateSourcesAndTargetsKind(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_FLOW___VALIDATE_CONVEY_CLASSIFIERS__DIAGNOSTICCHAIN_MAP :
+ return validateConveyClassifiers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRelatedElements() <em>Related Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRelatedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] RELATED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.INFORMATION_FLOW__SOURCE,
+ UMLPackage.INFORMATION_FLOW__TARGET};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRelatedElements() {
+ return isSetSources() || isSetTargets();
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSources() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSources()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SOURCE_ESUBSETS = new int[]{
+ UMLPackage.INFORMATION_FLOW__INFORMATION_SOURCE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSources() {
+ return eIsSet(UMLPackage.INFORMATION_FLOW__INFORMATION_SOURCE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getTargets() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] TARGET_ESUBSETS = new int[]{
+ UMLPackage.INFORMATION_FLOW__INFORMATION_TARGET};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetTargets() {
+ return eIsSet(UMLPackage.INFORMATION_FLOW__INFORMATION_TARGET);
+ }
+
+} //InformationFlowImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InformationItemImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InformationItemImpl.java
new file mode 100644
index 00000000..17656291
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InformationItemImpl.java
@@ -0,0 +1,862 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.InformationItemOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Information Item</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InformationItemImpl#getRepresenteds <em>Represented</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InformationItemImpl
+ extends ClassifierImpl
+ implements InformationItem {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InformationItemImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INFORMATION_ITEM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getRepresenteds() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.INFORMATION_ITEM__REPRESENTED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INFORMATION_ITEM__REPRESENTED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRepresented(String name) {
+ return getRepresented(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRepresented(String name, boolean ignoreCase,
+ EClass eClass) {
+ representedLoop : for (Classifier represented : getRepresenteds()) {
+ if (eClass != null && !eClass.isInstance(represented))
+ continue representedLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(represented.getName())
+ : name.equals(represented.getName())))
+ continue representedLoop;
+ return represented;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSourcesAndTargets(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InformationItemOperations.validateSourcesAndTargets(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateHasNo(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InformationItemOperations.validateHasNo(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNotInstantiable(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InformationItemOperations.validateNotInstantiable(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INFORMATION_ITEM__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INFORMATION_ITEM__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INFORMATION_ITEM__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INFORMATION_ITEM__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INFORMATION_ITEM__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INFORMATION_ITEM__NAME :
+ return getName();
+ case UMLPackage.INFORMATION_ITEM__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INFORMATION_ITEM__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INFORMATION_ITEM__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INFORMATION_ITEM__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INFORMATION_ITEM__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.INFORMATION_ITEM__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.INFORMATION_ITEM__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.INFORMATION_ITEM__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.INFORMATION_ITEM__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.INFORMATION_ITEM__MEMBER :
+ return getMembers();
+ case UMLPackage.INFORMATION_ITEM__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.INFORMATION_ITEM__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.INFORMATION_ITEM__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.INFORMATION_ITEM__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.INFORMATION_ITEM__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.INFORMATION_ITEM__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.INFORMATION_ITEM__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.INFORMATION_ITEM__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.INFORMATION_ITEM__FEATURE :
+ return getFeatures();
+ case UMLPackage.INFORMATION_ITEM__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.INFORMATION_ITEM__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.INFORMATION_ITEM__GENERAL :
+ return getGenerals();
+ case UMLPackage.INFORMATION_ITEM__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.INFORMATION_ITEM__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.INFORMATION_ITEM__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.INFORMATION_ITEM__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.INFORMATION_ITEM__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.INFORMATION_ITEM__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.INFORMATION_ITEM__USE_CASE :
+ return getUseCases();
+ case UMLPackage.INFORMATION_ITEM__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.INFORMATION_ITEM__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.INFORMATION_ITEM__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.INFORMATION_ITEM__REPRESENTED :
+ return getRepresenteds();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INFORMATION_ITEM__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.INFORMATION_ITEM__REPRESENTED :
+ getRepresenteds().clear();
+ getRepresenteds()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INFORMATION_ITEM__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INFORMATION_ITEM__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INFORMATION_ITEM__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INFORMATION_ITEM__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.INFORMATION_ITEM__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INFORMATION_ITEM__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INFORMATION_ITEM__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.INFORMATION_ITEM__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.INFORMATION_ITEM__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.INFORMATION_ITEM__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.INFORMATION_ITEM__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.INFORMATION_ITEM__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.INFORMATION_ITEM__REPRESENTED :
+ getRepresenteds().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INFORMATION_ITEM__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INFORMATION_ITEM__OWNER :
+ return isSetOwner();
+ case UMLPackage.INFORMATION_ITEM__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__NAME :
+ return isSetName();
+ case UMLPackage.INFORMATION_ITEM__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INFORMATION_ITEM__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INFORMATION_ITEM__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INFORMATION_ITEM__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INFORMATION_ITEM__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.INFORMATION_ITEM__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__MEMBER :
+ return isSetMembers();
+ case UMLPackage.INFORMATION_ITEM__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.INFORMATION_ITEM__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.INFORMATION_ITEM__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.INFORMATION_ITEM__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.INFORMATION_ITEM__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.INFORMATION_ITEM__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.INFORMATION_ITEM__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.INFORMATION_ITEM__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.INFORMATION_ITEM__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.INFORMATION_ITEM__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.INFORMATION_ITEM__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.INFORMATION_ITEM__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.INFORMATION_ITEM__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.INFORMATION_ITEM__REPRESENTED :
+ return !getRepresenteds().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.INFORMATION_ITEM___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.INFORMATION_ITEM___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.INFORMATION_ITEM___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.INFORMATION_ITEM___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.INFORMATION_ITEM___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___GET_MODEL :
+ return getModel();
+ case UMLPackage.INFORMATION_ITEM___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.INFORMATION_ITEM___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.INFORMATION_ITEM___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.INFORMATION_ITEM___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.INFORMATION_ITEM___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.INFORMATION_ITEM___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.INFORMATION_ITEM___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.INFORMATION_ITEM___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.INFORMATION_ITEM___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___GET_LABEL :
+ return getLabel();
+ case UMLPackage.INFORMATION_ITEM___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.INFORMATION_ITEM___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.INFORMATION_ITEM___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.INFORMATION_ITEM___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INFORMATION_ITEM___SEPARATOR :
+ return separator();
+ case UMLPackage.INFORMATION_ITEM___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.INFORMATION_ITEM___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.INFORMATION_ITEM___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.INFORMATION_ITEM___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.INFORMATION_ITEM___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.INFORMATION_ITEM___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.INFORMATION_ITEM___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.INFORMATION_ITEM___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.INFORMATION_ITEM___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.INFORMATION_ITEM___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.INFORMATION_ITEM___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.INFORMATION_ITEM___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.INFORMATION_ITEM___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.INFORMATION_ITEM___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.INFORMATION_ITEM___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.INFORMATION_ITEM___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.INFORMATION_ITEM___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.INFORMATION_ITEM___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.INFORMATION_ITEM___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___PARENTS :
+ return parents();
+ case UMLPackage.INFORMATION_ITEM___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.INFORMATION_ITEM___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.INFORMATION_ITEM___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.INFORMATION_ITEM___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.INFORMATION_ITEM___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.INFORMATION_ITEM___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.INFORMATION_ITEM___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_SOURCES_AND_TARGETS__DIAGNOSTICCHAIN_MAP :
+ return validateSourcesAndTargets(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_HAS_NO__DIAGNOSTICCHAIN_MAP :
+ return validateHasNo((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INFORMATION_ITEM___VALIDATE_NOT_INSTANTIABLE__DIAGNOSTICCHAIN_MAP :
+ return validateNotInstantiable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //InformationItemImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InitialNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InitialNodeImpl.java
new file mode 100644
index 00000000..b4eb69d9
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InitialNodeImpl.java
@@ -0,0 +1,244 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.InitialNodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Initial Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class InitialNodeImpl
+ extends ControlNodeImpl
+ implements InitialNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InitialNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INITIAL_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoIncomingEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InitialNodeOperations.validateNoIncomingEdges(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateControlEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InitialNodeOperations.validateControlEdges(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.INITIAL_NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INITIAL_NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INITIAL_NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.INITIAL_NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.INITIAL_NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.INITIAL_NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.INITIAL_NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INITIAL_NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.INITIAL_NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.INITIAL_NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.INITIAL_NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.INITIAL_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.INITIAL_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.INITIAL_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.INITIAL_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INITIAL_NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INITIAL_NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.INITIAL_NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.INITIAL_NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.INITIAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INITIAL_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INITIAL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INITIAL_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.INITIAL_NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.INITIAL_NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.INITIAL_NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.INITIAL_NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.INITIAL_NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INITIAL_NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.INITIAL_NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.INITIAL_NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INITIAL_NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INITIAL_NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INITIAL_NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.INITIAL_NODE___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.INITIAL_NODE___VALIDATE_NO_INCOMING_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateNoIncomingEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INITIAL_NODE___VALIDATE_CONTROL_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateControlEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //InitialNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InputPinImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InputPinImpl.java
new file mode 100644
index 00000000..ce855c8a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InputPinImpl.java
@@ -0,0 +1,295 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.InputPinOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Input Pin</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class InputPinImpl
+ extends PinImpl
+ implements InputPin {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InputPinImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INPUT_PIN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOutgoingEdgesStructuredOnly(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return InputPinOperations.validateOutgoingEdgesStructuredOnly(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.INPUT_PIN___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.INPUT_PIN___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.INPUT_PIN___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INPUT_PIN___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.INPUT_PIN___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.INPUT_PIN___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.INPUT_PIN___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.INPUT_PIN___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.INPUT_PIN___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.INPUT_PIN___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.INPUT_PIN___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INPUT_PIN___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.INPUT_PIN___GET_MODEL :
+ return getModel();
+ case UMLPackage.INPUT_PIN___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.INPUT_PIN___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.INPUT_PIN___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.INPUT_PIN___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.INPUT_PIN___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.INPUT_PIN___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.INPUT_PIN___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INPUT_PIN___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.INPUT_PIN___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.INPUT_PIN___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.INPUT_PIN___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INPUT_PIN___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INPUT_PIN___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.INPUT_PIN___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INPUT_PIN___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.INPUT_PIN___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.INPUT_PIN___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.INPUT_PIN___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.INPUT_PIN___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.INPUT_PIN___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INPUT_PIN___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.INPUT_PIN___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.INPUT_PIN___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.INPUT_PIN___GET_LABEL :
+ return getLabel();
+ case UMLPackage.INPUT_PIN___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.INPUT_PIN___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.INPUT_PIN___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.INPUT_PIN___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.INPUT_PIN___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.INPUT_PIN___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INPUT_PIN___SEPARATOR :
+ return separator();
+ case UMLPackage.INPUT_PIN___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.INPUT_PIN___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.INPUT_PIN___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.INPUT_PIN___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validateInputOutputParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateSelectionBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateObjectFlowEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return validateUpperGeLower((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return validateLowerGe0((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationNoSideEffects(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationConstant(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return validateLowerIsInteger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return validateUpperIsUnlimitedNatural(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.INPUT_PIN___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.INPUT_PIN___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return compatibleWith((MultiplicityElement) arguments.get(0));
+ case UMLPackage.INPUT_PIN___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return includesMultiplicity(
+ (MultiplicityElement) arguments.get(0));
+ case UMLPackage.INPUT_PIN___IS__INT_INT :
+ return is((Integer) arguments.get(0),
+ (Integer) arguments.get(1));
+ case UMLPackage.INPUT_PIN___IS_MULTIVALUED :
+ return isMultivalued();
+ case UMLPackage.INPUT_PIN___GET_LOWER :
+ return getLower();
+ case UMLPackage.INPUT_PIN___LOWER_BOUND :
+ return lowerBound();
+ case UMLPackage.INPUT_PIN___GET_UPPER :
+ return getUpper();
+ case UMLPackage.INPUT_PIN___UPPER_BOUND :
+ return upperBound();
+ case UMLPackage.INPUT_PIN___VALIDATE_CONTROL_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateControlPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_NOT_UNIQUE__DIAGNOSTICCHAIN_MAP :
+ return validateNotUnique((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INPUT_PIN___VALIDATE_OUTGOING_EDGES_STRUCTURED_ONLY__DIAGNOSTICCHAIN_MAP :
+ return validateOutgoingEdgesStructuredOnly(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //InputPinImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InstanceSpecificationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InstanceSpecificationImpl.java
new file mode 100644
index 00000000..d1e7a5d9
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InstanceSpecificationImpl.java
@@ -0,0 +1,1143 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 454400, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.DeployedArtifact;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.InstanceSpecificationOperations;
+import org.eclipse.uml2.uml.internal.operations.PackageableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.ParameterableElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Instance Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InstanceSpecificationImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InstanceSpecificationImpl#getTemplateParameter <em>Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InstanceSpecificationImpl#getOwningTemplateParameter <em>Owning Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InstanceSpecificationImpl#getVisibility <em>Visibility</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InstanceSpecificationImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InstanceSpecificationImpl#getClassifiers <em>Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InstanceSpecificationImpl#getSlots <em>Slot</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InstanceSpecificationImpl#getSpecification <em>Specification</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InstanceSpecificationImpl
+ extends DeploymentTargetImpl
+ implements InstanceSpecification {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InstanceSpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INSTANCE_SPECIFICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.INSTANCE_SPECIFICATION__TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.INSTANCE_SPECIFICATION__TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemplateParameter(
+ TemplateParameter newTemplateParameter, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newTemplateParameter,
+ UMLPackage.INSTANCE_SPECIFICATION__TEMPLATE_PARAMETER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null
+ && owningTemplateParameter != newTemplateParameter) {
+ setOwningTemplateParameter(null);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemplateParameter(TemplateParameter newTemplateParameter) {
+ eDynamicSet(
+ UMLPackage.INSTANCE_SPECIFICATION__TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ newTemplateParameter);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null
+ && owningTemplateParameter != newTemplateParameter) {
+ setOwningTemplateParameter(null);
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newOwningTemplateParameter,
+ UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter) {
+ eDynamicSet(
+ UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ newOwningTemplateParameter);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public VisibilityKind getVisibility() {
+ return (VisibilityKind) eDynamicGet(
+ UMLPackage.INSTANCE_SPECIFICATION__VISIBILITY
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setVisibility(VisibilityKind newVisibility) {
+ eDynamicSet(
+ UMLPackage.INSTANCE_SPECIFICATION__VISIBILITY
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY, newVisibility);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void unsetVisibility() {
+ eDynamicUnset(
+ UMLPackage.INSTANCE_SPECIFICATION__VISIBILITY
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetVisibility() {
+ return eDynamicIsSet(
+ UMLPackage.INSTANCE_SPECIFICATION__VISIBILITY
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.INSTANCE_SPECIFICATION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.INSTANCE_SPECIFICATION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getClassifiers() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.INSTANCE_SPECIFICATION__CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INSTANCE_SPECIFICATION__CLASSIFIER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getClassifier(String name) {
+ return getClassifier(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getClassifier(String name, boolean ignoreCase,
+ EClass eClass) {
+ classifierLoop : for (Classifier classifier : getClassifiers()) {
+ if (eClass != null && !eClass.isInstance(classifier))
+ continue classifierLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(classifier.getName())
+ : name.equals(classifier.getName())))
+ continue classifierLoop;
+ return classifier;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getSpecification() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INSTANCE_SPECIFICATION__SPECIFICATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INSTANCE_SPECIFICATION__SPECIFICATION, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetSpecification() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INSTANCE_SPECIFICATION__SPECIFICATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INSTANCE_SPECIFICATION__SPECIFICATION, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSpecification(
+ ValueSpecification newSpecification, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newSpecification,
+ UMLPackage.INSTANCE_SPECIFICATION__SPECIFICATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSpecification(ValueSpecification newSpecification) {
+ eDynamicSet(
+ UMLPackage.INSTANCE_SPECIFICATION__SPECIFICATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INSTANCE_SPECIFICATION__SPECIFICATION,
+ newSpecification);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createSpecification(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newSpecification = (ValueSpecification) create(
+ eClass);
+ setSpecification(newSpecification);
+ if (name != null)
+ newSpecification.setName(name);
+ if (type != null)
+ newSpecification.setType(type);
+ return newSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Slot> getSlots() {
+ return (EList<Slot>) eDynamicGet(
+ UMLPackage.INSTANCE_SPECIFICATION__SLOT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INSTANCE_SPECIFICATION__SLOT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Slot createSlot() {
+ Slot newSlot = (Slot) create(UMLPackage.Literals.SLOT);
+ getSlots().add(newSlot);
+ return newSlot;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCompatibleWith(ParameterableElement p) {
+ return ParameterableElementOperations.isCompatibleWith(this, p);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTemplateParameter() {
+ return ParameterableElementOperations.isTemplateParameter(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNamespaceNeedsVisibility(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PackageableElementOperations
+ .validateNamespaceNeedsVisibility(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDefiningFeature(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InstanceSpecificationOperations.validateDefiningFeature(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateStructuralFeature(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InstanceSpecificationOperations.validateStructuralFeature(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDeploymentTarget(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InstanceSpecificationOperations.validateDeploymentTarget(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDeploymentArtifact(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InstanceSpecificationOperations.validateDeploymentArtifact(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INSTANCE_SPECIFICATION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INSTANCE_SPECIFICATION__DEPLOYMENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getDeployments())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.INSTANCE_SPECIFICATION__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.INSTANCE_SPECIFICATION__SLOT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSlots())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INSTANCE_SPECIFICATION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INSTANCE_SPECIFICATION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.INSTANCE_SPECIFICATION__DEPLOYMENT :
+ return ((InternalEList<?>) getDeployments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.INSTANCE_SPECIFICATION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.INSTANCE_SPECIFICATION__SLOT :
+ return ((InternalEList<?>) getSlots()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INSTANCE_SPECIFICATION__SPECIFICATION :
+ return basicSetSpecification(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INSTANCE_SPECIFICATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INSTANCE_SPECIFICATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INSTANCE_SPECIFICATION__NAME :
+ return getName();
+ case UMLPackage.INSTANCE_SPECIFICATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INSTANCE_SPECIFICATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INSTANCE_SPECIFICATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INSTANCE_SPECIFICATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INSTANCE_SPECIFICATION__DEPLOYED_ELEMENT :
+ return getDeployedElements();
+ case UMLPackage.INSTANCE_SPECIFICATION__DEPLOYMENT :
+ return getDeployments();
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.INSTANCE_SPECIFICATION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.INSTANCE_SPECIFICATION__CLASSIFIER :
+ return getClassifiers();
+ case UMLPackage.INSTANCE_SPECIFICATION__SLOT :
+ return getSlots();
+ case UMLPackage.INSTANCE_SPECIFICATION__SPECIFICATION :
+ if (resolve)
+ return getSpecification();
+ return basicGetSpecification();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INSTANCE_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__DEPLOYMENT :
+ getDeployments().clear();
+ getDeployments()
+ .addAll((Collection<? extends Deployment>) newValue);
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__CLASSIFIER :
+ getClassifiers().clear();
+ getClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__SLOT :
+ getSlots().clear();
+ getSlots().addAll((Collection<? extends Slot>) newValue);
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__SPECIFICATION :
+ setSpecification((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INSTANCE_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__DEPLOYMENT :
+ getDeployments().clear();
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__CLASSIFIER :
+ getClassifiers().clear();
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__SLOT :
+ getSlots().clear();
+ return;
+ case UMLPackage.INSTANCE_SPECIFICATION__SPECIFICATION :
+ setSpecification((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INSTANCE_SPECIFICATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.INSTANCE_SPECIFICATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INSTANCE_SPECIFICATION__NAME :
+ return isSetName();
+ case UMLPackage.INSTANCE_SPECIFICATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INSTANCE_SPECIFICATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INSTANCE_SPECIFICATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INSTANCE_SPECIFICATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INSTANCE_SPECIFICATION__DEPLOYED_ELEMENT :
+ return !getDeployedElements().isEmpty();
+ case UMLPackage.INSTANCE_SPECIFICATION__DEPLOYMENT :
+ return !getDeployments().isEmpty();
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.INSTANCE_SPECIFICATION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.INSTANCE_SPECIFICATION__CLASSIFIER :
+ return !getClassifiers().isEmpty();
+ case UMLPackage.INSTANCE_SPECIFICATION__SLOT :
+ return !getSlots().isEmpty();
+ case UMLPackage.INSTANCE_SPECIFICATION__SPECIFICATION :
+ return basicGetSpecification() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.INSTANCE_SPECIFICATION__TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == PackageableElement.class) {
+ switch (derivedFeatureID) {
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DeployedArtifact.class) {
+ switch (derivedFeatureID) {
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return UMLPackage.INSTANCE_SPECIFICATION__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == PackageableElement.class) {
+ switch (baseFeatureID) {
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DeployedArtifact.class) {
+ switch (baseFeatureID) {
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return UMLPackage.INSTANCE_SPECIFICATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_TEMPLATE_PARAMETER :
+ return UMLPackage.INSTANCE_SPECIFICATION___IS_TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == PackageableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.PACKAGEABLE_ELEMENT___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DeployedArtifact.class) {
+ switch (baseOperationID) {
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_SPECIFICATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INSTANCE_SPECIFICATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INSTANCE_SPECIFICATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.INSTANCE_SPECIFICATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.INSTANCE_SPECIFICATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.INSTANCE_SPECIFICATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.INSTANCE_SPECIFICATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.INSTANCE_SPECIFICATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INSTANCE_SPECIFICATION___SEPARATOR :
+ return separator();
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.INSTANCE_SPECIFICATION___GET_DEPLOYED_ELEMENTS :
+ return getDeployedElements();
+ case UMLPackage.INSTANCE_SPECIFICATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.INSTANCE_SPECIFICATION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_DEPLOYMENT_ARTIFACT__DIAGNOSTICCHAIN_MAP :
+ return validateDeploymentArtifact(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_STRUCTURAL_FEATURE__DIAGNOSTICCHAIN_MAP :
+ return validateStructuralFeature(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_DEFINING_FEATURE__DIAGNOSTICCHAIN_MAP :
+ return validateDefiningFeature(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP :
+ return validateDeploymentTarget(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null) {
+ return owningTemplateParameter;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner() || eIsSet(
+ UMLPackage.INSTANCE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.INSTANCE_SPECIFICATION__OWNED_COMMENT,
+ UMLPackage.INSTANCE_SPECIFICATION__NAME_EXPRESSION,
+ UMLPackage.INSTANCE_SPECIFICATION__DEPLOYMENT,
+ UMLPackage.INSTANCE_SPECIFICATION__SLOT,
+ UMLPackage.INSTANCE_SPECIFICATION__SPECIFICATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.INSTANCE_SPECIFICATION__SLOT)
+ || eIsSet(UMLPackage.INSTANCE_SPECIFICATION__SPECIFICATION);
+ }
+
+} //InstanceSpecificationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InstanceValueImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InstanceValueImpl.java
new file mode 100644
index 00000000..1207396d
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InstanceValueImpl.java
@@ -0,0 +1,451 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.InstanceValueOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Instance Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InstanceValueImpl#getInstance <em>Instance</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InstanceValueImpl
+ extends ValueSpecificationImpl
+ implements InstanceValue {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InstanceValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INSTANCE_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceSpecification getInstance() {
+ return (InstanceSpecification) eDynamicGet(
+ UMLPackage.INSTANCE_VALUE__INSTANCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INSTANCE_VALUE__INSTANCE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceSpecification basicGetInstance() {
+ return (InstanceSpecification) eDynamicGet(
+ UMLPackage.INSTANCE_VALUE__INSTANCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INSTANCE_VALUE__INSTANCE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInstance(InstanceSpecification newInstance) {
+ eDynamicSet(UMLPackage.INSTANCE_VALUE__INSTANCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INSTANCE_VALUE__INSTANCE, newInstance);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String stringValue() {
+ return InstanceValueOperations.stringValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INSTANCE_VALUE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INSTANCE_VALUE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INSTANCE_VALUE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INSTANCE_VALUE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INSTANCE_VALUE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INSTANCE_VALUE__NAME :
+ return getName();
+ case UMLPackage.INSTANCE_VALUE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INSTANCE_VALUE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INSTANCE_VALUE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INSTANCE_VALUE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INSTANCE_VALUE__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.INSTANCE_VALUE__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.INSTANCE_VALUE__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.INSTANCE_VALUE__INSTANCE :
+ if (resolve)
+ return getInstance();
+ return basicGetInstance();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INSTANCE_VALUE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INSTANCE_VALUE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INSTANCE_VALUE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INSTANCE_VALUE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INSTANCE_VALUE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INSTANCE_VALUE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INSTANCE_VALUE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INSTANCE_VALUE__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.INSTANCE_VALUE__INSTANCE :
+ setInstance((InstanceSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INSTANCE_VALUE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INSTANCE_VALUE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INSTANCE_VALUE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INSTANCE_VALUE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INSTANCE_VALUE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INSTANCE_VALUE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INSTANCE_VALUE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INSTANCE_VALUE__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.INSTANCE_VALUE__INSTANCE :
+ setInstance((InstanceSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INSTANCE_VALUE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INSTANCE_VALUE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INSTANCE_VALUE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INSTANCE_VALUE__OWNER :
+ return isSetOwner();
+ case UMLPackage.INSTANCE_VALUE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INSTANCE_VALUE__NAME :
+ return isSetName();
+ case UMLPackage.INSTANCE_VALUE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INSTANCE_VALUE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INSTANCE_VALUE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INSTANCE_VALUE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INSTANCE_VALUE__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.INSTANCE_VALUE__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.INSTANCE_VALUE__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.INSTANCE_VALUE__INSTANCE :
+ return basicGetInstance() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.INSTANCE_VALUE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_VALUE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_VALUE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.INSTANCE_VALUE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.INSTANCE_VALUE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.INSTANCE_VALUE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.INSTANCE_VALUE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INSTANCE_VALUE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___GET_MODEL :
+ return getModel();
+ case UMLPackage.INSTANCE_VALUE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.INSTANCE_VALUE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.INSTANCE_VALUE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.INSTANCE_VALUE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.INSTANCE_VALUE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.INSTANCE_VALUE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.INSTANCE_VALUE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INSTANCE_VALUE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INSTANCE_VALUE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.INSTANCE_VALUE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.INSTANCE_VALUE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.INSTANCE_VALUE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_VALUE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_VALUE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_VALUE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.INSTANCE_VALUE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.INSTANCE_VALUE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.INSTANCE_VALUE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.INSTANCE_VALUE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.INSTANCE_VALUE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INSTANCE_VALUE___SEPARATOR :
+ return separator();
+ case UMLPackage.INSTANCE_VALUE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.INSTANCE_VALUE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.INSTANCE_VALUE___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.INSTANCE_VALUE___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INSTANCE_VALUE___BOOLEAN_VALUE :
+ return booleanValue();
+ case UMLPackage.INSTANCE_VALUE___INTEGER_VALUE :
+ return integerValue();
+ case UMLPackage.INSTANCE_VALUE___IS_COMPUTABLE :
+ return isComputable();
+ case UMLPackage.INSTANCE_VALUE___IS_NULL :
+ return isNull();
+ case UMLPackage.INSTANCE_VALUE___REAL_VALUE :
+ return realValue();
+ case UMLPackage.INSTANCE_VALUE___STRING_VALUE :
+ return stringValue();
+ case UMLPackage.INSTANCE_VALUE___UNLIMITED_VALUE :
+ return unlimitedValue();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //InstanceValueImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionConstraintImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionConstraintImpl.java
new file mode 100644
index 00000000..2003628a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionConstraintImpl.java
@@ -0,0 +1,756 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.InteractionConstraintOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interaction Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionConstraintImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionConstraintImpl#getMaxint <em>Maxint</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionConstraintImpl#getMinint <em>Minint</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InteractionConstraintImpl
+ extends ConstraintImpl
+ implements InteractionConstraint {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InteractionConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INTERACTION_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.INTERACTION_CONSTRAINT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.INTERACTION_CONSTRAINT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getMinint() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INTERACTION_CONSTRAINT__MININT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_CONSTRAINT__MININT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetMinint() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INTERACTION_CONSTRAINT__MININT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_CONSTRAINT__MININT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMinint(ValueSpecification newMinint,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newMinint,
+ UMLPackage.INTERACTION_CONSTRAINT__MININT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMinint(ValueSpecification newMinint) {
+ eDynamicSet(
+ UMLPackage.INTERACTION_CONSTRAINT__MININT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_CONSTRAINT__MININT, newMinint);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createMinint(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newMinint = (ValueSpecification) create(eClass);
+ setMinint(newMinint);
+ if (name != null)
+ newMinint.setName(name);
+ if (type != null)
+ newMinint.setType(type);
+ return newMinint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getMaxint() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INTERACTION_CONSTRAINT__MAXINT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_CONSTRAINT__MAXINT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetMaxint() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INTERACTION_CONSTRAINT__MAXINT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_CONSTRAINT__MAXINT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMaxint(ValueSpecification newMaxint,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newMaxint,
+ UMLPackage.INTERACTION_CONSTRAINT__MAXINT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMaxint(ValueSpecification newMaxint) {
+ eDynamicSet(
+ UMLPackage.INTERACTION_CONSTRAINT__MAXINT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_CONSTRAINT__MAXINT, newMaxint);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createMaxint(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newMaxint = (ValueSpecification) create(eClass);
+ setMaxint(newMaxint);
+ if (name != null)
+ newMaxint.setName(name);
+ if (type != null)
+ newMaxint.setType(type);
+ return newMaxint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDynamicVariables(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InteractionConstraintOperations.validateDynamicVariables(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalData(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InteractionConstraintOperations.validateGlobalData(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMinintMaxint(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InteractionConstraintOperations.validateMinintMaxint(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMinintNonNegative(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InteractionConstraintOperations.validateMinintNonNegative(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMaxintPositive(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InteractionConstraintOperations.validateMaxintPositive(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMaxintGreaterEqualMinint(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InteractionConstraintOperations
+ .validateMaxintGreaterEqualMinint(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_CONSTRAINT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_CONSTRAINT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.INTERACTION_CONSTRAINT__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.INTERACTION_CONSTRAINT__CONTEXT :
+ return basicSetContext(null, msgs);
+ case UMLPackage.INTERACTION_CONSTRAINT__SPECIFICATION :
+ return basicSetSpecification(null, msgs);
+ case UMLPackage.INTERACTION_CONSTRAINT__MAXINT :
+ return basicSetMaxint(null, msgs);
+ case UMLPackage.INTERACTION_CONSTRAINT__MININT :
+ return basicSetMinint(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_CONSTRAINT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INTERACTION_CONSTRAINT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INTERACTION_CONSTRAINT__NAME :
+ return getName();
+ case UMLPackage.INTERACTION_CONSTRAINT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INTERACTION_CONSTRAINT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INTERACTION_CONSTRAINT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERACTION_CONSTRAINT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.INTERACTION_CONSTRAINT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.INTERACTION_CONSTRAINT__CONSTRAINED_ELEMENT :
+ return getConstrainedElements();
+ case UMLPackage.INTERACTION_CONSTRAINT__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.INTERACTION_CONSTRAINT__SPECIFICATION :
+ if (resolve)
+ return getSpecification();
+ return basicGetSpecification();
+ case UMLPackage.INTERACTION_CONSTRAINT__MAXINT :
+ if (resolve)
+ return getMaxint();
+ return basicGetMaxint();
+ case UMLPackage.INTERACTION_CONSTRAINT__MININT :
+ if (resolve)
+ return getMinint();
+ return basicGetMinint();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_CONSTRAINT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__CONSTRAINED_ELEMENT :
+ getConstrainedElements().clear();
+ getConstrainedElements()
+ .addAll((Collection<? extends Element>) newValue);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__CONTEXT :
+ setContext((Namespace) newValue);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__SPECIFICATION :
+ setSpecification((ValueSpecification) newValue);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__MAXINT :
+ setMaxint((ValueSpecification) newValue);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__MININT :
+ setMinint((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_CONSTRAINT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__CONSTRAINED_ELEMENT :
+ getConstrainedElements().clear();
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__CONTEXT :
+ setContext((Namespace) null);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__SPECIFICATION :
+ setSpecification((ValueSpecification) null);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__MAXINT :
+ setMaxint((ValueSpecification) null);
+ return;
+ case UMLPackage.INTERACTION_CONSTRAINT__MININT :
+ setMinint((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_CONSTRAINT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNER :
+ return isSetOwner();
+ case UMLPackage.INTERACTION_CONSTRAINT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INTERACTION_CONSTRAINT__NAME :
+ return isSetName();
+ case UMLPackage.INTERACTION_CONSTRAINT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INTERACTION_CONSTRAINT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INTERACTION_CONSTRAINT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INTERACTION_CONSTRAINT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INTERACTION_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.INTERACTION_CONSTRAINT__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.INTERACTION_CONSTRAINT__CONSTRAINED_ELEMENT :
+ return !getConstrainedElements().isEmpty();
+ case UMLPackage.INTERACTION_CONSTRAINT__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.INTERACTION_CONSTRAINT__SPECIFICATION :
+ return basicGetSpecification() != null;
+ case UMLPackage.INTERACTION_CONSTRAINT__MAXINT :
+ return basicGetMaxint() != null;
+ case UMLPackage.INTERACTION_CONSTRAINT__MININT :
+ return basicGetMinint() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_MODEL :
+ return getModel();
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.INTERACTION_CONSTRAINT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.INTERACTION_CONSTRAINT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.INTERACTION_CONSTRAINT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.INTERACTION_CONSTRAINT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.INTERACTION_CONSTRAINT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERACTION_CONSTRAINT___SEPARATOR :
+ return separator();
+ case UMLPackage.INTERACTION_CONSTRAINT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.INTERACTION_CONSTRAINT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.INTERACTION_CONSTRAINT___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateBooleanValue((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateNoSideEffects((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotApplyToSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_MININT_MAXINT__DIAGNOSTICCHAIN_MAP :
+ return validateMinintMaxint((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_MININT_NON_NEGATIVE__DIAGNOSTICCHAIN_MAP :
+ return validateMinintNonNegative(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_MAXINT_POSITIVE__DIAGNOSTICCHAIN_MAP :
+ return validateMaxintPositive(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_DYNAMIC_VARIABLES__DIAGNOSTICCHAIN_MAP :
+ return validateDynamicVariables(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_GLOBAL_DATA__DIAGNOSTICCHAIN_MAP :
+ return validateGlobalData((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_MAXINT_GREATER_EQUAL_MININT__DIAGNOSTICCHAIN_MAP :
+ return validateMaxintGreaterEqualMinint(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.INTERACTION_CONSTRAINT__OWNED_COMMENT,
+ UMLPackage.INTERACTION_CONSTRAINT__NAME_EXPRESSION,
+ UMLPackage.INTERACTION_CONSTRAINT__SPECIFICATION,
+ UMLPackage.INTERACTION_CONSTRAINT__MAXINT,
+ UMLPackage.INTERACTION_CONSTRAINT__MININT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.INTERACTION_CONSTRAINT__MAXINT)
+ || eIsSet(UMLPackage.INTERACTION_CONSTRAINT__MININT);
+ }
+
+} //InteractionConstraintImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionFragmentImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionFragmentImpl.java
new file mode 100644
index 00000000..bb1fa969
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionFragmentImpl.java
@@ -0,0 +1,633 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionFragment;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interaction Fragment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionFragmentImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionFragmentImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionFragmentImpl#getCovereds <em>Covered</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionFragmentImpl#getEnclosingOperand <em>Enclosing Operand</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionFragmentImpl#getEnclosingInteraction <em>Enclosing Interaction</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionFragmentImpl#getGeneralOrderings <em>General Ordering</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class InteractionFragmentImpl
+ extends NamedElementImpl
+ implements InteractionFragment {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InteractionFragmentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INTERACTION_FRAGMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.INTERACTION_FRAGMENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.INTERACTION_FRAGMENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Lifeline> getCovereds() {
+ return (EList<Lifeline>) eDynamicGet(
+ UMLPackage.INTERACTION_FRAGMENT__COVERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__COVERED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lifeline getCovered(String name) {
+ return getCovered(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lifeline getCovered(String name, boolean ignoreCase) {
+ coveredLoop : for (Lifeline covered : getCovereds()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(covered.getName())
+ : name.equals(covered.getName())))
+ continue coveredLoop;
+ return covered;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<GeneralOrdering> getGeneralOrderings() {
+ return (EList<GeneralOrdering>) eDynamicGet(
+ UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__GENERAL_ORDERING, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering createGeneralOrdering(String name) {
+ GeneralOrdering newGeneralOrdering = (GeneralOrdering) create(
+ UMLPackage.Literals.GENERAL_ORDERING);
+ getGeneralOrderings().add(newGeneralOrdering);
+ if (name != null)
+ newGeneralOrdering.setName(name);
+ return newGeneralOrdering;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering getGeneralOrdering(String name) {
+ return getGeneralOrdering(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering getGeneralOrdering(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ generalOrderingLoop : for (GeneralOrdering generalOrdering : getGeneralOrderings()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(generalOrdering.getName())
+ : name.equals(generalOrdering.getName())))
+ continue generalOrderingLoop;
+ return generalOrdering;
+ }
+ return createOnDemand
+ ? createGeneralOrdering(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interaction getEnclosingInteraction() {
+ return (Interaction) eDynamicGet(
+ UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interaction basicGetEnclosingInteraction() {
+ return (Interaction) eDynamicGet(
+ UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEnclosingInteraction(
+ Interaction newEnclosingInteraction, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newEnclosingInteraction,
+ UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnclosingInteraction(Interaction newEnclosingInteraction) {
+ eDynamicSet(
+ UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION,
+ newEnclosingInteraction);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperand getEnclosingOperand() {
+ return (InteractionOperand) eDynamicGet(
+ UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_OPERAND, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperand basicGetEnclosingOperand() {
+ return (InteractionOperand) eDynamicGet(
+ UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_OPERAND, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEnclosingOperand(
+ InteractionOperand newEnclosingOperand, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newEnclosingOperand,
+ UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnclosingOperand(InteractionOperand newEnclosingOperand) {
+ eDynamicSet(
+ UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_OPERAND,
+ newEnclosingOperand);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_FRAGMENT__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION_FRAGMENT__COVERED :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getCovereds())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetEnclosingOperand((InteractionOperand) otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetEnclosingInteraction((Interaction) otherEnd,
+ msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_FRAGMENT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_FRAGMENT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_FRAGMENT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.INTERACTION_FRAGMENT__COVERED :
+ return ((InternalEList<?>) getCovereds()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND :
+ return basicSetEnclosingOperand(null, msgs);
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION :
+ return basicSetEnclosingInteraction(null, msgs);
+ case UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING :
+ return ((InternalEList<?>) getGeneralOrderings())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.INTERACTION_OPERAND__FRAGMENT,
+ InteractionOperand.class, msgs);
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.INTERACTION__FRAGMENT, Interaction.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_FRAGMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INTERACTION_FRAGMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INTERACTION_FRAGMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INTERACTION_FRAGMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INTERACTION_FRAGMENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INTERACTION_FRAGMENT__NAME :
+ return getName();
+ case UMLPackage.INTERACTION_FRAGMENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INTERACTION_FRAGMENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INTERACTION_FRAGMENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERACTION_FRAGMENT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INTERACTION_FRAGMENT__COVERED :
+ return getCovereds();
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_FRAGMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_FRAGMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_FRAGMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INTERACTION_FRAGMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INTERACTION_FRAGMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INTERACTION_FRAGMENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.INTERACTION_FRAGMENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INTERACTION_FRAGMENT__NAME :
+ return isSetName();
+ case UMLPackage.INTERACTION_FRAGMENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INTERACTION_FRAGMENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INTERACTION_FRAGMENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INTERACTION_FRAGMENT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INTERACTION_FRAGMENT__COVERED :
+ return !getCovereds().isEmpty();
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.INTERACTION_FRAGMENT__OWNED_COMMENT,
+ UMLPackage.INTERACTION_FRAGMENT__NAME_EXPRESSION,
+ UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ InteractionOperand enclosingOperand = basicGetEnclosingOperand();
+ if (enclosingOperand != null) {
+ return enclosingOperand;
+ }
+ Interaction enclosingInteraction = basicGetEnclosingInteraction();
+ if (enclosingInteraction != null) {
+ return enclosingInteraction;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace()
+ || eIsSet(UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND)
+ || eIsSet(UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION);
+ }
+
+} //InteractionFragmentImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionImpl.java
new file mode 100644
index 00000000..f8b57181
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionImpl.java
@@ -0,0 +1,2104 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionFragment;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.InteractionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interaction</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionImpl#getCovereds <em>Covered</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionImpl#getEnclosingOperand <em>Enclosing Operand</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionImpl#getEnclosingInteraction <em>Enclosing Interaction</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionImpl#getGeneralOrderings <em>General Ordering</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionImpl#getLifelines <em>Lifeline</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionImpl#getFragments <em>Fragment</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionImpl#getActions <em>Action</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionImpl#getFormalGates <em>Formal Gate</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionImpl#getMessages <em>Message</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InteractionImpl
+ extends BehaviorImpl
+ implements Interaction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InteractionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INTERACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.INTERACTION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.INTERACTION__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Lifeline> getCovereds() {
+ return (EList<Lifeline>) eDynamicGet(
+ UMLPackage.INTERACTION__COVERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__COVERED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lifeline getCovered(String name) {
+ return getCovered(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lifeline getCovered(String name, boolean ignoreCase) {
+ coveredLoop : for (Lifeline covered : getCovereds()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(covered.getName())
+ : name.equals(covered.getName())))
+ continue coveredLoop;
+ return covered;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<GeneralOrdering> getGeneralOrderings() {
+ return (EList<GeneralOrdering>) eDynamicGet(
+ UMLPackage.INTERACTION__GENERAL_ORDERING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__GENERAL_ORDERING, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering createGeneralOrdering(String name) {
+ GeneralOrdering newGeneralOrdering = (GeneralOrdering) create(
+ UMLPackage.Literals.GENERAL_ORDERING);
+ getGeneralOrderings().add(newGeneralOrdering);
+ if (name != null)
+ newGeneralOrdering.setName(name);
+ return newGeneralOrdering;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering getGeneralOrdering(String name) {
+ return getGeneralOrdering(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering getGeneralOrdering(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ generalOrderingLoop : for (GeneralOrdering generalOrdering : getGeneralOrderings()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(generalOrdering.getName())
+ : name.equals(generalOrdering.getName())))
+ continue generalOrderingLoop;
+ return generalOrdering;
+ }
+ return createOnDemand
+ ? createGeneralOrdering(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interaction getEnclosingInteraction() {
+ return (Interaction) eDynamicGet(
+ UMLPackage.INTERACTION__ENCLOSING_INTERACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interaction basicGetEnclosingInteraction() {
+ return (Interaction) eDynamicGet(
+ UMLPackage.INTERACTION__ENCLOSING_INTERACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEnclosingInteraction(
+ Interaction newEnclosingInteraction, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newEnclosingInteraction,
+ UMLPackage.INTERACTION__ENCLOSING_INTERACTION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnclosingInteraction(Interaction newEnclosingInteraction) {
+ eDynamicSet(
+ UMLPackage.INTERACTION__ENCLOSING_INTERACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION,
+ newEnclosingInteraction);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperand getEnclosingOperand() {
+ return (InteractionOperand) eDynamicGet(
+ UMLPackage.INTERACTION__ENCLOSING_OPERAND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_OPERAND, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperand basicGetEnclosingOperand() {
+ return (InteractionOperand) eDynamicGet(
+ UMLPackage.INTERACTION__ENCLOSING_OPERAND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_OPERAND, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEnclosingOperand(
+ InteractionOperand newEnclosingOperand, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newEnclosingOperand,
+ UMLPackage.INTERACTION__ENCLOSING_OPERAND, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnclosingOperand(InteractionOperand newEnclosingOperand) {
+ eDynamicSet(
+ UMLPackage.INTERACTION__ENCLOSING_OPERAND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_OPERAND,
+ newEnclosingOperand);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.INTERACTION__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.INTERACTION__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Lifeline> getLifelines() {
+ return (EList<Lifeline>) eDynamicGet(
+ UMLPackage.INTERACTION__LIFELINE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION__LIFELINE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lifeline createLifeline(String name) {
+ Lifeline newLifeline = (Lifeline) create(UMLPackage.Literals.LIFELINE);
+ getLifelines().add(newLifeline);
+ if (name != null)
+ newLifeline.setName(name);
+ return newLifeline;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lifeline getLifeline(String name) {
+ return getLifeline(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lifeline getLifeline(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ lifelineLoop : for (Lifeline lifeline : getLifelines()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(lifeline.getName())
+ : name.equals(lifeline.getName())))
+ continue lifelineLoop;
+ return lifeline;
+ }
+ return createOnDemand
+ ? createLifeline(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InteractionFragment> getFragments() {
+ return (EList<InteractionFragment>) eDynamicGet(
+ UMLPackage.INTERACTION__FRAGMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION__FRAGMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionFragment createFragment(String name, EClass eClass) {
+ InteractionFragment newFragment = (InteractionFragment) create(eClass);
+ getFragments().add(newFragment);
+ if (name != null)
+ newFragment.setName(name);
+ return newFragment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionFragment getFragment(String name) {
+ return getFragment(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionFragment getFragment(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ fragmentLoop : for (InteractionFragment fragment : getFragments()) {
+ if (eClass != null && !eClass.isInstance(fragment))
+ continue fragmentLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(fragment.getName())
+ : name.equals(fragment.getName())))
+ continue fragmentLoop;
+ return fragment;
+ }
+ return createOnDemand && eClass != null
+ ? createFragment(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Action> getActions() {
+ return (EList<Action>) eDynamicGet(
+ UMLPackage.INTERACTION__ACTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION__ACTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Action createAction(String name, EClass eClass) {
+ Action newAction = (Action) create(eClass);
+ getActions().add(newAction);
+ if (name != null)
+ newAction.setName(name);
+ return newAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Action getAction(String name) {
+ return getAction(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Action getAction(String name, boolean ignoreCase, EClass eClass,
+ boolean createOnDemand) {
+ actionLoop : for (Action action : getActions()) {
+ if (eClass != null && !eClass.isInstance(action))
+ continue actionLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(action.getName())
+ : name.equals(action.getName())))
+ continue actionLoop;
+ return action;
+ }
+ return createOnDemand && eClass != null
+ ? createAction(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Gate> getFormalGates() {
+ return (EList<Gate>) eDynamicGet(
+ UMLPackage.INTERACTION__FORMAL_GATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION__FORMAL_GATE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Gate createFormalGate(String name) {
+ Gate newFormalGate = (Gate) create(UMLPackage.Literals.GATE);
+ getFormalGates().add(newFormalGate);
+ if (name != null)
+ newFormalGate.setName(name);
+ return newFormalGate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Gate getFormalGate(String name) {
+ return getFormalGate(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Gate getFormalGate(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ formalGateLoop : for (Gate formalGate : getFormalGates()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(formalGate.getName())
+ : name.equals(formalGate.getName())))
+ continue formalGateLoop;
+ return formalGate;
+ }
+ return createOnDemand
+ ? createFormalGate(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Message> getMessages() {
+ return (EList<Message>) eDynamicGet(
+ UMLPackage.INTERACTION__MESSAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION__MESSAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Message createMessage(String name) {
+ Message newMessage = (Message) create(UMLPackage.Literals.MESSAGE);
+ getMessages().add(newMessage);
+ if (name != null)
+ newMessage.setName(name);
+ return newMessage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Message getMessage(String name) {
+ return getMessage(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Message getMessage(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ messageLoop : for (Message message : getMessages()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(message.getName())
+ : name.equals(message.getName())))
+ continue messageLoop;
+ return message;
+ }
+ return createOnDemand
+ ? createMessage(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNotContained(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InteractionOperations.validateNotContained(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.INTERACTION__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.INTERACTION__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.INTERACTION__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__INTERFACE_REALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInterfaceRealizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNED_OPERATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedOperations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__SPECIFICATION :
+ BehavioralFeature specification = basicGetSpecification();
+ if (specification != null)
+ msgs = ((InternalEObject) specification).eInverseRemove(
+ this, UMLPackage.BEHAVIORAL_FEATURE__METHOD,
+ BehavioralFeature.class, msgs);
+ return basicSetSpecification((BehavioralFeature) otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION__COVERED :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getCovereds())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__ENCLOSING_OPERAND :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetEnclosingOperand((InteractionOperand) otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION__ENCLOSING_INTERACTION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetEnclosingInteraction((Interaction) otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION__LIFELINE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getLifelines())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__FRAGMENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getFragments())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION__MESSAGE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getMessages())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.INTERACTION__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.INTERACTION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.INTERACTION__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.INTERACTION__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNED_CONNECTOR :
+ return ((InternalEList<?>) getOwnedConnectors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__INTERFACE_REALIZATION :
+ return ((InternalEList<?>) getInterfaceRealizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNED_BEHAVIOR :
+ return ((InternalEList<?>) getOwnedBehaviors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__NESTED_CLASSIFIER :
+ return ((InternalEList<?>) getNestedClassifiers())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNED_RECEPTION :
+ return ((InternalEList<?>) getOwnedReceptions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__SPECIFICATION :
+ return basicSetSpecification(null, msgs);
+ case UMLPackage.INTERACTION__OWNED_PARAMETER :
+ return ((InternalEList<?>) getOwnedParameters())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__OWNED_PARAMETER_SET :
+ return ((InternalEList<?>) getOwnedParameterSets())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__COVERED :
+ return ((InternalEList<?>) getCovereds()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION__ENCLOSING_OPERAND :
+ return basicSetEnclosingOperand(null, msgs);
+ case UMLPackage.INTERACTION__ENCLOSING_INTERACTION :
+ return basicSetEnclosingInteraction(null, msgs);
+ case UMLPackage.INTERACTION__GENERAL_ORDERING :
+ return ((InternalEList<?>) getGeneralOrderings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__LIFELINE :
+ return ((InternalEList<?>) getLifelines()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION__FRAGMENT :
+ return ((InternalEList<?>) getFragments()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION__ACTION :
+ return ((InternalEList<?>) getActions()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION__FORMAL_GATE :
+ return ((InternalEList<?>) getFormalGates())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION__MESSAGE :
+ return ((InternalEList<?>) getMessages()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.INTERACTION__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ case UMLPackage.INTERACTION__ENCLOSING_OPERAND :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.INTERACTION_OPERAND__FRAGMENT,
+ InteractionOperand.class, msgs);
+ case UMLPackage.INTERACTION__ENCLOSING_INTERACTION :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.INTERACTION__FRAGMENT, Interaction.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INTERACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INTERACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INTERACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INTERACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INTERACTION__NAME :
+ return getName();
+ case UMLPackage.INTERACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INTERACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INTERACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INTERACTION__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.INTERACTION__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.INTERACTION__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.INTERACTION__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.INTERACTION__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.INTERACTION__MEMBER :
+ return getMembers();
+ case UMLPackage.INTERACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.INTERACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.INTERACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.INTERACTION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.INTERACTION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.INTERACTION__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.INTERACTION__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.INTERACTION__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.INTERACTION__FEATURE :
+ return getFeatures();
+ case UMLPackage.INTERACTION__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.INTERACTION__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.INTERACTION__GENERAL :
+ return getGenerals();
+ case UMLPackage.INTERACTION__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.INTERACTION__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.INTERACTION__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.INTERACTION__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.INTERACTION__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.INTERACTION__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.INTERACTION__USE_CASE :
+ return getUseCases();
+ case UMLPackage.INTERACTION__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.INTERACTION__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.INTERACTION__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.INTERACTION__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.INTERACTION__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.INTERACTION__PART :
+ return getParts();
+ case UMLPackage.INTERACTION__ROLE :
+ return getRoles();
+ case UMLPackage.INTERACTION__OWNED_PORT :
+ return getOwnedPorts();
+ case UMLPackage.INTERACTION__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.INTERACTION__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.INTERACTION__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ case UMLPackage.INTERACTION__OWNED_OPERATION :
+ return getOwnedOperations();
+ case UMLPackage.INTERACTION__EXTENSION :
+ return getExtensions();
+ case UMLPackage.INTERACTION__IS_ACTIVE :
+ return isActive();
+ case UMLPackage.INTERACTION__NESTED_CLASSIFIER :
+ return getNestedClassifiers();
+ case UMLPackage.INTERACTION__OWNED_RECEPTION :
+ return getOwnedReceptions();
+ case UMLPackage.INTERACTION__SUPER_CLASS :
+ return getSuperClasses();
+ case UMLPackage.INTERACTION__SPECIFICATION :
+ if (resolve)
+ return getSpecification();
+ return basicGetSpecification();
+ case UMLPackage.INTERACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.INTERACTION__IS_REENTRANT :
+ return isReentrant();
+ case UMLPackage.INTERACTION__OWNED_PARAMETER :
+ return getOwnedParameters();
+ case UMLPackage.INTERACTION__OWNED_PARAMETER_SET :
+ return getOwnedParameterSets();
+ case UMLPackage.INTERACTION__POSTCONDITION :
+ return getPostconditions();
+ case UMLPackage.INTERACTION__PRECONDITION :
+ return getPreconditions();
+ case UMLPackage.INTERACTION__REDEFINED_BEHAVIOR :
+ return getRedefinedBehaviors();
+ case UMLPackage.INTERACTION__COVERED :
+ return getCovereds();
+ case UMLPackage.INTERACTION__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.INTERACTION__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.INTERACTION__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ case UMLPackage.INTERACTION__LIFELINE :
+ return getLifelines();
+ case UMLPackage.INTERACTION__FRAGMENT :
+ return getFragments();
+ case UMLPackage.INTERACTION__ACTION :
+ return getActions();
+ case UMLPackage.INTERACTION__FORMAL_GATE :
+ return getFormalGates();
+ case UMLPackage.INTERACTION__MESSAGE :
+ return getMessages();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INTERACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INTERACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INTERACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INTERACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INTERACTION__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.INTERACTION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.INTERACTION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.INTERACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.INTERACTION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INTERACTION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INTERACTION__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.INTERACTION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.INTERACTION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.INTERACTION__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.INTERACTION__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.INTERACTION__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.INTERACTION__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.INTERACTION__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.INTERACTION__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.INTERACTION__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.INTERACTION__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.INTERACTION__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.INTERACTION__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.INTERACTION__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.INTERACTION__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.INTERACTION__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.INTERACTION__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.INTERACTION__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.INTERACTION__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.INTERACTION__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ case UMLPackage.INTERACTION__IS_ACTIVE :
+ setIsActive((Boolean) newValue);
+ return;
+ case UMLPackage.INTERACTION__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ getNestedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.INTERACTION__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ getOwnedReceptions()
+ .addAll((Collection<? extends Reception>) newValue);
+ return;
+ case UMLPackage.INTERACTION__SUPER_CLASS :
+ getSuperClasses().clear();
+ getSuperClasses().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Class>) newValue);
+ return;
+ case UMLPackage.INTERACTION__SPECIFICATION :
+ setSpecification((BehavioralFeature) newValue);
+ return;
+ case UMLPackage.INTERACTION__IS_REENTRANT :
+ setIsReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.INTERACTION__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ getOwnedParameters()
+ .addAll((Collection<? extends Parameter>) newValue);
+ return;
+ case UMLPackage.INTERACTION__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ getOwnedParameterSets()
+ .addAll((Collection<? extends ParameterSet>) newValue);
+ return;
+ case UMLPackage.INTERACTION__POSTCONDITION :
+ getPostconditions().clear();
+ getPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.INTERACTION__PRECONDITION :
+ getPreconditions().clear();
+ getPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.INTERACTION__REDEFINED_BEHAVIOR :
+ getRedefinedBehaviors().clear();
+ getRedefinedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.INTERACTION__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.INTERACTION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.INTERACTION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.INTERACTION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.INTERACTION__LIFELINE :
+ getLifelines().clear();
+ getLifelines()
+ .addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.INTERACTION__FRAGMENT :
+ getFragments().clear();
+ getFragments().addAll(
+ (Collection<? extends InteractionFragment>) newValue);
+ return;
+ case UMLPackage.INTERACTION__ACTION :
+ getActions().clear();
+ getActions().addAll((Collection<? extends Action>) newValue);
+ return;
+ case UMLPackage.INTERACTION__FORMAL_GATE :
+ getFormalGates().clear();
+ getFormalGates().addAll((Collection<? extends Gate>) newValue);
+ return;
+ case UMLPackage.INTERACTION__MESSAGE :
+ getMessages().clear();
+ getMessages().addAll((Collection<? extends Message>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INTERACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INTERACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INTERACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INTERACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INTERACTION__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.INTERACTION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.INTERACTION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.INTERACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.INTERACTION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INTERACTION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INTERACTION__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.INTERACTION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.INTERACTION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.INTERACTION__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.INTERACTION__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.INTERACTION__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.INTERACTION__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.INTERACTION__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.INTERACTION__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.INTERACTION__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.INTERACTION__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.INTERACTION__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.INTERACTION__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.INTERACTION__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.INTERACTION__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.INTERACTION__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ case UMLPackage.INTERACTION__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.INTERACTION__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.INTERACTION__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ case UMLPackage.INTERACTION__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ case UMLPackage.INTERACTION__IS_ACTIVE :
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ case UMLPackage.INTERACTION__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ return;
+ case UMLPackage.INTERACTION__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ return;
+ case UMLPackage.INTERACTION__SUPER_CLASS :
+ getSuperClasses().clear();
+ return;
+ case UMLPackage.INTERACTION__SPECIFICATION :
+ setSpecification((BehavioralFeature) null);
+ return;
+ case UMLPackage.INTERACTION__IS_REENTRANT :
+ unsetIsReentrant();
+ return;
+ case UMLPackage.INTERACTION__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ return;
+ case UMLPackage.INTERACTION__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ return;
+ case UMLPackage.INTERACTION__POSTCONDITION :
+ getPostconditions().clear();
+ return;
+ case UMLPackage.INTERACTION__PRECONDITION :
+ getPreconditions().clear();
+ return;
+ case UMLPackage.INTERACTION__REDEFINED_BEHAVIOR :
+ getRedefinedBehaviors().clear();
+ return;
+ case UMLPackage.INTERACTION__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.INTERACTION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.INTERACTION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.INTERACTION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ case UMLPackage.INTERACTION__LIFELINE :
+ getLifelines().clear();
+ return;
+ case UMLPackage.INTERACTION__FRAGMENT :
+ getFragments().clear();
+ return;
+ case UMLPackage.INTERACTION__ACTION :
+ getActions().clear();
+ return;
+ case UMLPackage.INTERACTION__FORMAL_GATE :
+ getFormalGates().clear();
+ return;
+ case UMLPackage.INTERACTION__MESSAGE :
+ getMessages().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INTERACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INTERACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INTERACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.INTERACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INTERACTION__NAME :
+ return isSetName();
+ case UMLPackage.INTERACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INTERACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INTERACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INTERACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INTERACTION__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.INTERACTION__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.INTERACTION__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.INTERACTION__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.INTERACTION__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.INTERACTION__MEMBER :
+ return isSetMembers();
+ case UMLPackage.INTERACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.INTERACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.INTERACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.INTERACTION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.INTERACTION__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.INTERACTION__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.INTERACTION__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.INTERACTION__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.INTERACTION__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.INTERACTION__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.INTERACTION__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.INTERACTION__GENERAL :
+ return isSetGenerals();
+ case UMLPackage.INTERACTION__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.INTERACTION__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.INTERACTION__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.INTERACTION__IS_ABSTRACT :
+ return isSetIsAbstract();
+ case UMLPackage.INTERACTION__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.INTERACTION__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.INTERACTION__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.INTERACTION__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.INTERACTION__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.INTERACTION__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.INTERACTION__OWNED_ATTRIBUTE :
+ return isSetOwnedAttributes();
+ case UMLPackage.INTERACTION__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.INTERACTION__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.INTERACTION__ROLE :
+ return isSetRoles();
+ case UMLPackage.INTERACTION__OWNED_PORT :
+ return !getOwnedPorts().isEmpty();
+ case UMLPackage.INTERACTION__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.INTERACTION__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.INTERACTION__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ case UMLPackage.INTERACTION__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ case UMLPackage.INTERACTION__EXTENSION :
+ return !getExtensions().isEmpty();
+ case UMLPackage.INTERACTION__IS_ACTIVE :
+ return isActive() != IS_ACTIVE_EDEFAULT;
+ case UMLPackage.INTERACTION__NESTED_CLASSIFIER :
+ return !getNestedClassifiers().isEmpty();
+ case UMLPackage.INTERACTION__OWNED_RECEPTION :
+ return !getOwnedReceptions().isEmpty();
+ case UMLPackage.INTERACTION__SUPER_CLASS :
+ return isSetSuperClasses();
+ case UMLPackage.INTERACTION__SPECIFICATION :
+ return basicGetSpecification() != null;
+ case UMLPackage.INTERACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.INTERACTION__IS_REENTRANT :
+ return isSetIsReentrant();
+ case UMLPackage.INTERACTION__OWNED_PARAMETER :
+ return !getOwnedParameters().isEmpty();
+ case UMLPackage.INTERACTION__OWNED_PARAMETER_SET :
+ return !getOwnedParameterSets().isEmpty();
+ case UMLPackage.INTERACTION__POSTCONDITION :
+ return !getPostconditions().isEmpty();
+ case UMLPackage.INTERACTION__PRECONDITION :
+ return !getPreconditions().isEmpty();
+ case UMLPackage.INTERACTION__REDEFINED_BEHAVIOR :
+ return !getRedefinedBehaviors().isEmpty();
+ case UMLPackage.INTERACTION__COVERED :
+ return !getCovereds().isEmpty();
+ case UMLPackage.INTERACTION__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.INTERACTION__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.INTERACTION__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ case UMLPackage.INTERACTION__LIFELINE :
+ return !getLifelines().isEmpty();
+ case UMLPackage.INTERACTION__FRAGMENT :
+ return !getFragments().isEmpty();
+ case UMLPackage.INTERACTION__ACTION :
+ return !getActions().isEmpty();
+ case UMLPackage.INTERACTION__FORMAL_GATE :
+ return !getFormalGates().isEmpty();
+ case UMLPackage.INTERACTION__MESSAGE :
+ return !getMessages().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == InteractionFragment.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.INTERACTION__COVERED :
+ return UMLPackage.INTERACTION_FRAGMENT__COVERED;
+ case UMLPackage.INTERACTION__ENCLOSING_OPERAND :
+ return UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND;
+ case UMLPackage.INTERACTION__ENCLOSING_INTERACTION :
+ return UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION;
+ case UMLPackage.INTERACTION__GENERAL_ORDERING :
+ return UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == InteractionFragment.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.INTERACTION_FRAGMENT__COVERED :
+ return UMLPackage.INTERACTION__COVERED;
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND :
+ return UMLPackage.INTERACTION__ENCLOSING_OPERAND;
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION :
+ return UMLPackage.INTERACTION__ENCLOSING_INTERACTION;
+ case UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING :
+ return UMLPackage.INTERACTION__GENERAL_ORDERING;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.INTERACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.INTERACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.INTERACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.INTERACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.INTERACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.INTERACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.INTERACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.INTERACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.INTERACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.INTERACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.INTERACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.INTERACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.INTERACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.INTERACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.INTERACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.INTERACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.INTERACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INTERACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.INTERACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.INTERACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INTERACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.INTERACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.INTERACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.INTERACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.INTERACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.INTERACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.INTERACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.INTERACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.INTERACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.INTERACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.INTERACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.INTERACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.INTERACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.INTERACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.INTERACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.INTERACTION___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.INTERACTION___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.INTERACTION___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.INTERACTION___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.INTERACTION___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.INTERACTION___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.INTERACTION___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.INTERACTION___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.INTERACTION___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.INTERACTION___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.INTERACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.INTERACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.INTERACTION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.INTERACTION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.INTERACTION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.INTERACTION___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.INTERACTION___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.INTERACTION___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.INTERACTION___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.INTERACTION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.INTERACTION___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.INTERACTION___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.INTERACTION___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.INTERACTION___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.INTERACTION___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.INTERACTION___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.INTERACTION___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.INTERACTION___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.INTERACTION___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.INTERACTION___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.INTERACTION___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.INTERACTION___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.INTERACTION___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.INTERACTION___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.INTERACTION___PARENTS :
+ return parents();
+ case UMLPackage.INTERACTION___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.INTERACTION___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.INTERACTION___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.INTERACTION___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.INTERACTION___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.INTERACTION___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.INTERACTION___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.INTERACTION___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.INTERACTION___GET_PARTS :
+ return getParts();
+ case UMLPackage.INTERACTION___ALL_ROLES :
+ return allRoles();
+ case UMLPackage.INTERACTION___GET_OWNED_PORTS :
+ return getOwnedPorts();
+ case UMLPackage.INTERACTION___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.INTERACTION___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ case UMLPackage.INTERACTION___VALIDATE_PASSIVE_CLASS__DIAGNOSTICCHAIN_MAP :
+ return validatePassiveClass((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ case UMLPackage.INTERACTION___IS_METACLASS :
+ return isMetaclass();
+ case UMLPackage.INTERACTION___GET_EXTENSIONS :
+ return getExtensions();
+ case UMLPackage.INTERACTION___GET_SUPER_CLASSES :
+ return getSuperClasses();
+ case UMLPackage.INTERACTION___VALIDATE_MOST_ONE_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateMostOneBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___VALIDATE_PARAMETERS_MATCH__DIAGNOSTICCHAIN_MAP :
+ return validateParametersMatch(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateFeatureOfContextClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.INTERACTION___BEHAVIORED_CLASSIFIER__ELEMENT :
+ return behavioredClassifier((Element) arguments.get(0));
+ case UMLPackage.INTERACTION___INPUT_PARAMETERS :
+ return inputParameters();
+ case UMLPackage.INTERACTION___OUTPUT_PARAMETERS :
+ return outputParameters();
+ case UMLPackage.INTERACTION___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
+ return validateNotContained((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.INTERACTION__OWNED_COMMENT,
+ UMLPackage.INTERACTION__NAME_EXPRESSION,
+ UMLPackage.INTERACTION__ELEMENT_IMPORT,
+ UMLPackage.INTERACTION__PACKAGE_IMPORT,
+ UMLPackage.INTERACTION__OWNED_MEMBER,
+ UMLPackage.INTERACTION__TEMPLATE_BINDING,
+ UMLPackage.INTERACTION__OWNED_TEMPLATE_SIGNATURE,
+ UMLPackage.INTERACTION__COLLABORATION_USE,
+ UMLPackage.INTERACTION__GENERALIZATION,
+ UMLPackage.INTERACTION__SUBSTITUTION,
+ UMLPackage.INTERACTION__INTERFACE_REALIZATION,
+ UMLPackage.INTERACTION__GENERAL_ORDERING,
+ UMLPackage.INTERACTION__ACTION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.INTERACTION__GENERAL_ORDERING)
+ || eIsSet(UMLPackage.INTERACTION__ACTION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ InteractionOperand enclosingOperand = basicGetEnclosingOperand();
+ if (enclosingOperand != null) {
+ return enclosingOperand;
+ }
+ Interaction enclosingInteraction = basicGetEnclosingInteraction();
+ if (enclosingInteraction != null) {
+ return enclosingInteraction;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace()
+ || eIsSet(UMLPackage.INTERACTION__ENCLOSING_OPERAND)
+ || eIsSet(UMLPackage.INTERACTION__ENCLOSING_INTERACTION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.INTERACTION__OWNED_RULE,
+ UMLPackage.INTERACTION__OWNED_USE_CASE,
+ UMLPackage.INTERACTION__OWNED_ATTRIBUTE,
+ UMLPackage.INTERACTION__OWNED_CONNECTOR,
+ UMLPackage.INTERACTION__OWNED_BEHAVIOR,
+ UMLPackage.INTERACTION__OWNED_OPERATION,
+ UMLPackage.INTERACTION__NESTED_CLASSIFIER,
+ UMLPackage.INTERACTION__OWNED_RECEPTION,
+ UMLPackage.INTERACTION__OWNED_PARAMETER,
+ UMLPackage.INTERACTION__OWNED_PARAMETER_SET,
+ UMLPackage.INTERACTION__LIFELINE, UMLPackage.INTERACTION__FRAGMENT,
+ UMLPackage.INTERACTION__FORMAL_GATE, UMLPackage.INTERACTION__MESSAGE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.INTERACTION__LIFELINE)
+ || eIsSet(UMLPackage.INTERACTION__FRAGMENT)
+ || eIsSet(UMLPackage.INTERACTION__FORMAL_GATE)
+ || eIsSet(UMLPackage.INTERACTION__MESSAGE);
+ }
+
+} //InteractionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionOperandImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionOperandImpl.java
new file mode 100644
index 00000000..b8a6e958
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionOperandImpl.java
@@ -0,0 +1,1170 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionFragment;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.InteractionOperandOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interaction Operand</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionOperandImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionOperandImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionOperandImpl#getCovereds <em>Covered</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionOperandImpl#getEnclosingOperand <em>Enclosing Operand</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionOperandImpl#getEnclosingInteraction <em>Enclosing Interaction</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionOperandImpl#getGeneralOrderings <em>General Ordering</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionOperandImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionOperandImpl#getFragments <em>Fragment</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionOperandImpl#getGuard <em>Guard</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InteractionOperandImpl
+ extends NamespaceImpl
+ implements InteractionOperand {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InteractionOperandImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INTERACTION_OPERAND;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.INTERACTION_OPERAND__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.INTERACTION_OPERAND__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Lifeline> getCovereds() {
+ return (EList<Lifeline>) eDynamicGet(
+ UMLPackage.INTERACTION_OPERAND__COVERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__COVERED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lifeline getCovered(String name) {
+ return getCovered(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lifeline getCovered(String name, boolean ignoreCase) {
+ coveredLoop : for (Lifeline covered : getCovereds()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(covered.getName())
+ : name.equals(covered.getName())))
+ continue coveredLoop;
+ return covered;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<GeneralOrdering> getGeneralOrderings() {
+ return (EList<GeneralOrdering>) eDynamicGet(
+ UMLPackage.INTERACTION_OPERAND__GENERAL_ORDERING
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__GENERAL_ORDERING, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering createGeneralOrdering(String name) {
+ GeneralOrdering newGeneralOrdering = (GeneralOrdering) create(
+ UMLPackage.Literals.GENERAL_ORDERING);
+ getGeneralOrderings().add(newGeneralOrdering);
+ if (name != null)
+ newGeneralOrdering.setName(name);
+ return newGeneralOrdering;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering getGeneralOrdering(String name) {
+ return getGeneralOrdering(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering getGeneralOrdering(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ generalOrderingLoop : for (GeneralOrdering generalOrdering : getGeneralOrderings()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(generalOrdering.getName())
+ : name.equals(generalOrdering.getName())))
+ continue generalOrderingLoop;
+ return generalOrdering;
+ }
+ return createOnDemand
+ ? createGeneralOrdering(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interaction getEnclosingInteraction() {
+ return (Interaction) eDynamicGet(
+ UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interaction basicGetEnclosingInteraction() {
+ return (Interaction) eDynamicGet(
+ UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEnclosingInteraction(
+ Interaction newEnclosingInteraction, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newEnclosingInteraction,
+ UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnclosingInteraction(Interaction newEnclosingInteraction) {
+ eDynamicSet(
+ UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION,
+ newEnclosingInteraction);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperand getEnclosingOperand() {
+ return (InteractionOperand) eDynamicGet(
+ UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_OPERAND, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperand basicGetEnclosingOperand() {
+ return (InteractionOperand) eDynamicGet(
+ UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_OPERAND, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEnclosingOperand(
+ InteractionOperand newEnclosingOperand, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newEnclosingOperand,
+ UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnclosingOperand(InteractionOperand newEnclosingOperand) {
+ eDynamicSet(
+ UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__ENCLOSING_OPERAND,
+ newEnclosingOperand);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.INTERACTION_OPERAND__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.INTERACTION_OPERAND__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionConstraint getGuard() {
+ return (InteractionConstraint) eDynamicGet(
+ UMLPackage.INTERACTION_OPERAND__GUARD - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_OPERAND__GUARD, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionConstraint basicGetGuard() {
+ return (InteractionConstraint) eDynamicGet(
+ UMLPackage.INTERACTION_OPERAND__GUARD - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_OPERAND__GUARD, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetGuard(InteractionConstraint newGuard,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newGuard,
+ UMLPackage.INTERACTION_OPERAND__GUARD, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGuard(InteractionConstraint newGuard) {
+ eDynamicSet(
+ UMLPackage.INTERACTION_OPERAND__GUARD - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_OPERAND__GUARD, newGuard);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionConstraint createGuard(String name) {
+ InteractionConstraint newGuard = (InteractionConstraint) create(
+ UMLPackage.Literals.INTERACTION_CONSTRAINT);
+ setGuard(newGuard);
+ if (name != null)
+ newGuard.setName(name);
+ return newGuard;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InteractionFragment> getFragments() {
+ return (EList<InteractionFragment>) eDynamicGet(
+ UMLPackage.INTERACTION_OPERAND__FRAGMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_OPERAND__FRAGMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionFragment createFragment(String name, EClass eClass) {
+ InteractionFragment newFragment = (InteractionFragment) create(eClass);
+ getFragments().add(newFragment);
+ if (name != null)
+ newFragment.setName(name);
+ return newFragment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionFragment getFragment(String name) {
+ return getFragment(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionFragment getFragment(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ fragmentLoop : for (InteractionFragment fragment : getFragments()) {
+ if (eClass != null && !eClass.isInstance(fragment))
+ continue fragmentLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(fragment.getName())
+ : name.equals(fragment.getName())))
+ continue fragmentLoop;
+ return fragment;
+ }
+ return createOnDemand && eClass != null
+ ? createFragment(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGuardDirectlyPrior(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InteractionOperandOperations.validateGuardDirectlyPrior(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGuardContainReferences(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InteractionOperandOperations.validateGuardContainReferences(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_OPERAND__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION_OPERAND__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION_OPERAND__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION_OPERAND__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION_OPERAND__COVERED :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getCovereds())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetEnclosingOperand((InteractionOperand) otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetEnclosingInteraction((Interaction) otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION_OPERAND__FRAGMENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getFragments())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_OPERAND__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_OPERAND__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_OPERAND__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.INTERACTION_OPERAND__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_OPERAND__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_OPERAND__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_OPERAND__COVERED :
+ return ((InternalEList<?>) getCovereds()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND :
+ return basicSetEnclosingOperand(null, msgs);
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION :
+ return basicSetEnclosingInteraction(null, msgs);
+ case UMLPackage.INTERACTION_OPERAND__GENERAL_ORDERING :
+ return ((InternalEList<?>) getGeneralOrderings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_OPERAND__FRAGMENT :
+ return ((InternalEList<?>) getFragments()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION_OPERAND__GUARD :
+ return basicSetGuard(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.INTERACTION_OPERAND__FRAGMENT,
+ InteractionOperand.class, msgs);
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.INTERACTION__FRAGMENT, Interaction.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_OPERAND__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INTERACTION_OPERAND__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INTERACTION_OPERAND__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INTERACTION_OPERAND__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INTERACTION_OPERAND__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INTERACTION_OPERAND__NAME :
+ return getName();
+ case UMLPackage.INTERACTION_OPERAND__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INTERACTION_OPERAND__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INTERACTION_OPERAND__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERACTION_OPERAND__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INTERACTION_OPERAND__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.INTERACTION_OPERAND__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.INTERACTION_OPERAND__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.INTERACTION_OPERAND__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.INTERACTION_OPERAND__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.INTERACTION_OPERAND__MEMBER :
+ return getMembers();
+ case UMLPackage.INTERACTION_OPERAND__COVERED :
+ return getCovereds();
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.INTERACTION_OPERAND__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ case UMLPackage.INTERACTION_OPERAND__FRAGMENT :
+ return getFragments();
+ case UMLPackage.INTERACTION_OPERAND__GUARD :
+ if (resolve)
+ return getGuard();
+ return basicGetGuard();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_OPERAND__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__FRAGMENT :
+ getFragments().clear();
+ getFragments().addAll(
+ (Collection<? extends InteractionFragment>) newValue);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__GUARD :
+ setGuard((InteractionConstraint) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_OPERAND__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INTERACTION_OPERAND__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INTERACTION_OPERAND__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INTERACTION_OPERAND__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INTERACTION_OPERAND__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.INTERACTION_OPERAND__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.INTERACTION_OPERAND__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.INTERACTION_OPERAND__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.INTERACTION_OPERAND__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ case UMLPackage.INTERACTION_OPERAND__FRAGMENT :
+ getFragments().clear();
+ return;
+ case UMLPackage.INTERACTION_OPERAND__GUARD :
+ setGuard((InteractionConstraint) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_OPERAND__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INTERACTION_OPERAND__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INTERACTION_OPERAND__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INTERACTION_OPERAND__OWNER :
+ return isSetOwner();
+ case UMLPackage.INTERACTION_OPERAND__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INTERACTION_OPERAND__NAME :
+ return isSetName();
+ case UMLPackage.INTERACTION_OPERAND__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INTERACTION_OPERAND__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INTERACTION_OPERAND__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INTERACTION_OPERAND__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INTERACTION_OPERAND__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.INTERACTION_OPERAND__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.INTERACTION_OPERAND__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.INTERACTION_OPERAND__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.INTERACTION_OPERAND__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.INTERACTION_OPERAND__MEMBER :
+ return isSetMembers();
+ case UMLPackage.INTERACTION_OPERAND__COVERED :
+ return !getCovereds().isEmpty();
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.INTERACTION_OPERAND__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ case UMLPackage.INTERACTION_OPERAND__FRAGMENT :
+ return !getFragments().isEmpty();
+ case UMLPackage.INTERACTION_OPERAND__GUARD :
+ return basicGetGuard() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == InteractionFragment.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.INTERACTION_OPERAND__COVERED :
+ return UMLPackage.INTERACTION_FRAGMENT__COVERED;
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND :
+ return UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND;
+ case UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION :
+ return UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION;
+ case UMLPackage.INTERACTION_OPERAND__GENERAL_ORDERING :
+ return UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == InteractionFragment.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.INTERACTION_FRAGMENT__COVERED :
+ return UMLPackage.INTERACTION_OPERAND__COVERED;
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_OPERAND :
+ return UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND;
+ case UMLPackage.INTERACTION_FRAGMENT__ENCLOSING_INTERACTION :
+ return UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION;
+ case UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING :
+ return UMLPackage.INTERACTION_OPERAND__GENERAL_ORDERING;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.INTERACTION_OPERAND___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.INTERACTION_OPERAND___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.INTERACTION_OPERAND___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.INTERACTION_OPERAND___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.INTERACTION_OPERAND___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___GET_MODEL :
+ return getModel();
+ case UMLPackage.INTERACTION_OPERAND___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.INTERACTION_OPERAND___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.INTERACTION_OPERAND___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.INTERACTION_OPERAND___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.INTERACTION_OPERAND___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.INTERACTION_OPERAND___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.INTERACTION_OPERAND___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.INTERACTION_OPERAND___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.INTERACTION_OPERAND___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.INTERACTION_OPERAND___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___GET_LABEL :
+ return getLabel();
+ case UMLPackage.INTERACTION_OPERAND___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.INTERACTION_OPERAND___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.INTERACTION_OPERAND___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.INTERACTION_OPERAND___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERACTION_OPERAND___SEPARATOR :
+ return separator();
+ case UMLPackage.INTERACTION_OPERAND___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.INTERACTION_OPERAND___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.INTERACTION_OPERAND___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.INTERACTION_OPERAND___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.INTERACTION_OPERAND___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.INTERACTION_OPERAND___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.INTERACTION_OPERAND___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.INTERACTION_OPERAND___VALIDATE_GUARD_CONTAIN_REFERENCES__DIAGNOSTICCHAIN_MAP :
+ return validateGuardContainReferences(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_OPERAND___VALIDATE_GUARD_DIRECTLY_PRIOR__DIAGNOSTICCHAIN_MAP :
+ return validateGuardDirectlyPrior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.INTERACTION_OPERAND__OWNED_COMMENT,
+ UMLPackage.INTERACTION_OPERAND__NAME_EXPRESSION,
+ UMLPackage.INTERACTION_OPERAND__ELEMENT_IMPORT,
+ UMLPackage.INTERACTION_OPERAND__PACKAGE_IMPORT,
+ UMLPackage.INTERACTION_OPERAND__OWNED_MEMBER,
+ UMLPackage.INTERACTION_OPERAND__GENERAL_ORDERING,
+ UMLPackage.INTERACTION_OPERAND__GUARD};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.INTERACTION_OPERAND__GENERAL_ORDERING)
+ || eIsSet(UMLPackage.INTERACTION_OPERAND__GUARD);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ InteractionOperand enclosingOperand = basicGetEnclosingOperand();
+ if (enclosingOperand != null) {
+ return enclosingOperand;
+ }
+ Interaction enclosingInteraction = basicGetEnclosingInteraction();
+ if (enclosingInteraction != null) {
+ return enclosingInteraction;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace()
+ || eIsSet(UMLPackage.INTERACTION_OPERAND__ENCLOSING_OPERAND)
+ || eIsSet(UMLPackage.INTERACTION_OPERAND__ENCLOSING_INTERACTION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.INTERACTION_OPERAND__OWNED_RULE,
+ UMLPackage.INTERACTION_OPERAND__FRAGMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.INTERACTION_OPERAND__FRAGMENT);
+ }
+
+} //InteractionOperandImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionUseImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionUseImpl.java
new file mode 100644
index 00000000..52a46961
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InteractionUseImpl.java
@@ -0,0 +1,898 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.InteractionUseOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interaction Use</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionUseImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionUseImpl#getActualGates <em>Actual Gate</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionUseImpl#getArguments <em>Argument</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionUseImpl#getRefersTo <em>Refers To</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionUseImpl#getReturnValue <em>Return Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InteractionUseImpl#getReturnValueRecipient <em>Return Value Recipient</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InteractionUseImpl
+ extends InteractionFragmentImpl
+ implements InteractionUse {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InteractionUseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INTERACTION_USE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.INTERACTION_USE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.INTERACTION_USE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interaction getRefersTo() {
+ return (Interaction) eDynamicGet(
+ UMLPackage.INTERACTION_USE__REFERS_TO - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_USE__REFERS_TO, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interaction basicGetRefersTo() {
+ return (Interaction) eDynamicGet(
+ UMLPackage.INTERACTION_USE__REFERS_TO - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_USE__REFERS_TO, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRefersTo(Interaction newRefersTo) {
+ eDynamicSet(
+ UMLPackage.INTERACTION_USE__REFERS_TO - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_USE__REFERS_TO, newRefersTo);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getReturnValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INTERACTION_USE__RETURN_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_USE__RETURN_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetReturnValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INTERACTION_USE__RETURN_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_USE__RETURN_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetReturnValue(
+ ValueSpecification newReturnValue, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newReturnValue,
+ UMLPackage.INTERACTION_USE__RETURN_VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReturnValue(ValueSpecification newReturnValue) {
+ eDynamicSet(
+ UMLPackage.INTERACTION_USE__RETURN_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_USE__RETURN_VALUE, newReturnValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createReturnValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newReturnValue = (ValueSpecification) create(eClass);
+ setReturnValue(newReturnValue);
+ if (name != null)
+ newReturnValue.setName(name);
+ if (type != null)
+ newReturnValue.setType(type);
+ return newReturnValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getReturnValueRecipient() {
+ return (Property) eDynamicGet(
+ UMLPackage.INTERACTION_USE__RETURN_VALUE_RECIPIENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_USE__RETURN_VALUE_RECIPIENT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetReturnValueRecipient() {
+ return (Property) eDynamicGet(
+ UMLPackage.INTERACTION_USE__RETURN_VALUE_RECIPIENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_USE__RETURN_VALUE_RECIPIENT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReturnValueRecipient(Property newReturnValueRecipient) {
+ eDynamicSet(
+ UMLPackage.INTERACTION_USE__RETURN_VALUE_RECIPIENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_USE__RETURN_VALUE_RECIPIENT,
+ newReturnValueRecipient);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Gate> getActualGates() {
+ return (EList<Gate>) eDynamicGet(
+ UMLPackage.INTERACTION_USE__ACTUAL_GATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_USE__ACTUAL_GATE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Gate createActualGate(String name) {
+ Gate newActualGate = (Gate) create(UMLPackage.Literals.GATE);
+ getActualGates().add(newActualGate);
+ if (name != null)
+ newActualGate.setName(name);
+ return newActualGate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Gate getActualGate(String name) {
+ return getActualGate(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Gate getActualGate(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ actualGateLoop : for (Gate actualGate : getActualGates()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(actualGate.getName())
+ : name.equals(actualGate.getName())))
+ continue actualGateLoop;
+ return actualGate;
+ }
+ return createOnDemand
+ ? createActualGate(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ValueSpecification> getArguments() {
+ return (EList<ValueSpecification>) eDynamicGet(
+ UMLPackage.INTERACTION_USE__ARGUMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_USE__ARGUMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createArgument(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newArgument = (ValueSpecification) create(eClass);
+ getArguments().add(newArgument);
+ if (name != null)
+ newArgument.setName(name);
+ if (type != null)
+ newArgument.setType(type);
+ return newArgument;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getArgument(String name, Type type) {
+ return getArgument(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getArgument(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ argumentLoop : for (ValueSpecification argument : getArguments()) {
+ if (eClass != null && !eClass.isInstance(argument))
+ continue argumentLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(argument.getName())
+ : name.equals(argument.getName())))
+ continue argumentLoop;
+ if (type != null && !type.equals(argument.getType()))
+ continue argumentLoop;
+ return argument;
+ }
+ return createOnDemand && eClass != null
+ ? createArgument(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGatesMatch(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InteractionUseOperations.validateGatesMatch(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAllLifelines(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InteractionUseOperations.validateAllLifelines(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateArgumentsCorrespondToParameters(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return InteractionUseOperations.validateArgumentsCorrespondToParameters(
+ this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateReturnValueTypeRecipientCorrespondence(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return InteractionUseOperations
+ .validateReturnValueTypeRecipientCorrespondence(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateArgumentsAreConstants(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InteractionUseOperations.validateArgumentsAreConstants(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateReturnValueRecipientCoverage(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return InteractionUseOperations
+ .validateReturnValueRecipientCoverage(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_USE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_USE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_USE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.INTERACTION_USE__COVERED :
+ return ((InternalEList<?>) getCovereds()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION_USE__ENCLOSING_OPERAND :
+ return basicSetEnclosingOperand(null, msgs);
+ case UMLPackage.INTERACTION_USE__ENCLOSING_INTERACTION :
+ return basicSetEnclosingInteraction(null, msgs);
+ case UMLPackage.INTERACTION_USE__GENERAL_ORDERING :
+ return ((InternalEList<?>) getGeneralOrderings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_USE__ACTUAL_GATE :
+ return ((InternalEList<?>) getActualGates())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERACTION_USE__ARGUMENT :
+ return ((InternalEList<?>) getArguments()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INTERACTION_USE__RETURN_VALUE :
+ return basicSetReturnValue(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_USE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INTERACTION_USE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INTERACTION_USE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INTERACTION_USE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INTERACTION_USE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INTERACTION_USE__NAME :
+ return getName();
+ case UMLPackage.INTERACTION_USE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INTERACTION_USE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INTERACTION_USE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERACTION_USE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INTERACTION_USE__COVERED :
+ return getCovereds();
+ case UMLPackage.INTERACTION_USE__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.INTERACTION_USE__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.INTERACTION_USE__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ case UMLPackage.INTERACTION_USE__ACTUAL_GATE :
+ return getActualGates();
+ case UMLPackage.INTERACTION_USE__ARGUMENT :
+ return getArguments();
+ case UMLPackage.INTERACTION_USE__REFERS_TO :
+ if (resolve)
+ return getRefersTo();
+ return basicGetRefersTo();
+ case UMLPackage.INTERACTION_USE__RETURN_VALUE :
+ if (resolve)
+ return getReturnValue();
+ return basicGetReturnValue();
+ case UMLPackage.INTERACTION_USE__RETURN_VALUE_RECIPIENT :
+ if (resolve)
+ return getReturnValueRecipient();
+ return basicGetReturnValueRecipient();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_USE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INTERACTION_USE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INTERACTION_USE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INTERACTION_USE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INTERACTION_USE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INTERACTION_USE__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.INTERACTION_USE__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.INTERACTION_USE__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.INTERACTION_USE__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.INTERACTION_USE__ACTUAL_GATE :
+ getActualGates().clear();
+ getActualGates().addAll((Collection<? extends Gate>) newValue);
+ return;
+ case UMLPackage.INTERACTION_USE__ARGUMENT :
+ getArguments().clear();
+ getArguments().addAll(
+ (Collection<? extends ValueSpecification>) newValue);
+ return;
+ case UMLPackage.INTERACTION_USE__REFERS_TO :
+ setRefersTo((Interaction) newValue);
+ return;
+ case UMLPackage.INTERACTION_USE__RETURN_VALUE :
+ setReturnValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.INTERACTION_USE__RETURN_VALUE_RECIPIENT :
+ setReturnValueRecipient((Property) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_USE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INTERACTION_USE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INTERACTION_USE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INTERACTION_USE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INTERACTION_USE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INTERACTION_USE__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.INTERACTION_USE__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.INTERACTION_USE__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.INTERACTION_USE__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ case UMLPackage.INTERACTION_USE__ACTUAL_GATE :
+ getActualGates().clear();
+ return;
+ case UMLPackage.INTERACTION_USE__ARGUMENT :
+ getArguments().clear();
+ return;
+ case UMLPackage.INTERACTION_USE__REFERS_TO :
+ setRefersTo((Interaction) null);
+ return;
+ case UMLPackage.INTERACTION_USE__RETURN_VALUE :
+ setReturnValue((ValueSpecification) null);
+ return;
+ case UMLPackage.INTERACTION_USE__RETURN_VALUE_RECIPIENT :
+ setReturnValueRecipient((Property) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERACTION_USE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INTERACTION_USE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INTERACTION_USE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INTERACTION_USE__OWNER :
+ return isSetOwner();
+ case UMLPackage.INTERACTION_USE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INTERACTION_USE__NAME :
+ return isSetName();
+ case UMLPackage.INTERACTION_USE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INTERACTION_USE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INTERACTION_USE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INTERACTION_USE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INTERACTION_USE__COVERED :
+ return !getCovereds().isEmpty();
+ case UMLPackage.INTERACTION_USE__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.INTERACTION_USE__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.INTERACTION_USE__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ case UMLPackage.INTERACTION_USE__ACTUAL_GATE :
+ return !getActualGates().isEmpty();
+ case UMLPackage.INTERACTION_USE__ARGUMENT :
+ return !getArguments().isEmpty();
+ case UMLPackage.INTERACTION_USE__REFERS_TO :
+ return basicGetRefersTo() != null;
+ case UMLPackage.INTERACTION_USE__RETURN_VALUE :
+ return basicGetReturnValue() != null;
+ case UMLPackage.INTERACTION_USE__RETURN_VALUE_RECIPIENT :
+ return basicGetReturnValueRecipient() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.INTERACTION_USE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.INTERACTION_USE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.INTERACTION_USE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.INTERACTION_USE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.INTERACTION_USE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___GET_MODEL :
+ return getModel();
+ case UMLPackage.INTERACTION_USE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.INTERACTION_USE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.INTERACTION_USE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.INTERACTION_USE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.INTERACTION_USE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.INTERACTION_USE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.INTERACTION_USE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.INTERACTION_USE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.INTERACTION_USE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.INTERACTION_USE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.INTERACTION_USE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.INTERACTION_USE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.INTERACTION_USE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.INTERACTION_USE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.INTERACTION_USE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERACTION_USE___SEPARATOR :
+ return separator();
+ case UMLPackage.INTERACTION_USE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.INTERACTION_USE___VALIDATE_GATES_MATCH__DIAGNOSTICCHAIN_MAP :
+ return validateGatesMatch((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___VALIDATE_ARGUMENTS_ARE_CONSTANTS__DIAGNOSTICCHAIN_MAP :
+ return validateArgumentsAreConstants(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___VALIDATE_RETURN_VALUE_RECIPIENT_COVERAGE__DIAGNOSTICCHAIN_MAP :
+ return validateReturnValueRecipientCoverage(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___VALIDATE_ARGUMENTS_CORRESPOND_TO_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+ return validateArgumentsCorrespondToParameters(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___VALIDATE_RETURN_VALUE_TYPE_RECIPIENT_CORRESPONDENCE__DIAGNOSTICCHAIN_MAP :
+ return validateReturnValueTypeRecipientCorrespondence(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERACTION_USE___VALIDATE_ALL_LIFELINES__DIAGNOSTICCHAIN_MAP :
+ return validateAllLifelines((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.INTERACTION_USE__OWNED_COMMENT,
+ UMLPackage.INTERACTION_USE__NAME_EXPRESSION,
+ UMLPackage.INTERACTION_USE__GENERAL_ORDERING,
+ UMLPackage.INTERACTION_USE__ACTUAL_GATE,
+ UMLPackage.INTERACTION_USE__ARGUMENT,
+ UMLPackage.INTERACTION_USE__RETURN_VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.INTERACTION_USE__ACTUAL_GATE)
+ || eIsSet(UMLPackage.INTERACTION_USE__ARGUMENT)
+ || eIsSet(UMLPackage.INTERACTION_USE__RETURN_VALUE);
+ }
+
+} //InteractionUseImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InterfaceImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InterfaceImpl.java
new file mode 100644
index 00000000..364adda7
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InterfaceImpl.java
@@ -0,0 +1,1687 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.InterfaceOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interface</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceImpl#getAttributes <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceImpl#getFeatures <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceImpl#getRedefinedClassifiers <em>Redefined Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceImpl#getNestedClassifiers <em>Nested Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceImpl#getOwnedAttributes <em>Owned Attribute</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceImpl#getOwnedReceptions <em>Owned Reception</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceImpl#getProtocol <em>Protocol</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceImpl#getRedefinedInterfaces <em>Redefined Interface</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceImpl#getOwnedOperations <em>Owned Operation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InterfaceImpl
+ extends ClassifierImpl
+ implements Interface {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InterfaceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INTERFACE;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.CLASSIFIER__REDEFINED_CLASSIFIER) {
+ return createRedefinedClassifiersList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.INTERFACE__REDEFINED_INTERFACE) {
+ return createRedefinedInterfacesList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Property> getAttributes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Property> attributes = (EList<Property>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__ATTRIBUTE);
+ if (attributes == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__ATTRIBUTE,
+ attributes = new DerivedUnionEObjectEList<Property>(
+ Property.class, this, UMLPackage.INTERFACE__ATTRIBUTE,
+ ATTRIBUTE_ESUBSETS));
+ }
+ return attributes;
+ }
+ return new DerivedUnionEObjectEList<Property>(Property.class, this,
+ UMLPackage.INTERFACE__ATTRIBUTE, ATTRIBUTE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.INTERFACE__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.INTERFACE__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Feature> getFeatures() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Feature> features = (EList<Feature>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__FEATURE);
+ if (features == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__FEATURE,
+ features = new DerivedUnionEObjectEList<Feature>(
+ Feature.class, this, UMLPackage.INTERFACE__FEATURE,
+ FEATURE_ESUBSETS));
+ }
+ return features;
+ }
+ return new DerivedUnionEObjectEList<Feature>(Feature.class, this,
+ UMLPackage.INTERFACE__FEATURE, FEATURE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getOwnedAttributes() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.INTERFACE__OWNED_ATTRIBUTE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE__OWNED_ATTRIBUTE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type,
+ EClass eClass) {
+ Property newOwnedAttribute = (Property) create(eClass);
+ getOwnedAttributes().add(newOwnedAttribute);
+ if (name != null)
+ newOwnedAttribute.setName(name);
+ if (type != null)
+ newOwnedAttribute.setType(type);
+ return newOwnedAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type) {
+ return createOwnedAttribute(name, type, UMLPackage.Literals.PROPERTY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedAttribute(String name, Type type) {
+ return getOwnedAttribute(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedAttribute(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ ownedAttributeLoop : for (Property ownedAttribute : getOwnedAttributes()) {
+ if (eClass != null && !eClass.isInstance(ownedAttribute))
+ continue ownedAttributeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedAttribute.getName())
+ : name.equals(ownedAttribute.getName())))
+ continue ownedAttributeLoop;
+ if (type != null && !type.equals(ownedAttribute.getType()))
+ continue ownedAttributeLoop;
+ return ownedAttribute;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedAttribute(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getNestedClassifiers() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.INTERFACE__NESTED_CLASSIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE__NESTED_CLASSIFIER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier createNestedClassifier(String name, EClass eClass) {
+ Classifier newNestedClassifier = (Classifier) create(eClass);
+ getNestedClassifiers().add(newNestedClassifier);
+ if (name != null)
+ newNestedClassifier.setName(name);
+ return newNestedClassifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getNestedClassifier(String name) {
+ return getNestedClassifier(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getNestedClassifier(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ nestedClassifierLoop : for (Classifier nestedClassifier : getNestedClassifiers()) {
+ if (eClass != null && !eClass.isInstance(nestedClassifier))
+ continue nestedClassifierLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(nestedClassifier.getName())
+ : name.equals(nestedClassifier.getName())))
+ continue nestedClassifierLoop;
+ return nestedClassifier;
+ }
+ return createOnDemand && eClass != null
+ ? createNestedClassifier(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Interface> getRedefinedInterfaces() {
+ return (EList<Interface>) eDynamicGet(
+ UMLPackage.INTERFACE__REDEFINED_INTERFACE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE__REDEFINED_INTERFACE, true, true);
+ }
+
+ private EList<Interface> createRedefinedInterfacesList() {
+ return new SubsetSupersetEObjectResolvingEList<Interface>(
+ Interface.class, this, UMLPackage.INTERFACE__REDEFINED_INTERFACE,
+ REDEFINED_INTERFACE_ESUPERSETS, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Reception> getOwnedReceptions() {
+ return (EList<Reception>) eDynamicGet(
+ UMLPackage.INTERFACE__OWNED_RECEPTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE__OWNED_RECEPTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Reception createOwnedReception(String name,
+ EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ Reception newOwnedReception = (Reception) create(
+ UMLPackage.Literals.RECEPTION);
+ getOwnedReceptions().add(newOwnedReception);
+ if (name != null)
+ newOwnedReception.setName(name);
+ int ownedParameterListSize = 0;
+ int ownedParameterNamesSize = ownedParameterNames == null
+ ? 0
+ : ownedParameterNames.size();
+ if (ownedParameterNamesSize > ownedParameterListSize)
+ ownedParameterListSize = ownedParameterNamesSize;
+ int ownedParameterTypesSize = ownedParameterTypes == null
+ ? 0
+ : ownedParameterTypes.size();
+ if (ownedParameterTypesSize > ownedParameterListSize)
+ ownedParameterListSize = ownedParameterTypesSize;
+ for (int i = 0; i < ownedParameterListSize; i++) {
+ newOwnedReception.createOwnedParameter(i < ownedParameterNamesSize
+ ? (String) ownedParameterNames.get(i)
+ : null,
+ i < ownedParameterTypesSize
+ ? (Type) ownedParameterTypes.get(i)
+ : null);
+ }
+ return newOwnedReception;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Reception getOwnedReception(String name,
+ EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ return getOwnedReception(name, ownedParameterNames, ownedParameterTypes,
+ false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Reception getOwnedReception(String name,
+ EList<String> ownedParameterNames, EList<Type> ownedParameterTypes,
+ boolean ignoreCase, boolean createOnDemand) {
+ ownedReceptionLoop : for (Reception ownedReception : getOwnedReceptions()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedReception.getName())
+ : name.equals(ownedReception.getName())))
+ continue ownedReceptionLoop;
+ EList<Parameter> ownedParameterList = ownedReception
+ .getOwnedParameters();
+ int ownedParameterListSize = ownedParameterList.size();
+ if (ownedParameterNames != null
+ && ownedParameterNames.size() != ownedParameterListSize
+ || (ownedParameterTypes != null
+ && ownedParameterTypes.size() != ownedParameterListSize))
+ continue ownedReceptionLoop;
+ for (int j = 0; j < ownedParameterListSize; j++) {
+ Parameter ownedParameter = ownedParameterList.get(j);
+ if (ownedParameterNames != null && !(ignoreCase
+ ? (ownedParameterNames.get(j))
+ .equalsIgnoreCase(ownedParameter.getName())
+ : ownedParameterNames.get(j)
+ .equals(ownedParameter.getName())))
+ continue ownedReceptionLoop;
+ if (ownedParameterTypes != null && !ownedParameterTypes.get(j)
+ .equals(ownedParameter.getType()))
+ continue ownedReceptionLoop;
+ }
+ return ownedReception;
+ }
+ return createOnDemand
+ ? createOwnedReception(name, ownedParameterNames,
+ ownedParameterTypes)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolStateMachine getProtocol() {
+ return (ProtocolStateMachine) eDynamicGet(
+ UMLPackage.INTERFACE__PROTOCOL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE__PROTOCOL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolStateMachine basicGetProtocol() {
+ return (ProtocolStateMachine) eDynamicGet(
+ UMLPackage.INTERFACE__PROTOCOL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE__PROTOCOL, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetProtocol(ProtocolStateMachine newProtocol,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newProtocol,
+ UMLPackage.INTERFACE__PROTOCOL, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProtocol(ProtocolStateMachine newProtocol) {
+ eDynamicSet(UMLPackage.INTERFACE__PROTOCOL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE__PROTOCOL, newProtocol);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolStateMachine createProtocol(String name) {
+ ProtocolStateMachine newProtocol = (ProtocolStateMachine) create(
+ UMLPackage.Literals.PROTOCOL_STATE_MACHINE);
+ setProtocol(newProtocol);
+ if (name != null)
+ newProtocol.setName(name);
+ return newProtocol;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Operation> getOwnedOperations() {
+ return (EList<Operation>) eDynamicGet(
+ UMLPackage.INTERFACE__OWNED_OPERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE__OWNED_OPERATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation createOwnedOperation(String name,
+ EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ Operation newOwnedOperation = (Operation) create(
+ UMLPackage.Literals.OPERATION);
+ getOwnedOperations().add(newOwnedOperation);
+ if (name != null)
+ newOwnedOperation.setName(name);
+ int ownedParameterListSize = 0;
+ int ownedParameterNamesSize = ownedParameterNames == null
+ ? 0
+ : ownedParameterNames.size();
+ if (ownedParameterNamesSize > ownedParameterListSize)
+ ownedParameterListSize = ownedParameterNamesSize;
+ int ownedParameterTypesSize = ownedParameterTypes == null
+ ? 0
+ : ownedParameterTypes.size();
+ if (ownedParameterTypesSize > ownedParameterListSize)
+ ownedParameterListSize = ownedParameterTypesSize;
+ for (int i = 0; i < ownedParameterListSize; i++) {
+ newOwnedOperation.createOwnedParameter(i < ownedParameterNamesSize
+ ? (String) ownedParameterNames.get(i)
+ : null,
+ i < ownedParameterTypesSize
+ ? (Type) ownedParameterTypes.get(i)
+ : null);
+ }
+ return newOwnedOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOwnedOperation(String name,
+ EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ return getOwnedOperation(name, ownedParameterNames, ownedParameterTypes,
+ false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOwnedOperation(String name,
+ EList<String> ownedParameterNames, EList<Type> ownedParameterTypes,
+ boolean ignoreCase, boolean createOnDemand) {
+ ownedOperationLoop : for (Operation ownedOperation : getOwnedOperations()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedOperation.getName())
+ : name.equals(ownedOperation.getName())))
+ continue ownedOperationLoop;
+ EList<Parameter> ownedParameterList = ownedOperation
+ .getOwnedParameters();
+ int ownedParameterListSize = ownedParameterList.size();
+ if (ownedParameterNames != null
+ && ownedParameterNames.size() != ownedParameterListSize
+ || (ownedParameterTypes != null
+ && ownedParameterTypes.size() != ownedParameterListSize))
+ continue ownedOperationLoop;
+ for (int j = 0; j < ownedParameterListSize; j++) {
+ Parameter ownedParameter = ownedParameterList.get(j);
+ if (ownedParameterNames != null && !(ignoreCase
+ ? (ownedParameterNames.get(j))
+ .equalsIgnoreCase(ownedParameter.getName())
+ : ownedParameterNames.get(j)
+ .equals(ownedParameter.getName())))
+ continue ownedOperationLoop;
+ if (ownedParameterTypes != null && !ownedParameterTypes.get(j)
+ .equals(ownedParameter.getType()))
+ continue ownedOperationLoop;
+ }
+ return ownedOperation;
+ }
+ return createOnDemand
+ ? createOwnedOperation(name, ownedParameterNames,
+ ownedParameterTypes)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateVisibility(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InterfaceOperations.validateVisibility(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation createOwnedOperation(String name,
+ EList<String> parameterNames, EList<Type> parameterTypes,
+ Type returnType) {
+ return InterfaceOperations.createOwnedOperation(this, name,
+ parameterNames, parameterTypes, returnType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type, int lower,
+ int upper) {
+ return InterfaceOperations.createOwnedAttribute(this, name, type, lower,
+ upper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERFACE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERFACE__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERFACE__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERFACE__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERFACE__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.INTERFACE__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.INTERFACE__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERFACE__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.INTERFACE__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.INTERFACE__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERFACE__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERFACE__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERFACE__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERFACE__OWNED_ATTRIBUTE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedAttributes())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERFACE__OWNED_OPERATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedOperations())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERFACE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.INTERFACE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.INTERFACE__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.INTERFACE__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.INTERFACE__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INTERFACE__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__NESTED_CLASSIFIER :
+ return ((InternalEList<?>) getNestedClassifiers())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__OWNED_RECEPTION :
+ return ((InternalEList<?>) getOwnedReceptions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE__PROTOCOL :
+ return basicSetProtocol(null, msgs);
+ case UMLPackage.INTERFACE__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INTERFACE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INTERFACE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INTERFACE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INTERFACE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INTERFACE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INTERFACE__NAME :
+ return getName();
+ case UMLPackage.INTERFACE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INTERFACE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INTERFACE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERFACE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INTERFACE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.INTERFACE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.INTERFACE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.INTERFACE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.INTERFACE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.INTERFACE__MEMBER :
+ return getMembers();
+ case UMLPackage.INTERFACE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.INTERFACE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.INTERFACE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.INTERFACE__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.INTERFACE__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.INTERFACE__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.INTERFACE__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.INTERFACE__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.INTERFACE__FEATURE :
+ return getFeatures();
+ case UMLPackage.INTERFACE__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.INTERFACE__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.INTERFACE__GENERAL :
+ return getGenerals();
+ case UMLPackage.INTERFACE__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.INTERFACE__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.INTERFACE__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.INTERFACE__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.INTERFACE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.INTERFACE__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.INTERFACE__USE_CASE :
+ return getUseCases();
+ case UMLPackage.INTERFACE__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.INTERFACE__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.INTERFACE__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.INTERFACE__NESTED_CLASSIFIER :
+ return getNestedClassifiers();
+ case UMLPackage.INTERFACE__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.INTERFACE__OWNED_RECEPTION :
+ return getOwnedReceptions();
+ case UMLPackage.INTERFACE__PROTOCOL :
+ if (resolve)
+ return getProtocol();
+ return basicGetProtocol();
+ case UMLPackage.INTERFACE__REDEFINED_INTERFACE :
+ return getRedefinedInterfaces();
+ case UMLPackage.INTERFACE__OWNED_OPERATION :
+ return getOwnedOperations();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INTERFACE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INTERFACE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INTERFACE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INTERFACE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INTERFACE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INTERFACE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.INTERFACE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.INTERFACE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.INTERFACE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.INTERFACE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INTERFACE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INTERFACE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.INTERFACE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.INTERFACE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.INTERFACE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.INTERFACE__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.INTERFACE__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.INTERFACE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.INTERFACE__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.INTERFACE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.INTERFACE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.INTERFACE__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.INTERFACE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.INTERFACE__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.INTERFACE__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.INTERFACE__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ getNestedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.INTERFACE__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.INTERFACE__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ getOwnedReceptions()
+ .addAll((Collection<? extends Reception>) newValue);
+ return;
+ case UMLPackage.INTERFACE__PROTOCOL :
+ setProtocol((ProtocolStateMachine) newValue);
+ return;
+ case UMLPackage.INTERFACE__REDEFINED_INTERFACE :
+ getRedefinedInterfaces().clear();
+ getRedefinedInterfaces()
+ .addAll((Collection<? extends Interface>) newValue);
+ return;
+ case UMLPackage.INTERFACE__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERFACE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INTERFACE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INTERFACE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INTERFACE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INTERFACE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INTERFACE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.INTERFACE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.INTERFACE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.INTERFACE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.INTERFACE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INTERFACE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INTERFACE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.INTERFACE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.INTERFACE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.INTERFACE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.INTERFACE__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.INTERFACE__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.INTERFACE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.INTERFACE__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.INTERFACE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.INTERFACE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.INTERFACE__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.INTERFACE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.INTERFACE__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.INTERFACE__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.INTERFACE__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ return;
+ case UMLPackage.INTERFACE__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.INTERFACE__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ return;
+ case UMLPackage.INTERFACE__PROTOCOL :
+ setProtocol((ProtocolStateMachine) null);
+ return;
+ case UMLPackage.INTERFACE__REDEFINED_INTERFACE :
+ getRedefinedInterfaces().clear();
+ return;
+ case UMLPackage.INTERFACE__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERFACE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INTERFACE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INTERFACE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INTERFACE__OWNER :
+ return isSetOwner();
+ case UMLPackage.INTERFACE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INTERFACE__NAME :
+ return isSetName();
+ case UMLPackage.INTERFACE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INTERFACE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INTERFACE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INTERFACE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INTERFACE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.INTERFACE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.INTERFACE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.INTERFACE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.INTERFACE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.INTERFACE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.INTERFACE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.INTERFACE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.INTERFACE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.INTERFACE__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.INTERFACE__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.INTERFACE__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.INTERFACE__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.INTERFACE__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.INTERFACE__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.INTERFACE__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.INTERFACE__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.INTERFACE__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.INTERFACE__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.INTERFACE__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.INTERFACE__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.INTERFACE__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.INTERFACE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.INTERFACE__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.INTERFACE__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.INTERFACE__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.INTERFACE__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.INTERFACE__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.INTERFACE__NESTED_CLASSIFIER :
+ return !getNestedClassifiers().isEmpty();
+ case UMLPackage.INTERFACE__OWNED_ATTRIBUTE :
+ return !getOwnedAttributes().isEmpty();
+ case UMLPackage.INTERFACE__OWNED_RECEPTION :
+ return !getOwnedReceptions().isEmpty();
+ case UMLPackage.INTERFACE__PROTOCOL :
+ return basicGetProtocol() != null;
+ case UMLPackage.INTERFACE__REDEFINED_INTERFACE :
+ return !getRedefinedInterfaces().isEmpty();
+ case UMLPackage.INTERFACE__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.INTERFACE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.INTERFACE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.INTERFACE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INTERFACE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.INTERFACE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.INTERFACE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.INTERFACE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.INTERFACE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.INTERFACE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.INTERFACE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.INTERFACE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERFACE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.INTERFACE___GET_MODEL :
+ return getModel();
+ case UMLPackage.INTERFACE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.INTERFACE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.INTERFACE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.INTERFACE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.INTERFACE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.INTERFACE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.INTERFACE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INTERFACE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.INTERFACE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.INTERFACE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.INTERFACE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INTERFACE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERFACE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.INTERFACE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERFACE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.INTERFACE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.INTERFACE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.INTERFACE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.INTERFACE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.INTERFACE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INTERFACE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.INTERFACE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.INTERFACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.INTERFACE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.INTERFACE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.INTERFACE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.INTERFACE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.INTERFACE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.INTERFACE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.INTERFACE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.INTERFACE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERFACE___SEPARATOR :
+ return separator();
+ case UMLPackage.INTERFACE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.INTERFACE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.INTERFACE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.INTERFACE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.INTERFACE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.INTERFACE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.INTERFACE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.INTERFACE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.INTERFACE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.INTERFACE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.INTERFACE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.INTERFACE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.INTERFACE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.INTERFACE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.INTERFACE___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.INTERFACE___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.INTERFACE___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.INTERFACE___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.INTERFACE___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.INTERFACE___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.INTERFACE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.INTERFACE___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.INTERFACE___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.INTERFACE___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.INTERFACE___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.INTERFACE___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.INTERFACE___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.INTERFACE___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.INTERFACE___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.INTERFACE___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.INTERFACE___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.INTERFACE___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.INTERFACE___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.INTERFACE___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.INTERFACE___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.INTERFACE___PARENTS :
+ return parents();
+ case UMLPackage.INTERFACE___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.INTERFACE___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.INTERFACE___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.INTERFACE___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.INTERFACE___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.INTERFACE___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.INTERFACE___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.INTERFACE___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateVisibility((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERFACE___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.INTERFACE___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetAttributes() {
+ return super.isSetAttributes()
+ || eIsSet(UMLPackage.INTERFACE__OWNED_ATTRIBUTE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.INTERFACE__OWNED_RULE, UMLPackage.INTERFACE__OWNED_USE_CASE,
+ UMLPackage.INTERFACE__NESTED_CLASSIFIER,
+ UMLPackage.INTERFACE__OWNED_ATTRIBUTE,
+ UMLPackage.INTERFACE__OWNED_RECEPTION, UMLPackage.INTERFACE__PROTOCOL,
+ UMLPackage.INTERFACE__OWNED_OPERATION};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getAttributes() <em>Attribute</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributes()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] ATTRIBUTE_ESUBSETS = new int[]{
+ UMLPackage.INTERFACE__OWNED_ATTRIBUTE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.INTERFACE__NESTED_CLASSIFIER)
+ || eIsSet(UMLPackage.INTERFACE__OWNED_ATTRIBUTE)
+ || eIsSet(UMLPackage.INTERFACE__OWNED_RECEPTION)
+ || eIsSet(UMLPackage.INTERFACE__PROTOCOL)
+ || eIsSet(UMLPackage.INTERFACE__OWNED_OPERATION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getFeatures() <em>Feature</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeatures()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] FEATURE_ESUBSETS = new int[]{
+ UMLPackage.INTERFACE__ATTRIBUTE, UMLPackage.INTERFACE__OWNED_RECEPTION,
+ UMLPackage.INTERFACE__OWNED_OPERATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getRedefinedClassifiers() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.INTERFACE__REDEFINED_CLASSIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__REDEFINED_CLASSIFIER, true, true);
+ }
+
+ private EList<Classifier> createRedefinedClassifiersList() {
+ return new SubsetSupersetEObjectResolvingEList<Classifier>(
+ Classifier.class, this, UMLPackage.INTERFACE__REDEFINED_CLASSIFIER,
+ null, REDEFINED_CLASSIFIER_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedClassifiers() <em>Redefined Classifier</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedClassifiers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_CLASSIFIER_ESUBSETS = new int[]{
+ UMLPackage.INTERFACE__REDEFINED_INTERFACE};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getRedefinedInterfaces() <em>Redefined Interface</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedInterfaces()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_INTERFACE_ESUPERSETS = new int[]{
+ UMLPackage.INTERFACE__REDEFINED_CLASSIFIER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getRedefinedInterface(String name) {
+ return getRedefinedInterface(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getRedefinedInterface(String name, boolean ignoreCase) {
+ redefinedInterfaceLoop : for (Interface redefinedInterface : getRedefinedInterfaces()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedInterface.getName())
+ : name.equals(redefinedInterface.getName())))
+ continue redefinedInterfaceLoop;
+ return redefinedInterface;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetFeatures() {
+ return super.isSetFeatures()
+ || eIsSet(UMLPackage.INTERFACE__OWNED_RECEPTION)
+ || eIsSet(UMLPackage.INTERFACE__OWNED_OPERATION);
+ }
+
+} //InterfaceImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InterfaceRealizationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InterfaceRealizationImpl.java
new file mode 100644
index 00000000..ba8473a3
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InterfaceRealizationImpl.java
@@ -0,0 +1,625 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.BehavioredClassifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interface Realization</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceRealizationImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceRealizationImpl#getSuppliers <em>Supplier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceRealizationImpl#getClients <em>Client</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceRealizationImpl#getContract <em>Contract</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterfaceRealizationImpl#getImplementingClassifier <em>Implementing Classifier</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InterfaceRealizationImpl
+ extends RealizationImpl
+ implements InterfaceRealization {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InterfaceRealizationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INTERFACE_REALIZATION;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.DEPENDENCY__CLIENT) {
+ return createClientsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.DEPENDENCY__SUPPLIER) {
+ return createSuppliersList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ BehavioredClassifier implementingClassifier = basicGetImplementingClassifier();
+ if (implementingClassifier != null) {
+ return implementingClassifier;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getSuppliers() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.INTERFACE_REALIZATION__SUPPLIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPENDENCY__SUPPLIER, true, true);
+ }
+
+ private EList<NamedElement> createSuppliersList() {
+ return new SubsetSupersetEObjectResolvingEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.INTERFACE_REALIZATION__SUPPLIER, null,
+ SUPPLIER_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSuppliers() <em>Supplier</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuppliers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SUPPLIER_ESUBSETS = new int[]{
+ UMLPackage.INTERFACE_REALIZATION__CONTRACT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getClients() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.INTERFACE_REALIZATION__CLIENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPENDENCY__CLIENT, true, true);
+ }
+
+ private EList<NamedElement> createClientsList() {
+ return new SubsetSupersetEObjectResolvingEList<NamedElement>(
+ NamedElement.class, this, UMLPackage.INTERFACE_REALIZATION__CLIENT,
+ null, CLIENT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getClients() <em>Client</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClients()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] CLIENT_ESUBSETS = new int[]{
+ UMLPackage.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getContract() {
+ return (Interface) eDynamicGet(
+ UMLPackage.INTERFACE_REALIZATION__CONTRACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE_REALIZATION__CONTRACT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface basicGetContract() {
+ return (Interface) eDynamicGet(
+ UMLPackage.INTERFACE_REALIZATION__CONTRACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE_REALIZATION__CONTRACT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setContract(Interface newContract) {
+ eDynamicSet(
+ UMLPackage.INTERFACE_REALIZATION__CONTRACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE_REALIZATION__CONTRACT, newContract);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newContract != null) {
+ EList<NamedElement> suppliers = getSuppliers();
+ if (!suppliers.contains(newContract)) {
+ suppliers.add(newContract);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioredClassifier getImplementingClassifier() {
+ return (BehavioredClassifier) eDynamicGet(
+ UMLPackage.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioredClassifier basicGetImplementingClassifier() {
+ return (BehavioredClassifier) eDynamicGet(
+ UMLPackage.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetImplementingClassifier(
+ BehavioredClassifier newImplementingClassifier,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newImplementingClassifier,
+ UMLPackage.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newImplementingClassifier != null) {
+ EList<NamedElement> clients = getClients();
+ if (!clients.contains(newImplementingClassifier)) {
+ clients.add(newImplementingClassifier);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImplementingClassifier(
+ BehavioredClassifier newImplementingClassifier) {
+ eDynamicSet(
+ UMLPackage.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER,
+ newImplementingClassifier);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newImplementingClassifier != null) {
+ EList<NamedElement> clients = getClients();
+ if (!clients.contains(newImplementingClassifier)) {
+ clients.add(newImplementingClassifier);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERFACE_REALIZATION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERFACE_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.INTERFACE_REALIZATION__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetImplementingClassifier(
+ (BehavioredClassifier) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERFACE_REALIZATION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE_REALIZATION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERFACE_REALIZATION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.INTERFACE_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.INTERFACE_REALIZATION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.INTERFACE_REALIZATION__MAPPING :
+ return basicSetMapping(null, msgs);
+ case UMLPackage.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER :
+ return basicSetImplementingClassifier(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.INTERFACE_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ case UMLPackage.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION,
+ BehavioredClassifier.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INTERFACE_REALIZATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INTERFACE_REALIZATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INTERFACE_REALIZATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INTERFACE_REALIZATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INTERFACE_REALIZATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INTERFACE_REALIZATION__NAME :
+ return getName();
+ case UMLPackage.INTERFACE_REALIZATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INTERFACE_REALIZATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INTERFACE_REALIZATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERFACE_REALIZATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INTERFACE_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.INTERFACE_REALIZATION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.INTERFACE_REALIZATION__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.INTERFACE_REALIZATION__SOURCE :
+ return getSources();
+ case UMLPackage.INTERFACE_REALIZATION__TARGET :
+ return getTargets();
+ case UMLPackage.INTERFACE_REALIZATION__CLIENT :
+ return getClients();
+ case UMLPackage.INTERFACE_REALIZATION__SUPPLIER :
+ return getSuppliers();
+ case UMLPackage.INTERFACE_REALIZATION__MAPPING :
+ if (resolve)
+ return getMapping();
+ return basicGetMapping();
+ case UMLPackage.INTERFACE_REALIZATION__CONTRACT :
+ if (resolve)
+ return getContract();
+ return basicGetContract();
+ case UMLPackage.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER :
+ if (resolve)
+ return getImplementingClassifier();
+ return basicGetImplementingClassifier();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INTERFACE_REALIZATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__CLIENT :
+ getClients().clear();
+ getClients()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__SUPPLIER :
+ getSuppliers().clear();
+ getSuppliers()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__MAPPING :
+ setMapping((OpaqueExpression) newValue);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__CONTRACT :
+ setContract((Interface) newValue);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER :
+ setImplementingClassifier((BehavioredClassifier) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERFACE_REALIZATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__CLIENT :
+ getClients().clear();
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__SUPPLIER :
+ getSuppliers().clear();
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__MAPPING :
+ setMapping((OpaqueExpression) null);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__CONTRACT :
+ setContract((Interface) null);
+ return;
+ case UMLPackage.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER :
+ setImplementingClassifier((BehavioredClassifier) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERFACE_REALIZATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INTERFACE_REALIZATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INTERFACE_REALIZATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INTERFACE_REALIZATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.INTERFACE_REALIZATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INTERFACE_REALIZATION__NAME :
+ return isSetName();
+ case UMLPackage.INTERFACE_REALIZATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INTERFACE_REALIZATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INTERFACE_REALIZATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INTERFACE_REALIZATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INTERFACE_REALIZATION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.INTERFACE_REALIZATION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.INTERFACE_REALIZATION__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.INTERFACE_REALIZATION__SOURCE :
+ return isSetSources();
+ case UMLPackage.INTERFACE_REALIZATION__TARGET :
+ return isSetTargets();
+ case UMLPackage.INTERFACE_REALIZATION__CLIENT :
+ return !getClients().isEmpty();
+ case UMLPackage.INTERFACE_REALIZATION__SUPPLIER :
+ return !getSuppliers().isEmpty();
+ case UMLPackage.INTERFACE_REALIZATION__MAPPING :
+ return basicGetMapping() != null;
+ case UMLPackage.INTERFACE_REALIZATION__CONTRACT :
+ return basicGetContract() != null;
+ case UMLPackage.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER :
+ return basicGetImplementingClassifier() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner() || eIsSet(
+ UMLPackage.INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER);
+ }
+
+} //InterfaceRealizationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InterruptibleActivityRegionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InterruptibleActivityRegionImpl.java
new file mode 100644
index 00000000..2305aae9
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InterruptibleActivityRegionImpl.java
@@ -0,0 +1,615 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.InterruptibleActivityRegionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interruptible Activity Region</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterruptibleActivityRegionImpl#getContainedNodes <em>Contained Node</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterruptibleActivityRegionImpl#getInterruptingEdges <em>Interrupting Edge</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InterruptibleActivityRegionImpl#getNodes <em>Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InterruptibleActivityRegionImpl
+ extends ActivityGroupImpl
+ implements InterruptibleActivityRegion {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InterruptibleActivityRegionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INTERRUPTIBLE_ACTIVITY_REGION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<ActivityNode> getContainedNodes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ActivityNode> containedNodes = (EList<ActivityNode>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_NODE);
+ if (containedNodes == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_NODE,
+ containedNodes = new DerivedUnionEObjectEList<ActivityNode>(
+ ActivityNode.class, this,
+ UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_NODE,
+ CONTAINED_NODE_ESUBSETS));
+ }
+ return containedNodes;
+ }
+ return new DerivedUnionEObjectEList<ActivityNode>(ActivityNode.class,
+ this, UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_NODE,
+ CONTAINED_NODE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityNode> getNodes() {
+ return (EList<ActivityNode>) eDynamicGet(
+ UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NODE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERRUPTIBLE_ACTIVITY_REGION__NODE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getNode(String name) {
+ return getNode(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getNode(String name, boolean ignoreCase,
+ EClass eClass) {
+ nodeLoop : for (ActivityNode node : getNodes()) {
+ if (eClass != null && !eClass.isInstance(node))
+ continue nodeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(node.getName())
+ : name.equals(node.getName())))
+ continue nodeLoop;
+ return node;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityEdge> getInterruptingEdges() {
+ return (EList<ActivityEdge>) eDynamicGet(
+ UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getInterruptingEdge(String name) {
+ return getInterruptingEdge(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getInterruptingEdge(String name, boolean ignoreCase,
+ EClass eClass) {
+ interruptingEdgeLoop : for (ActivityEdge interruptingEdge : getInterruptingEdges()) {
+ if (eClass != null && !eClass.isInstance(interruptingEdge))
+ continue interruptingEdgeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(interruptingEdge.getName())
+ : name.equals(interruptingEdge.getName())))
+ continue interruptingEdgeLoop;
+ return interruptingEdge;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInterruptingEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return InterruptibleActivityRegionOperations
+ .validateInterruptingEdges(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInterruptingEdges())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NODE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getNodes())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE :
+ return ((InternalEList<?>) getInterruptingEdges())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NODE :
+ return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NAME :
+ return getName();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_EDGE :
+ return getContainedEdges();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_NODE :
+ return getContainedNodes();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__IN_ACTIVITY :
+ if (resolve)
+ return getInActivity();
+ return basicGetInActivity();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__SUBGROUP :
+ return getSubgroups();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__SUPER_GROUP :
+ if (resolve)
+ return getSuperGroup();
+ return basicGetSuperGroup();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE :
+ return getInterruptingEdges();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NODE :
+ return getNodes();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__IN_ACTIVITY :
+ setInActivity((Activity) newValue);
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE :
+ getInterruptingEdges().clear();
+ getInterruptingEdges()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NODE :
+ getNodes().clear();
+ getNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__IN_ACTIVITY :
+ setInActivity((Activity) null);
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE :
+ getInterruptingEdges().clear();
+ return;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NODE :
+ getNodes().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__OWNER :
+ return isSetOwner();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NAME :
+ return isSetName();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_EDGE :
+ return isSetContainedEdges();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_NODE :
+ return isSetContainedNodes();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__IN_ACTIVITY :
+ return basicGetInActivity() != null;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__SUBGROUP :
+ return isSetSubgroups();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__SUPER_GROUP :
+ return isSetSuperGroup();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE :
+ return !getInterruptingEdges().isEmpty();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NODE :
+ return !getNodes().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_MODEL :
+ return getModel();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___SEPARATOR :
+ return separator();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateNodesAndEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
+ return validateNotContained((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_INTERRUPTING_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateInterruptingEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getContainedNodes() <em>Contained Node</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainedNodes()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] CONTAINED_NODE_ESUBSETS = new int[]{
+ UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NODE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetContainedNodes() {
+ return super.isSetContainedNodes()
+ || eIsSet(UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NODE);
+ }
+
+} //InterruptibleActivityRegionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/IntervalConstraintImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/IntervalConstraintImpl.java
new file mode 100644
index 00000000..d3f022e6
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/IntervalConstraintImpl.java
@@ -0,0 +1,380 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interval Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.IntervalConstraintImpl#getSpecification <em>Specification</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IntervalConstraintImpl
+ extends ConstraintImpl
+ implements IntervalConstraint {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntervalConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INTERVAL_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification getSpecification() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INTERVAL_CONSTRAINT__SPECIFICATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__SPECIFICATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification basicGetSpecification() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INTERVAL_CONSTRAINT__SPECIFICATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__SPECIFICATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain basicSetSpecification(
+ ValueSpecification newSpecification, NotificationChain msgs) {
+ if (newSpecification != null
+ && !(newSpecification instanceof Interval)) {
+ throw new IllegalArgumentException(
+ "newSpecification must be an instance of Interval"); //$NON-NLS-1$
+ }
+ msgs = eDynamicInverseAdd((InternalEObject) newSpecification,
+ UMLPackage.INTERVAL_CONSTRAINT__SPECIFICATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setSpecification(ValueSpecification newSpecification) {
+ if (newSpecification != null
+ && !(newSpecification instanceof Interval)) {
+ throw new IllegalArgumentException(
+ "newSpecification must be an instance of Interval"); //$NON-NLS-1$
+ }
+ eDynamicSet(
+ UMLPackage.INTERVAL_CONSTRAINT__SPECIFICATION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__SPECIFICATION, newSpecification);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification createSpecification(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newSpecification = (ValueSpecification) create(
+ eClass);
+ setSpecification(newSpecification);
+ if (name != null)
+ newSpecification.setName(name);
+ if (type != null)
+ newSpecification.setType(type);
+ return newSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSpecification() {
+ return basicGetSpecification() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INTERVAL_CONSTRAINT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INTERVAL_CONSTRAINT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.INTERVAL_CONSTRAINT__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.INTERVAL_CONSTRAINT__CONTEXT :
+ return basicSetContext(null, msgs);
+ case UMLPackage.INTERVAL_CONSTRAINT__SPECIFICATION :
+ return basicSetSpecification(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INTERVAL_CONSTRAINT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INTERVAL_CONSTRAINT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INTERVAL_CONSTRAINT__NAME :
+ return getName();
+ case UMLPackage.INTERVAL_CONSTRAINT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INTERVAL_CONSTRAINT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INTERVAL_CONSTRAINT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERVAL_CONSTRAINT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.INTERVAL_CONSTRAINT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.INTERVAL_CONSTRAINT__CONSTRAINED_ELEMENT :
+ return getConstrainedElements();
+ case UMLPackage.INTERVAL_CONSTRAINT__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.INTERVAL_CONSTRAINT__SPECIFICATION :
+ if (resolve)
+ return getSpecification();
+ return basicGetSpecification();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INTERVAL_CONSTRAINT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__CONSTRAINED_ELEMENT :
+ getConstrainedElements().clear();
+ getConstrainedElements()
+ .addAll((Collection<? extends Element>) newValue);
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__CONTEXT :
+ setContext((Namespace) newValue);
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__SPECIFICATION :
+ setSpecification((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERVAL_CONSTRAINT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__CONSTRAINED_ELEMENT :
+ getConstrainedElements().clear();
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__CONTEXT :
+ setContext((Namespace) null);
+ return;
+ case UMLPackage.INTERVAL_CONSTRAINT__SPECIFICATION :
+ setSpecification((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERVAL_CONSTRAINT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNER :
+ return isSetOwner();
+ case UMLPackage.INTERVAL_CONSTRAINT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INTERVAL_CONSTRAINT__NAME :
+ return isSetName();
+ case UMLPackage.INTERVAL_CONSTRAINT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INTERVAL_CONSTRAINT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INTERVAL_CONSTRAINT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INTERVAL_CONSTRAINT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INTERVAL_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.INTERVAL_CONSTRAINT__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.INTERVAL_CONSTRAINT__CONSTRAINED_ELEMENT :
+ return !getConstrainedElements().isEmpty();
+ case UMLPackage.INTERVAL_CONSTRAINT__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.INTERVAL_CONSTRAINT__SPECIFICATION :
+ return isSetSpecification();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //IntervalConstraintImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/IntervalImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/IntervalImpl.java
new file mode 100644
index 00000000..49c7e543
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/IntervalImpl.java
@@ -0,0 +1,319 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interval</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.IntervalImpl#getMax <em>Max</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.IntervalImpl#getMin <em>Min</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IntervalImpl
+ extends ValueSpecificationImpl
+ implements Interval {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntervalImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INTERVAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getMin() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INTERVAL__MIN - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MIN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetMin() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INTERVAL__MIN - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MIN, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMin(ValueSpecification newMin) {
+ eDynamicSet(UMLPackage.INTERVAL__MIN - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MIN, newMin);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getMax() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INTERVAL__MAX - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MAX, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetMax() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.INTERVAL__MAX - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MAX, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMax(ValueSpecification newMax) {
+ eDynamicSet(UMLPackage.INTERVAL__MAX - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MAX, newMax);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INTERVAL__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INTERVAL__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INTERVAL__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INTERVAL__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INTERVAL__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INTERVAL__NAME :
+ return getName();
+ case UMLPackage.INTERVAL__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INTERVAL__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INTERVAL__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INTERVAL__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INTERVAL__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.INTERVAL__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.INTERVAL__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.INTERVAL__MAX :
+ if (resolve)
+ return getMax();
+ return basicGetMax();
+ case UMLPackage.INTERVAL__MIN :
+ if (resolve)
+ return getMin();
+ return basicGetMin();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INTERVAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INTERVAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INTERVAL__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INTERVAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INTERVAL__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INTERVAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INTERVAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.INTERVAL__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.INTERVAL__MAX :
+ setMax((ValueSpecification) newValue);
+ return;
+ case UMLPackage.INTERVAL__MIN :
+ setMin((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERVAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INTERVAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INTERVAL__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INTERVAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INTERVAL__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INTERVAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INTERVAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.INTERVAL__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.INTERVAL__MAX :
+ setMax((ValueSpecification) null);
+ return;
+ case UMLPackage.INTERVAL__MIN :
+ setMin((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INTERVAL__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INTERVAL__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INTERVAL__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INTERVAL__OWNER :
+ return isSetOwner();
+ case UMLPackage.INTERVAL__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INTERVAL__NAME :
+ return isSetName();
+ case UMLPackage.INTERVAL__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INTERVAL__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INTERVAL__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INTERVAL__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INTERVAL__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.INTERVAL__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.INTERVAL__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.INTERVAL__MAX :
+ return basicGetMax() != null;
+ case UMLPackage.INTERVAL__MIN :
+ return basicGetMin() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //IntervalImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InvocationActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InvocationActionImpl.java
new file mode 100644
index 00000000..a005967a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/InvocationActionImpl.java
@@ -0,0 +1,604 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.InvocationAction;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Invocation Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InvocationActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InvocationActionImpl#getArguments <em>Argument</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.InvocationActionImpl#getOnPort <em>On Port</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class InvocationActionImpl
+ extends ActionImpl
+ implements InvocationAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvocationActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.INVOCATION_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.INVOCATION_ACTION__INPUT, INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.INVOCATION_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InputPin> getArguments() {
+ return (EList<InputPin>) eDynamicGet(
+ UMLPackage.INVOCATION_ACTION__ARGUMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INVOCATION_ACTION__ARGUMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createArgument(String name, Type type, EClass eClass) {
+ InputPin newArgument = (InputPin) create(eClass);
+ getArguments().add(newArgument);
+ if (name != null)
+ newArgument.setName(name);
+ if (type != null)
+ newArgument.setType(type);
+ return newArgument;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createArgument(String name, Type type) {
+ return createArgument(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getArgument(String name, Type type) {
+ return getArgument(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getArgument(String name, Type type, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ argumentLoop : for (InputPin argument : getArguments()) {
+ if (eClass != null && !eClass.isInstance(argument))
+ continue argumentLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(argument.getName())
+ : name.equals(argument.getName())))
+ continue argumentLoop;
+ if (type != null && !type.equals(argument.getType()))
+ continue argumentLoop;
+ return argument;
+ }
+ return createOnDemand && eClass != null
+ ? createArgument(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port getOnPort() {
+ return (Port) eDynamicGet(
+ UMLPackage.INVOCATION_ACTION__ON_PORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INVOCATION_ACTION__ON_PORT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port basicGetOnPort() {
+ return (Port) eDynamicGet(
+ UMLPackage.INVOCATION_ACTION__ON_PORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INVOCATION_ACTION__ON_PORT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOnPort(Port newOnPort) {
+ eDynamicSet(
+ UMLPackage.INVOCATION_ACTION__ON_PORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INVOCATION_ACTION__ON_PORT, newOnPort);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.INVOCATION_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INVOCATION_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INVOCATION_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.INVOCATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INVOCATION_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.INVOCATION_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INVOCATION_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INVOCATION_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INVOCATION_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.INVOCATION_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INVOCATION_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.INVOCATION_ACTION__ARGUMENT :
+ return ((InternalEList<?>) getArguments()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.INVOCATION_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.INVOCATION_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.INVOCATION_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.INVOCATION_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.INVOCATION_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.INVOCATION_ACTION__NAME :
+ return getName();
+ case UMLPackage.INVOCATION_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.INVOCATION_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.INVOCATION_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.INVOCATION_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.INVOCATION_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.INVOCATION_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.INVOCATION_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.INVOCATION_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.INVOCATION_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.INVOCATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.INVOCATION_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.INVOCATION_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.INVOCATION_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.INVOCATION_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.INVOCATION_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.INVOCATION_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.INVOCATION_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.INVOCATION_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.INVOCATION_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.INVOCATION_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.INVOCATION_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.INVOCATION_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.INVOCATION_ACTION__ARGUMENT :
+ return getArguments();
+ case UMLPackage.INVOCATION_ACTION__ON_PORT :
+ if (resolve)
+ return getOnPort();
+ return basicGetOnPort();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.INVOCATION_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__ARGUMENT :
+ getArguments().clear();
+ getArguments()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.INVOCATION_ACTION__ON_PORT :
+ setOnPort((Port) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INVOCATION_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.INVOCATION_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.INVOCATION_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.INVOCATION_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.INVOCATION_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.INVOCATION_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.INVOCATION_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.INVOCATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.INVOCATION_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.INVOCATION_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.INVOCATION_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.INVOCATION_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.INVOCATION_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.INVOCATION_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.INVOCATION_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.INVOCATION_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.INVOCATION_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.INVOCATION_ACTION__ARGUMENT :
+ getArguments().clear();
+ return;
+ case UMLPackage.INVOCATION_ACTION__ON_PORT :
+ setOnPort((Port) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.INVOCATION_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.INVOCATION_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.INVOCATION_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.INVOCATION_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.INVOCATION_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.INVOCATION_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.INVOCATION_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.INVOCATION_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.INVOCATION_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.INVOCATION_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.INVOCATION_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.INVOCATION_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.INVOCATION_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.INVOCATION_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.INVOCATION_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.INVOCATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.INVOCATION_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.INVOCATION_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.INVOCATION_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.INVOCATION_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.INVOCATION_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.INVOCATION_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.INVOCATION_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.INVOCATION_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.INVOCATION_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.INVOCATION_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.INVOCATION_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.INVOCATION_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.INVOCATION_ACTION__ARGUMENT :
+ return !getArguments().isEmpty();
+ case UMLPackage.INVOCATION_ACTION__ON_PORT :
+ return basicGetOnPort() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.INVOCATION_ACTION__ARGUMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.INVOCATION_ACTION__ARGUMENT);
+ }
+
+} //InvocationActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/JoinNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/JoinNodeImpl.java
new file mode 100644
index 00000000..929e62f1
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/JoinNodeImpl.java
@@ -0,0 +1,718 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.JoinNodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Join Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.JoinNodeImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.JoinNodeImpl#isCombineDuplicate <em>Is Combine Duplicate</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.JoinNodeImpl#getJoinSpec <em>Join Spec</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class JoinNodeImpl
+ extends ControlNodeImpl
+ implements JoinNode {
+
+ /**
+ * The default value of the '{@link #isCombineDuplicate() <em>Is Combine Duplicate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCombineDuplicate()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_COMBINE_DUPLICATE_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected JoinNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.JOIN_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.JOIN_NODE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.JOIN_NODE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCombineDuplicate() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.JOIN_NODE__IS_COMBINE_DUPLICATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.JOIN_NODE__IS_COMBINE_DUPLICATE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsCombineDuplicate(boolean newIsCombineDuplicate) {
+ eDynamicSet(
+ UMLPackage.JOIN_NODE__IS_COMBINE_DUPLICATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.JOIN_NODE__IS_COMBINE_DUPLICATE,
+ newIsCombineDuplicate);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getJoinSpec() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.JOIN_NODE__JOIN_SPEC - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.JOIN_NODE__JOIN_SPEC, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetJoinSpec() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.JOIN_NODE__JOIN_SPEC - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.JOIN_NODE__JOIN_SPEC, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetJoinSpec(ValueSpecification newJoinSpec,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newJoinSpec,
+ UMLPackage.JOIN_NODE__JOIN_SPEC, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setJoinSpec(ValueSpecification newJoinSpec) {
+ eDynamicSet(UMLPackage.JOIN_NODE__JOIN_SPEC - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.JOIN_NODE__JOIN_SPEC, newJoinSpec);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createJoinSpec(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newJoinSpec = (ValueSpecification) create(eClass);
+ setJoinSpec(newJoinSpec);
+ if (name != null)
+ newJoinSpec.setName(name);
+ if (type != null)
+ newJoinSpec.setType(type);
+ return newJoinSpec;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneOutgoingEdge(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return JoinNodeOperations.validateOneOutgoingEdge(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateIncomingObjectFlow(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return JoinNodeOperations.validateIncomingObjectFlow(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.JOIN_NODE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.JOIN_NODE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.JOIN_NODE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.JOIN_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.JOIN_NODE__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.JOIN_NODE__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.JOIN_NODE__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.JOIN_NODE__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.JOIN_NODE__JOIN_SPEC :
+ return basicSetJoinSpec(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.JOIN_NODE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.JOIN_NODE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.JOIN_NODE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.JOIN_NODE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.JOIN_NODE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.JOIN_NODE__NAME :
+ return getName();
+ case UMLPackage.JOIN_NODE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.JOIN_NODE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.JOIN_NODE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.JOIN_NODE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.JOIN_NODE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.JOIN_NODE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.JOIN_NODE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.JOIN_NODE__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.JOIN_NODE__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.JOIN_NODE__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.JOIN_NODE__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.JOIN_NODE__INCOMING :
+ return getIncomings();
+ case UMLPackage.JOIN_NODE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.JOIN_NODE__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.JOIN_NODE__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.JOIN_NODE__IS_COMBINE_DUPLICATE :
+ return isCombineDuplicate();
+ case UMLPackage.JOIN_NODE__JOIN_SPEC :
+ if (resolve)
+ return getJoinSpec();
+ return basicGetJoinSpec();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.JOIN_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__IS_COMBINE_DUPLICATE :
+ setIsCombineDuplicate((Boolean) newValue);
+ return;
+ case UMLPackage.JOIN_NODE__JOIN_SPEC :
+ setJoinSpec((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.JOIN_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.JOIN_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.JOIN_NODE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.JOIN_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.JOIN_NODE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.JOIN_NODE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.JOIN_NODE__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.JOIN_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.JOIN_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.JOIN_NODE__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.JOIN_NODE__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.JOIN_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.JOIN_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.JOIN_NODE__IS_COMBINE_DUPLICATE :
+ setIsCombineDuplicate(IS_COMBINE_DUPLICATE_EDEFAULT);
+ return;
+ case UMLPackage.JOIN_NODE__JOIN_SPEC :
+ setJoinSpec((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.JOIN_NODE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.JOIN_NODE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.JOIN_NODE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.JOIN_NODE__OWNER :
+ return isSetOwner();
+ case UMLPackage.JOIN_NODE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.JOIN_NODE__NAME :
+ return isSetName();
+ case UMLPackage.JOIN_NODE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.JOIN_NODE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.JOIN_NODE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.JOIN_NODE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.JOIN_NODE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.JOIN_NODE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.JOIN_NODE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.JOIN_NODE__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.JOIN_NODE__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.JOIN_NODE__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.JOIN_NODE__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.JOIN_NODE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.JOIN_NODE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.JOIN_NODE__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.JOIN_NODE__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.JOIN_NODE__IS_COMBINE_DUPLICATE :
+ return isCombineDuplicate() != IS_COMBINE_DUPLICATE_EDEFAULT;
+ case UMLPackage.JOIN_NODE__JOIN_SPEC :
+ return basicGetJoinSpec() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.JOIN_NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.JOIN_NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.JOIN_NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.JOIN_NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.JOIN_NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.JOIN_NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.JOIN_NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.JOIN_NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.JOIN_NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.JOIN_NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.JOIN_NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.JOIN_NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.JOIN_NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.JOIN_NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.JOIN_NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.JOIN_NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.JOIN_NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.JOIN_NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.JOIN_NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.JOIN_NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.JOIN_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.JOIN_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.JOIN_NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.JOIN_NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.JOIN_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.JOIN_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.JOIN_NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.JOIN_NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.JOIN_NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.JOIN_NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.JOIN_NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.JOIN_NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.JOIN_NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.JOIN_NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.JOIN_NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.JOIN_NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.JOIN_NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.JOIN_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.JOIN_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.JOIN_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.JOIN_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.JOIN_NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.JOIN_NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.JOIN_NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.JOIN_NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.JOIN_NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.JOIN_NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.JOIN_NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.JOIN_NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.JOIN_NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.JOIN_NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.JOIN_NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.JOIN_NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.JOIN_NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.JOIN_NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.JOIN_NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.JOIN_NODE___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.JOIN_NODE___VALIDATE_ONE_OUTGOING_EDGE__DIAGNOSTICCHAIN_MAP :
+ return validateOneOutgoingEdge(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.JOIN_NODE___VALIDATE_INCOMING_OBJECT_FLOW__DIAGNOSTICCHAIN_MAP :
+ return validateIncomingObjectFlow(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.JOIN_NODE__OWNED_COMMENT,
+ UMLPackage.JOIN_NODE__NAME_EXPRESSION, UMLPackage.JOIN_NODE__JOIN_SPEC};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.JOIN_NODE__JOIN_SPEC);
+ }
+
+} //JoinNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LifelineImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LifelineImpl.java
new file mode 100644
index 00000000..16759e93
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LifelineImpl.java
@@ -0,0 +1,844 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionFragment;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.LifelineOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Lifeline</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LifelineImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LifelineImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LifelineImpl#getDecomposedAs <em>Decomposed As</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LifelineImpl#getInteraction <em>Interaction</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LifelineImpl#getRepresents <em>Represents</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LifelineImpl#getSelector <em>Selector</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LifelineImpl#getCoveredBys <em>Covered By</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LifelineImpl
+ extends NamedElementImpl
+ implements Lifeline {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LifelineImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.LIFELINE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.LIFELINE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.LIFELINE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectableElement getRepresents() {
+ return (ConnectableElement) eDynamicGet(
+ UMLPackage.LIFELINE__REPRESENTS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LIFELINE__REPRESENTS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectableElement basicGetRepresents() {
+ return (ConnectableElement) eDynamicGet(
+ UMLPackage.LIFELINE__REPRESENTS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LIFELINE__REPRESENTS, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRepresents(ConnectableElement newRepresents) {
+ eDynamicSet(UMLPackage.LIFELINE__REPRESENTS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LIFELINE__REPRESENTS, newRepresents);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interaction getInteraction() {
+ return (Interaction) eDynamicGet(
+ UMLPackage.LIFELINE__INTERACTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LIFELINE__INTERACTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interaction basicGetInteraction() {
+ return (Interaction) eDynamicGet(
+ UMLPackage.LIFELINE__INTERACTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LIFELINE__INTERACTION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInteraction(Interaction newInteraction,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newInteraction,
+ UMLPackage.LIFELINE__INTERACTION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInteraction(Interaction newInteraction) {
+ eDynamicSet(UMLPackage.LIFELINE__INTERACTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LIFELINE__INTERACTION, newInteraction);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getSelector() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.LIFELINE__SELECTOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LIFELINE__SELECTOR, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetSelector() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.LIFELINE__SELECTOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LIFELINE__SELECTOR, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSelector(ValueSpecification newSelector,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newSelector,
+ UMLPackage.LIFELINE__SELECTOR, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelector(ValueSpecification newSelector) {
+ eDynamicSet(UMLPackage.LIFELINE__SELECTOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LIFELINE__SELECTOR, newSelector);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createSelector(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newSelector = (ValueSpecification) create(eClass);
+ setSelector(newSelector);
+ if (name != null)
+ newSelector.setName(name);
+ if (type != null)
+ newSelector.setType(type);
+ return newSelector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PartDecomposition getDecomposedAs() {
+ return (PartDecomposition) eDynamicGet(
+ UMLPackage.LIFELINE__DECOMPOSED_AS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LIFELINE__DECOMPOSED_AS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PartDecomposition basicGetDecomposedAs() {
+ return (PartDecomposition) eDynamicGet(
+ UMLPackage.LIFELINE__DECOMPOSED_AS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LIFELINE__DECOMPOSED_AS, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDecomposedAs(PartDecomposition newDecomposedAs) {
+ eDynamicSet(UMLPackage.LIFELINE__DECOMPOSED_AS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LIFELINE__DECOMPOSED_AS, newDecomposedAs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InteractionFragment> getCoveredBys() {
+ return (EList<InteractionFragment>) eDynamicGet(
+ UMLPackage.LIFELINE__COVERED_BY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LIFELINE__COVERED_BY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionFragment getCoveredBy(String name) {
+ return getCoveredBy(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionFragment getCoveredBy(String name, boolean ignoreCase,
+ EClass eClass) {
+ coveredByLoop : for (InteractionFragment coveredBy : getCoveredBys()) {
+ if (eClass != null && !eClass.isInstance(coveredBy))
+ continue coveredByLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(coveredBy.getName())
+ : name.equals(coveredBy.getName())))
+ continue coveredByLoop;
+ return coveredBy;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInteractionUsesShareLifeline(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return LifelineOperations.validateInteractionUsesShareLifeline(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSelectorSpecified(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LifelineOperations.validateSelectorSpecified(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSameClassifier(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LifelineOperations.validateSameClassifier(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSelectorIntOrString(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LifelineOperations.validateSelectorIntOrString(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.LIFELINE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.LIFELINE__INTERACTION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetInteraction((Interaction) otherEnd, msgs);
+ case UMLPackage.LIFELINE__COVERED_BY :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getCoveredBys())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.LIFELINE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LIFELINE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LIFELINE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.LIFELINE__INTERACTION :
+ return basicSetInteraction(null, msgs);
+ case UMLPackage.LIFELINE__SELECTOR :
+ return basicSetSelector(null, msgs);
+ case UMLPackage.LIFELINE__COVERED_BY :
+ return ((InternalEList<?>) getCoveredBys())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.LIFELINE__INTERACTION :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.INTERACTION__LIFELINE, Interaction.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.LIFELINE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.LIFELINE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.LIFELINE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.LIFELINE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.LIFELINE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.LIFELINE__NAME :
+ return getName();
+ case UMLPackage.LIFELINE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.LIFELINE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.LIFELINE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LIFELINE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.LIFELINE__DECOMPOSED_AS :
+ if (resolve)
+ return getDecomposedAs();
+ return basicGetDecomposedAs();
+ case UMLPackage.LIFELINE__INTERACTION :
+ if (resolve)
+ return getInteraction();
+ return basicGetInteraction();
+ case UMLPackage.LIFELINE__REPRESENTS :
+ if (resolve)
+ return getRepresents();
+ return basicGetRepresents();
+ case UMLPackage.LIFELINE__SELECTOR :
+ if (resolve)
+ return getSelector();
+ return basicGetSelector();
+ case UMLPackage.LIFELINE__COVERED_BY :
+ return getCoveredBys();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.LIFELINE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.LIFELINE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.LIFELINE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.LIFELINE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.LIFELINE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.LIFELINE__DECOMPOSED_AS :
+ setDecomposedAs((PartDecomposition) newValue);
+ return;
+ case UMLPackage.LIFELINE__INTERACTION :
+ setInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.LIFELINE__REPRESENTS :
+ setRepresents((ConnectableElement) newValue);
+ return;
+ case UMLPackage.LIFELINE__SELECTOR :
+ setSelector((ValueSpecification) newValue);
+ return;
+ case UMLPackage.LIFELINE__COVERED_BY :
+ getCoveredBys().clear();
+ getCoveredBys().addAll(
+ (Collection<? extends InteractionFragment>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LIFELINE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.LIFELINE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.LIFELINE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.LIFELINE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.LIFELINE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.LIFELINE__DECOMPOSED_AS :
+ setDecomposedAs((PartDecomposition) null);
+ return;
+ case UMLPackage.LIFELINE__INTERACTION :
+ setInteraction((Interaction) null);
+ return;
+ case UMLPackage.LIFELINE__REPRESENTS :
+ setRepresents((ConnectableElement) null);
+ return;
+ case UMLPackage.LIFELINE__SELECTOR :
+ setSelector((ValueSpecification) null);
+ return;
+ case UMLPackage.LIFELINE__COVERED_BY :
+ getCoveredBys().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LIFELINE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.LIFELINE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.LIFELINE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.LIFELINE__OWNER :
+ return isSetOwner();
+ case UMLPackage.LIFELINE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.LIFELINE__NAME :
+ return isSetName();
+ case UMLPackage.LIFELINE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.LIFELINE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.LIFELINE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.LIFELINE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.LIFELINE__DECOMPOSED_AS :
+ return basicGetDecomposedAs() != null;
+ case UMLPackage.LIFELINE__INTERACTION :
+ return basicGetInteraction() != null;
+ case UMLPackage.LIFELINE__REPRESENTS :
+ return basicGetRepresents() != null;
+ case UMLPackage.LIFELINE__SELECTOR :
+ return basicGetSelector() != null;
+ case UMLPackage.LIFELINE__COVERED_BY :
+ return !getCoveredBys().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.LIFELINE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.LIFELINE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LIFELINE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LIFELINE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.LIFELINE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LIFELINE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.LIFELINE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.LIFELINE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.LIFELINE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.LIFELINE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.LIFELINE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.LIFELINE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.LIFELINE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LIFELINE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.LIFELINE___GET_MODEL :
+ return getModel();
+ case UMLPackage.LIFELINE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.LIFELINE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.LIFELINE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.LIFELINE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.LIFELINE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.LIFELINE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.LIFELINE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LIFELINE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.LIFELINE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.LIFELINE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.LIFELINE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LIFELINE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LIFELINE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.LIFELINE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LIFELINE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.LIFELINE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.LIFELINE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.LIFELINE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.LIFELINE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.LIFELINE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LIFELINE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.LIFELINE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.LIFELINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LIFELINE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LIFELINE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LIFELINE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.LIFELINE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.LIFELINE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.LIFELINE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.LIFELINE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.LIFELINE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.LIFELINE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.LIFELINE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.LIFELINE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LIFELINE___SEPARATOR :
+ return separator();
+ case UMLPackage.LIFELINE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.LIFELINE___VALIDATE_SELECTOR_SPECIFIED__DIAGNOSTICCHAIN_MAP :
+ return validateSelectorSpecified(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LIFELINE___VALIDATE_INTERACTION_USES_SHARE_LIFELINE__DIAGNOSTICCHAIN_MAP :
+ return validateInteractionUsesShareLifeline(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LIFELINE___VALIDATE_SAME_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateSameClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LIFELINE___VALIDATE_SELECTOR_INT_OR_STRING__DIAGNOSTICCHAIN_MAP :
+ return validateSelectorIntOrString(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ Interaction interaction = basicGetInteraction();
+ if (interaction != null) {
+ return interaction;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace()
+ || eIsSet(UMLPackage.LIFELINE__INTERACTION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.LIFELINE__OWNED_COMMENT,
+ UMLPackage.LIFELINE__NAME_EXPRESSION, UMLPackage.LIFELINE__SELECTOR};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.LIFELINE__SELECTOR);
+ }
+
+} //LifelineImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkActionImpl.java
new file mode 100644
index 00000000..05d60663
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkActionImpl.java
@@ -0,0 +1,887 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.LinkAction;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.LinkActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Link Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LinkActionImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LinkActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LinkActionImpl#getEndData <em>End Data</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LinkActionImpl#getInputValues <em>Input Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class LinkActionImpl
+ extends ActionImpl
+ implements LinkAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.LINK_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.LINK_ACTION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.LINK_ACTION__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.LINK_ACTION__OWNED_COMMENT,
+ UMLPackage.LINK_ACTION__NAME_EXPRESSION,
+ UMLPackage.LINK_ACTION__HANDLER, UMLPackage.LINK_ACTION__INPUT,
+ UMLPackage.LINK_ACTION__LOCAL_POSTCONDITION,
+ UMLPackage.LINK_ACTION__LOCAL_PRECONDITION,
+ UMLPackage.LINK_ACTION__OUTPUT, UMLPackage.LINK_ACTION__END_DATA};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this, UMLPackage.LINK_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.LINK_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<LinkEndData> getEndData() {
+ return (EList<LinkEndData>) eDynamicGet(
+ UMLPackage.LINK_ACTION__END_DATA - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_ACTION__END_DATA, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkEndData createEndData(EClass eClass) {
+ LinkEndData newEndData = (LinkEndData) create(eClass);
+ getEndData().add(newEndData);
+ return newEndData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkEndData createEndData() {
+ return createEndData(UMLPackage.Literals.LINK_END_DATA);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InputPin> getInputValues() {
+ return (EList<InputPin>) eDynamicGet(
+ UMLPackage.LINK_ACTION__INPUT_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_ACTION__INPUT_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createInputValue(String name, Type type, EClass eClass) {
+ InputPin newInputValue = (InputPin) create(eClass);
+ getInputValues().add(newInputValue);
+ if (name != null)
+ newInputValue.setName(name);
+ if (type != null)
+ newInputValue.setType(type);
+ return newInputValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createInputValue(String name, Type type) {
+ return createInputValue(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getInputValue(String name, Type type) {
+ return getInputValue(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getInputValue(String name, Type type, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ inputValueLoop : for (InputPin inputValue : getInputValues()) {
+ if (eClass != null && !eClass.isInstance(inputValue))
+ continue inputValueLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(inputValue.getName())
+ : name.equals(inputValue.getName())))
+ continue inputValueLoop;
+ if (type != null && !type.equals(inputValue.getType()))
+ continue inputValueLoop;
+ return inputValue;
+ }
+ return createOnDemand && eClass != null
+ ? createInputValue(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSameAssociation(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LinkActionOperations.validateSameAssociation(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNotStatic(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LinkActionOperations.validateNotStatic(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSamePins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LinkActionOperations.validateSamePins(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Association association() {
+ return LinkActionOperations.association(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.LINK_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LINK_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LINK_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LINK_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.LINK_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.LINK_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.LINK_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LINK_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.LINK_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LINK_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LINK_ACTION__END_DATA :
+ return ((InternalEList<?>) getEndData()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.LINK_ACTION__INPUT_VALUE :
+ return ((InternalEList<?>) getInputValues())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.LINK_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.LINK_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.LINK_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.LINK_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.LINK_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.LINK_ACTION__NAME :
+ return getName();
+ case UMLPackage.LINK_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.LINK_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.LINK_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LINK_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.LINK_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.LINK_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.LINK_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.LINK_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.LINK_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.LINK_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.LINK_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.LINK_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.LINK_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.LINK_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.LINK_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.LINK_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.LINK_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.LINK_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.LINK_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.LINK_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.LINK_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.LINK_ACTION__END_DATA :
+ return getEndData();
+ case UMLPackage.LINK_ACTION__INPUT_VALUE :
+ return getInputValues();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.LINK_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__END_DATA :
+ getEndData().clear();
+ getEndData()
+ .addAll((Collection<? extends LinkEndData>) newValue);
+ return;
+ case UMLPackage.LINK_ACTION__INPUT_VALUE :
+ getInputValues().clear();
+ getInputValues()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LINK_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.LINK_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.LINK_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.LINK_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.LINK_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.LINK_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.LINK_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.LINK_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.LINK_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.LINK_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.LINK_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.LINK_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.LINK_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.LINK_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.LINK_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.LINK_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.LINK_ACTION__END_DATA :
+ getEndData().clear();
+ return;
+ case UMLPackage.LINK_ACTION__INPUT_VALUE :
+ getInputValues().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LINK_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.LINK_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.LINK_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.LINK_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.LINK_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.LINK_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.LINK_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.LINK_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.LINK_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.LINK_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.LINK_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.LINK_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.LINK_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.LINK_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.LINK_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.LINK_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.LINK_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.LINK_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.LINK_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.LINK_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.LINK_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.LINK_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.LINK_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.LINK_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.LINK_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.LINK_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.LINK_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.LINK_ACTION__END_DATA :
+ return !getEndData().isEmpty();
+ case UMLPackage.LINK_ACTION__INPUT_VALUE :
+ return !getInputValues().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.LINK_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.LINK_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.LINK_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.LINK_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.LINK_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.LINK_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.LINK_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.LINK_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.LINK_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.LINK_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LINK_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.LINK_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.LINK_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.LINK_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.LINK_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.LINK_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.LINK_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.LINK_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LINK_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.LINK_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.LINK_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LINK_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LINK_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.LINK_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LINK_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.LINK_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.LINK_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.LINK_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.LINK_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.LINK_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.LINK_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.LINK_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.LINK_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.LINK_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.LINK_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.LINK_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LINK_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.LINK_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.LINK_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.LINK_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.LINK_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.LINK_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.LINK_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.LINK_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.LINK_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.LINK_ACTION___VALIDATE_SAME_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateSamePins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_ACTION___VALIDATE_SAME_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
+ return validateSameAssociation(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
+ return validateNotStatic((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_ACTION___ASSOCIATION :
+ return association();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.LINK_ACTION__END_DATA);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.LINK_ACTION__INPUT_VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.LINK_ACTION__INPUT_VALUE);
+ }
+
+} //LinkActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkEndCreationDataImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkEndCreationDataImpl.java
new file mode 100644
index 00000000..452584e1
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkEndCreationDataImpl.java
@@ -0,0 +1,438 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.LinkEndCreationDataOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Link End Creation Data</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LinkEndCreationDataImpl#getInsertAt <em>Insert At</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LinkEndCreationDataImpl#isReplaceAll <em>Is Replace All</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LinkEndCreationDataImpl
+ extends LinkEndDataImpl
+ implements LinkEndCreationData {
+
+ /**
+ * The default value of the '{@link #isReplaceAll() <em>Is Replace All</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReplaceAll()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REPLACE_ALL_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkEndCreationDataImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.LINK_END_CREATION_DATA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isReplaceAll() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.LINK_END_CREATION_DATA__IS_REPLACE_ALL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_CREATION_DATA__IS_REPLACE_ALL, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsReplaceAll(boolean newIsReplaceAll) {
+ eDynamicSet(
+ UMLPackage.LINK_END_CREATION_DATA__IS_REPLACE_ALL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_CREATION_DATA__IS_REPLACE_ALL,
+ newIsReplaceAll);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInsertAtPin(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LinkEndCreationDataOperations.validateInsertAtPin(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> allPins() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<InputPin> result = (EList<InputPin>) cache.get(this,
+ UMLPackage.Literals.LINK_END_DATA___ALL_PINS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.LINK_END_DATA___ALL_PINS,
+ result = LinkEndCreationDataOperations.allPins(this));
+ }
+ return result;
+ }
+ return LinkEndCreationDataOperations.allPins(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getInsertAt() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.LINK_END_CREATION_DATA__INSERT_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_CREATION_DATA__INSERT_AT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetInsertAt() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.LINK_END_CREATION_DATA__INSERT_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_CREATION_DATA__INSERT_AT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInsertAt(InputPin newInsertAt) {
+ eDynamicSet(
+ UMLPackage.LINK_END_CREATION_DATA__INSERT_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_CREATION_DATA__INSERT_AT, newInsertAt);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.LINK_END_CREATION_DATA__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.LINK_END_CREATION_DATA__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.LINK_END_CREATION_DATA__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.LINK_END_CREATION_DATA__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.LINK_END_CREATION_DATA__END :
+ if (resolve)
+ return getEnd();
+ return basicGetEnd();
+ case UMLPackage.LINK_END_CREATION_DATA__QUALIFIER :
+ return getQualifiers();
+ case UMLPackage.LINK_END_CREATION_DATA__VALUE :
+ if (resolve)
+ return getValue();
+ return basicGetValue();
+ case UMLPackage.LINK_END_CREATION_DATA__INSERT_AT :
+ if (resolve)
+ return getInsertAt();
+ return basicGetInsertAt();
+ case UMLPackage.LINK_END_CREATION_DATA__IS_REPLACE_ALL :
+ return isReplaceAll();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.LINK_END_CREATION_DATA__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.LINK_END_CREATION_DATA__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.LINK_END_CREATION_DATA__END :
+ setEnd((Property) newValue);
+ return;
+ case UMLPackage.LINK_END_CREATION_DATA__QUALIFIER :
+ getQualifiers().clear();
+ getQualifiers()
+ .addAll((Collection<? extends QualifierValue>) newValue);
+ return;
+ case UMLPackage.LINK_END_CREATION_DATA__VALUE :
+ setValue((InputPin) newValue);
+ return;
+ case UMLPackage.LINK_END_CREATION_DATA__INSERT_AT :
+ setInsertAt((InputPin) newValue);
+ return;
+ case UMLPackage.LINK_END_CREATION_DATA__IS_REPLACE_ALL :
+ setIsReplaceAll((Boolean) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LINK_END_CREATION_DATA__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.LINK_END_CREATION_DATA__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.LINK_END_CREATION_DATA__END :
+ setEnd((Property) null);
+ return;
+ case UMLPackage.LINK_END_CREATION_DATA__QUALIFIER :
+ getQualifiers().clear();
+ return;
+ case UMLPackage.LINK_END_CREATION_DATA__VALUE :
+ setValue((InputPin) null);
+ return;
+ case UMLPackage.LINK_END_CREATION_DATA__INSERT_AT :
+ setInsertAt((InputPin) null);
+ return;
+ case UMLPackage.LINK_END_CREATION_DATA__IS_REPLACE_ALL :
+ setIsReplaceAll(IS_REPLACE_ALL_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LINK_END_CREATION_DATA__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.LINK_END_CREATION_DATA__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.LINK_END_CREATION_DATA__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.LINK_END_CREATION_DATA__OWNER :
+ return isSetOwner();
+ case UMLPackage.LINK_END_CREATION_DATA__END :
+ return basicGetEnd() != null;
+ case UMLPackage.LINK_END_CREATION_DATA__QUALIFIER :
+ return !getQualifiers().isEmpty();
+ case UMLPackage.LINK_END_CREATION_DATA__VALUE :
+ return basicGetValue() != null;
+ case UMLPackage.LINK_END_CREATION_DATA__INSERT_AT :
+ return basicGetInsertAt() != null;
+ case UMLPackage.LINK_END_CREATION_DATA__IS_REPLACE_ALL :
+ return isReplaceAll() != IS_REPLACE_ALL_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.LINK_END_CREATION_DATA___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_CREATION_DATA___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.LINK_END_CREATION_DATA___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.LINK_END_CREATION_DATA___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.LINK_END_CREATION_DATA___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.LINK_END_CREATION_DATA___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LINK_END_CREATION_DATA___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___GET_MODEL :
+ return getModel();
+ case UMLPackage.LINK_END_CREATION_DATA___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.LINK_END_CREATION_DATA___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.LINK_END_CREATION_DATA___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.LINK_END_CREATION_DATA___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.LINK_END_CREATION_DATA___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.LINK_END_CREATION_DATA___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.LINK_END_CREATION_DATA___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LINK_END_CREATION_DATA___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LINK_END_CREATION_DATA___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.LINK_END_CREATION_DATA___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_CREATION_DATA___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.LINK_END_CREATION_DATA___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSameType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateEndObjectInputPin(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP :
+ return validatePropertyIsAssociationEnd(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_QUALIFIERS__DIAGNOSTICCHAIN_MAP :
+ return validateQualifiers((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_CREATION_DATA___ALL_PINS :
+ return allPins();
+ case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_INSERT_AT_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateInsertAtPin((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //LinkEndCreationDataImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkEndDataImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkEndDataImpl.java
new file mode 100644
index 00000000..56276cba
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkEndDataImpl.java
@@ -0,0 +1,556 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.LinkEndDataOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Link End Data</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LinkEndDataImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LinkEndDataImpl#getEnd <em>End</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LinkEndDataImpl#getQualifiers <em>Qualifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LinkEndDataImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LinkEndDataImpl
+ extends ElementImpl
+ implements LinkEndData {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkEndDataImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.LINK_END_DATA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.LINK_END_DATA__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.LINK_END_DATA__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.LINK_END_DATA__OWNED_COMMENT,
+ UMLPackage.LINK_END_DATA__QUALIFIER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getValue() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.LINK_END_DATA__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_DATA__VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetValue() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.LINK_END_DATA__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_DATA__VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(InputPin newValue) {
+ eDynamicSet(UMLPackage.LINK_END_DATA__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_DATA__VALUE, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getEnd() {
+ return (Property) eDynamicGet(
+ UMLPackage.LINK_END_DATA__END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_DATA__END, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetEnd() {
+ return (Property) eDynamicGet(
+ UMLPackage.LINK_END_DATA__END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_DATA__END, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnd(Property newEnd) {
+ eDynamicSet(UMLPackage.LINK_END_DATA__END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_DATA__END, newEnd);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<QualifierValue> getQualifiers() {
+ return (EList<QualifierValue>) eDynamicGet(
+ UMLPackage.LINK_END_DATA__QUALIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_DATA__QUALIFIER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifierValue createQualifier() {
+ QualifierValue newQualifier = (QualifierValue) create(
+ UMLPackage.Literals.QUALIFIER_VALUE);
+ getQualifiers().add(newQualifier);
+ return newQualifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePropertyIsAssociationEnd(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LinkEndDataOperations.validatePropertyIsAssociationEnd(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSameType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LinkEndDataOperations.validateSameType(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LinkEndDataOperations.validateMultiplicity(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateQualifiers(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LinkEndDataOperations.validateQualifiers(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<InputPin> allPins() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<InputPin> result = (EList<InputPin>) cache.get(this,
+ UMLPackage.Literals.LINK_END_DATA___ALL_PINS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.LINK_END_DATA___ALL_PINS,
+ result = LinkEndDataOperations.allPins(this));
+ }
+ return result;
+ }
+ return LinkEndDataOperations.allPins(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEndObjectInputPin(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LinkEndDataOperations.validateEndObjectInputPin(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.LINK_END_DATA__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LINK_END_DATA__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LINK_END_DATA__QUALIFIER :
+ return ((InternalEList<?>) getQualifiers())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.LINK_END_DATA__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.LINK_END_DATA__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.LINK_END_DATA__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.LINK_END_DATA__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.LINK_END_DATA__END :
+ if (resolve)
+ return getEnd();
+ return basicGetEnd();
+ case UMLPackage.LINK_END_DATA__QUALIFIER :
+ return getQualifiers();
+ case UMLPackage.LINK_END_DATA__VALUE :
+ if (resolve)
+ return getValue();
+ return basicGetValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.LINK_END_DATA__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.LINK_END_DATA__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.LINK_END_DATA__END :
+ setEnd((Property) newValue);
+ return;
+ case UMLPackage.LINK_END_DATA__QUALIFIER :
+ getQualifiers().clear();
+ getQualifiers()
+ .addAll((Collection<? extends QualifierValue>) newValue);
+ return;
+ case UMLPackage.LINK_END_DATA__VALUE :
+ setValue((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LINK_END_DATA__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.LINK_END_DATA__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.LINK_END_DATA__END :
+ setEnd((Property) null);
+ return;
+ case UMLPackage.LINK_END_DATA__QUALIFIER :
+ getQualifiers().clear();
+ return;
+ case UMLPackage.LINK_END_DATA__VALUE :
+ setValue((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LINK_END_DATA__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.LINK_END_DATA__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.LINK_END_DATA__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.LINK_END_DATA__OWNER :
+ return isSetOwner();
+ case UMLPackage.LINK_END_DATA__END :
+ return basicGetEnd() != null;
+ case UMLPackage.LINK_END_DATA__QUALIFIER :
+ return !getQualifiers().isEmpty();
+ case UMLPackage.LINK_END_DATA__VALUE :
+ return basicGetValue() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.LINK_END_DATA___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DATA___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DATA___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.LINK_END_DATA___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.LINK_END_DATA___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.LINK_END_DATA___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.LINK_END_DATA___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LINK_END_DATA___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___GET_MODEL :
+ return getModel();
+ case UMLPackage.LINK_END_DATA___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.LINK_END_DATA___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.LINK_END_DATA___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.LINK_END_DATA___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.LINK_END_DATA___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.LINK_END_DATA___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.LINK_END_DATA___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LINK_END_DATA___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LINK_END_DATA___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.LINK_END_DATA___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DATA___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.LINK_END_DATA___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.LINK_END_DATA___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSameType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DATA___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateEndObjectInputPin(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP :
+ return validatePropertyIsAssociationEnd(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DATA___VALIDATE_QUALIFIERS__DIAGNOSTICCHAIN_MAP :
+ return validateQualifiers((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DATA___ALL_PINS :
+ return allPins();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.LINK_END_DATA__QUALIFIER);
+ }
+
+} //LinkEndDataImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkEndDestructionDataImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkEndDestructionDataImpl.java
new file mode 100644
index 00000000..19e1eb06
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LinkEndDestructionDataImpl.java
@@ -0,0 +1,441 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.LinkEndDestructionDataOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Link End Destruction Data</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LinkEndDestructionDataImpl#getDestroyAt <em>Destroy At</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LinkEndDestructionDataImpl#isDestroyDuplicates <em>Is Destroy Duplicates</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LinkEndDestructionDataImpl
+ extends LinkEndDataImpl
+ implements LinkEndDestructionData {
+
+ /**
+ * The default value of the '{@link #isDestroyDuplicates() <em>Is Destroy Duplicates</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDestroyDuplicates()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DESTROY_DUPLICATES_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkEndDestructionDataImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.LINK_END_DESTRUCTION_DATA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDestroyDuplicates() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.LINK_END_DESTRUCTION_DATA__IS_DESTROY_DUPLICATES
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_DESTRUCTION_DATA__IS_DESTROY_DUPLICATES,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDestroyDuplicates(boolean newIsDestroyDuplicates) {
+ eDynamicSet(
+ UMLPackage.LINK_END_DESTRUCTION_DATA__IS_DESTROY_DUPLICATES
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_DESTRUCTION_DATA__IS_DESTROY_DUPLICATES,
+ newIsDestroyDuplicates);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDestroyAtPin(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LinkEndDestructionDataOperations.validateDestroyAtPin(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> allPins() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<InputPin> result = (EList<InputPin>) cache.get(this,
+ UMLPackage.Literals.LINK_END_DATA___ALL_PINS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.LINK_END_DATA___ALL_PINS,
+ result = LinkEndDestructionDataOperations.allPins(this));
+ }
+ return result;
+ }
+ return LinkEndDestructionDataOperations.allPins(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getDestroyAt() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.LINK_END_DESTRUCTION_DATA__DESTROY_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_DESTRUCTION_DATA__DESTROY_AT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetDestroyAt() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.LINK_END_DESTRUCTION_DATA__DESTROY_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_DESTRUCTION_DATA__DESTROY_AT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDestroyAt(InputPin newDestroyAt) {
+ eDynamicSet(
+ UMLPackage.LINK_END_DESTRUCTION_DATA__DESTROY_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LINK_END_DESTRUCTION_DATA__DESTROY_AT,
+ newDestroyAt);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__END :
+ if (resolve)
+ return getEnd();
+ return basicGetEnd();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__QUALIFIER :
+ return getQualifiers();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__VALUE :
+ if (resolve)
+ return getValue();
+ return basicGetValue();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__DESTROY_AT :
+ if (resolve)
+ return getDestroyAt();
+ return basicGetDestroyAt();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__IS_DESTROY_DUPLICATES :
+ return isDestroyDuplicates();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__END :
+ setEnd((Property) newValue);
+ return;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__QUALIFIER :
+ getQualifiers().clear();
+ getQualifiers()
+ .addAll((Collection<? extends QualifierValue>) newValue);
+ return;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__VALUE :
+ setValue((InputPin) newValue);
+ return;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__DESTROY_AT :
+ setDestroyAt((InputPin) newValue);
+ return;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__IS_DESTROY_DUPLICATES :
+ setIsDestroyDuplicates((Boolean) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__END :
+ setEnd((Property) null);
+ return;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__QUALIFIER :
+ getQualifiers().clear();
+ return;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__VALUE :
+ setValue((InputPin) null);
+ return;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__DESTROY_AT :
+ setDestroyAt((InputPin) null);
+ return;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__IS_DESTROY_DUPLICATES :
+ setIsDestroyDuplicates(IS_DESTROY_DUPLICATES_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__OWNER :
+ return isSetOwner();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__END :
+ return basicGetEnd() != null;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__QUALIFIER :
+ return !getQualifiers().isEmpty();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__VALUE :
+ return basicGetValue() != null;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__DESTROY_AT :
+ return basicGetDestroyAt() != null;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__IS_DESTROY_DUPLICATES :
+ return isDestroyDuplicates() != IS_DESTROY_DUPLICATES_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_MODEL :
+ return getModel();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSameType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateEndObjectInputPin(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP :
+ return validatePropertyIsAssociationEnd(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_QUALIFIERS__DIAGNOSTICCHAIN_MAP :
+ return validateQualifiers((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___ALL_PINS :
+ return allPins();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_DESTROY_AT_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateDestroyAtPin((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //LinkEndDestructionDataImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralBooleanImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralBooleanImpl.java
new file mode 100644
index 00000000..e6646622
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralBooleanImpl.java
@@ -0,0 +1,468 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.LiteralBooleanOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Literal Boolean</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LiteralBooleanImpl#isValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LiteralBooleanImpl
+ extends LiteralSpecificationImpl
+ implements LiteralBoolean {
+
+ /**
+ * The default value of the '{@link #isValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isValue()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean VALUE_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LiteralBooleanImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.LITERAL_BOOLEAN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isValue() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.LITERAL_BOOLEAN__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LITERAL_BOOLEAN__VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(boolean newValue) {
+ eDynamicSet(UMLPackage.LITERAL_BOOLEAN__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LITERAL_BOOLEAN__VALUE, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isComputable() {
+ return LiteralBooleanOperations.isComputable(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean booleanValue() {
+ return LiteralBooleanOperations.booleanValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String stringValue() {
+ return LiteralBooleanOperations.stringValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_BOOLEAN__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.LITERAL_BOOLEAN__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.LITERAL_BOOLEAN__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.LITERAL_BOOLEAN__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.LITERAL_BOOLEAN__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.LITERAL_BOOLEAN__NAME :
+ return getName();
+ case UMLPackage.LITERAL_BOOLEAN__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.LITERAL_BOOLEAN__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.LITERAL_BOOLEAN__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LITERAL_BOOLEAN__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.LITERAL_BOOLEAN__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.LITERAL_BOOLEAN__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.LITERAL_BOOLEAN__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.LITERAL_BOOLEAN__VALUE :
+ return isValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_BOOLEAN__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__VALUE :
+ setValue((Boolean) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_BOOLEAN__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__NAME :
+ unsetName();
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.LITERAL_BOOLEAN__VALUE :
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_BOOLEAN__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.LITERAL_BOOLEAN__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.LITERAL_BOOLEAN__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.LITERAL_BOOLEAN__OWNER :
+ return isSetOwner();
+ case UMLPackage.LITERAL_BOOLEAN__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.LITERAL_BOOLEAN__NAME :
+ return isSetName();
+ case UMLPackage.LITERAL_BOOLEAN__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.LITERAL_BOOLEAN__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.LITERAL_BOOLEAN__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.LITERAL_BOOLEAN__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.LITERAL_BOOLEAN__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.LITERAL_BOOLEAN__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.LITERAL_BOOLEAN__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.LITERAL_BOOLEAN__VALUE :
+ return isValue() != VALUE_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.LITERAL_BOOLEAN___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_BOOLEAN___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_BOOLEAN___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.LITERAL_BOOLEAN___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.LITERAL_BOOLEAN___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.LITERAL_BOOLEAN___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.LITERAL_BOOLEAN___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_BOOLEAN___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___GET_MODEL :
+ return getModel();
+ case UMLPackage.LITERAL_BOOLEAN___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.LITERAL_BOOLEAN___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.LITERAL_BOOLEAN___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.LITERAL_BOOLEAN___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.LITERAL_BOOLEAN___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.LITERAL_BOOLEAN___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.LITERAL_BOOLEAN___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_BOOLEAN___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_BOOLEAN___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.LITERAL_BOOLEAN___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.LITERAL_BOOLEAN___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.LITERAL_BOOLEAN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_BOOLEAN___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_BOOLEAN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_BOOLEAN___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___GET_LABEL :
+ return getLabel();
+ case UMLPackage.LITERAL_BOOLEAN___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.LITERAL_BOOLEAN___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.LITERAL_BOOLEAN___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.LITERAL_BOOLEAN___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.LITERAL_BOOLEAN___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LITERAL_BOOLEAN___SEPARATOR :
+ return separator();
+ case UMLPackage.LITERAL_BOOLEAN___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.LITERAL_BOOLEAN___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.LITERAL_BOOLEAN___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.LITERAL_BOOLEAN___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_BOOLEAN___BOOLEAN_VALUE :
+ return booleanValue();
+ case UMLPackage.LITERAL_BOOLEAN___INTEGER_VALUE :
+ return integerValue();
+ case UMLPackage.LITERAL_BOOLEAN___IS_COMPUTABLE :
+ return isComputable();
+ case UMLPackage.LITERAL_BOOLEAN___IS_NULL :
+ return isNull();
+ case UMLPackage.LITERAL_BOOLEAN___REAL_VALUE :
+ return realValue();
+ case UMLPackage.LITERAL_BOOLEAN___STRING_VALUE :
+ return stringValue();
+ case UMLPackage.LITERAL_BOOLEAN___UNLIMITED_VALUE :
+ return unlimitedValue();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //LiteralBooleanImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralIntegerImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralIntegerImpl.java
new file mode 100644
index 00000000..d51b4fd9
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralIntegerImpl.java
@@ -0,0 +1,467 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.LiteralIntegerOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Literal Integer</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LiteralIntegerImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LiteralIntegerImpl
+ extends LiteralSpecificationImpl
+ implements LiteralInteger {
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final int VALUE_EDEFAULT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LiteralIntegerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.LITERAL_INTEGER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return (Integer) eDynamicGet(
+ UMLPackage.LITERAL_INTEGER__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LITERAL_INTEGER__VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(int newValue) {
+ eDynamicSet(UMLPackage.LITERAL_INTEGER__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LITERAL_INTEGER__VALUE, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isComputable() {
+ return LiteralIntegerOperations.isComputable(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int integerValue() {
+ return LiteralIntegerOperations.integerValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String stringValue() {
+ return LiteralIntegerOperations.stringValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_INTEGER__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.LITERAL_INTEGER__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.LITERAL_INTEGER__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.LITERAL_INTEGER__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.LITERAL_INTEGER__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.LITERAL_INTEGER__NAME :
+ return getName();
+ case UMLPackage.LITERAL_INTEGER__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.LITERAL_INTEGER__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.LITERAL_INTEGER__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LITERAL_INTEGER__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.LITERAL_INTEGER__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.LITERAL_INTEGER__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.LITERAL_INTEGER__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.LITERAL_INTEGER__VALUE :
+ return getValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_INTEGER__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.LITERAL_INTEGER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.LITERAL_INTEGER__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.LITERAL_INTEGER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.LITERAL_INTEGER__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.LITERAL_INTEGER__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.LITERAL_INTEGER__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.LITERAL_INTEGER__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.LITERAL_INTEGER__VALUE :
+ setValue((Integer) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_INTEGER__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.LITERAL_INTEGER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.LITERAL_INTEGER__NAME :
+ unsetName();
+ return;
+ case UMLPackage.LITERAL_INTEGER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.LITERAL_INTEGER__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.LITERAL_INTEGER__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.LITERAL_INTEGER__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.LITERAL_INTEGER__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.LITERAL_INTEGER__VALUE :
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_INTEGER__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.LITERAL_INTEGER__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.LITERAL_INTEGER__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.LITERAL_INTEGER__OWNER :
+ return isSetOwner();
+ case UMLPackage.LITERAL_INTEGER__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.LITERAL_INTEGER__NAME :
+ return isSetName();
+ case UMLPackage.LITERAL_INTEGER__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.LITERAL_INTEGER__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.LITERAL_INTEGER__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.LITERAL_INTEGER__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.LITERAL_INTEGER__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.LITERAL_INTEGER__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.LITERAL_INTEGER__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.LITERAL_INTEGER__VALUE :
+ return getValue() != VALUE_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.LITERAL_INTEGER___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_INTEGER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_INTEGER___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.LITERAL_INTEGER___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.LITERAL_INTEGER___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.LITERAL_INTEGER___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.LITERAL_INTEGER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_INTEGER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___GET_MODEL :
+ return getModel();
+ case UMLPackage.LITERAL_INTEGER___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.LITERAL_INTEGER___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.LITERAL_INTEGER___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.LITERAL_INTEGER___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.LITERAL_INTEGER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.LITERAL_INTEGER___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.LITERAL_INTEGER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_INTEGER___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_INTEGER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.LITERAL_INTEGER___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.LITERAL_INTEGER___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.LITERAL_INTEGER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_INTEGER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_INTEGER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_INTEGER___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___GET_LABEL :
+ return getLabel();
+ case UMLPackage.LITERAL_INTEGER___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.LITERAL_INTEGER___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.LITERAL_INTEGER___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.LITERAL_INTEGER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.LITERAL_INTEGER___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LITERAL_INTEGER___SEPARATOR :
+ return separator();
+ case UMLPackage.LITERAL_INTEGER___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.LITERAL_INTEGER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.LITERAL_INTEGER___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.LITERAL_INTEGER___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_INTEGER___BOOLEAN_VALUE :
+ return booleanValue();
+ case UMLPackage.LITERAL_INTEGER___INTEGER_VALUE :
+ return integerValue();
+ case UMLPackage.LITERAL_INTEGER___IS_COMPUTABLE :
+ return isComputable();
+ case UMLPackage.LITERAL_INTEGER___IS_NULL :
+ return isNull();
+ case UMLPackage.LITERAL_INTEGER___REAL_VALUE :
+ return realValue();
+ case UMLPackage.LITERAL_INTEGER___STRING_VALUE :
+ return stringValue();
+ case UMLPackage.LITERAL_INTEGER___UNLIMITED_VALUE :
+ return unlimitedValue();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //LiteralIntegerImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralNullImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralNullImpl.java
new file mode 100644
index 00000000..87d06dad
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralNullImpl.java
@@ -0,0 +1,237 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.LiteralNullOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Literal Null</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class LiteralNullImpl
+ extends LiteralSpecificationImpl
+ implements LiteralNull {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LiteralNullImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.LITERAL_NULL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isComputable() {
+ return LiteralNullOperations.isComputable(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isNull() {
+ return LiteralNullOperations.isNull(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.LITERAL_NULL___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_NULL___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_NULL___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.LITERAL_NULL___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.LITERAL_NULL___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.LITERAL_NULL___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.LITERAL_NULL___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_NULL___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___GET_MODEL :
+ return getModel();
+ case UMLPackage.LITERAL_NULL___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.LITERAL_NULL___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.LITERAL_NULL___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.LITERAL_NULL___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.LITERAL_NULL___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.LITERAL_NULL___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.LITERAL_NULL___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_NULL___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_NULL___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.LITERAL_NULL___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.LITERAL_NULL___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.LITERAL_NULL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_NULL___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_NULL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_NULL___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___GET_LABEL :
+ return getLabel();
+ case UMLPackage.LITERAL_NULL___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.LITERAL_NULL___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.LITERAL_NULL___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.LITERAL_NULL___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.LITERAL_NULL___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LITERAL_NULL___SEPARATOR :
+ return separator();
+ case UMLPackage.LITERAL_NULL___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.LITERAL_NULL___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.LITERAL_NULL___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.LITERAL_NULL___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_NULL___BOOLEAN_VALUE :
+ return booleanValue();
+ case UMLPackage.LITERAL_NULL___INTEGER_VALUE :
+ return integerValue();
+ case UMLPackage.LITERAL_NULL___IS_COMPUTABLE :
+ return isComputable();
+ case UMLPackage.LITERAL_NULL___IS_NULL :
+ return isNull();
+ case UMLPackage.LITERAL_NULL___REAL_VALUE :
+ return realValue();
+ case UMLPackage.LITERAL_NULL___STRING_VALUE :
+ return stringValue();
+ case UMLPackage.LITERAL_NULL___UNLIMITED_VALUE :
+ return unlimitedValue();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //LiteralNullImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralRealImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralRealImpl.java
new file mode 100644
index 00000000..9da4ec4c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralRealImpl.java
@@ -0,0 +1,471 @@
+/*
+ * Copyright (c) 2011, 2017 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 351774, 418466, 451350, 485756
+ * Kenn Hussey - 519572
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.LiteralRealOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Literal Real</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LiteralRealImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LiteralRealImpl
+ extends LiteralSpecificationImpl
+ implements LiteralReal {
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final double VALUE_EDEFAULT = 0.0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LiteralRealImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.LITERAL_REAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public double getValue() {
+ return (Double) eDynamicGet(
+ UMLPackage.LITERAL_REAL__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LITERAL_REAL__VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(double newValue) {
+ eDynamicSet(UMLPackage.LITERAL_REAL__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LITERAL_REAL__VALUE, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String stringValue() {
+ return LiteralRealOperations.stringValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isComputable() {
+ return LiteralRealOperations.isComputable(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public double realValue() {
+ return LiteralRealOperations.realValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_REAL__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.LITERAL_REAL__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.LITERAL_REAL__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.LITERAL_REAL__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.LITERAL_REAL__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.LITERAL_REAL__NAME :
+ return getName();
+ case UMLPackage.LITERAL_REAL__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.LITERAL_REAL__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.LITERAL_REAL__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LITERAL_REAL__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.LITERAL_REAL__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.LITERAL_REAL__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.LITERAL_REAL__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.LITERAL_REAL__VALUE :
+ return getValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_REAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.LITERAL_REAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.LITERAL_REAL__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.LITERAL_REAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.LITERAL_REAL__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.LITERAL_REAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.LITERAL_REAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.LITERAL_REAL__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.LITERAL_REAL__VALUE :
+ setValue((Double) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_REAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.LITERAL_REAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.LITERAL_REAL__NAME :
+ unsetName();
+ return;
+ case UMLPackage.LITERAL_REAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.LITERAL_REAL__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.LITERAL_REAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.LITERAL_REAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.LITERAL_REAL__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.LITERAL_REAL__VALUE :
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_REAL__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.LITERAL_REAL__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.LITERAL_REAL__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.LITERAL_REAL__OWNER :
+ return isSetOwner();
+ case UMLPackage.LITERAL_REAL__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.LITERAL_REAL__NAME :
+ return isSetName();
+ case UMLPackage.LITERAL_REAL__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.LITERAL_REAL__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.LITERAL_REAL__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.LITERAL_REAL__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.LITERAL_REAL__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.LITERAL_REAL__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.LITERAL_REAL__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.LITERAL_REAL__VALUE :
+ return getValue() != VALUE_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.LITERAL_REAL___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_REAL___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_REAL___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.LITERAL_REAL___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.LITERAL_REAL___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.LITERAL_REAL___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.LITERAL_REAL___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_REAL___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___GET_MODEL :
+ return getModel();
+ case UMLPackage.LITERAL_REAL___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.LITERAL_REAL___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.LITERAL_REAL___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.LITERAL_REAL___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.LITERAL_REAL___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.LITERAL_REAL___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.LITERAL_REAL___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_REAL___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_REAL___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.LITERAL_REAL___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.LITERAL_REAL___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.LITERAL_REAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_REAL___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_REAL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_REAL___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___GET_LABEL :
+ return getLabel();
+ case UMLPackage.LITERAL_REAL___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.LITERAL_REAL___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.LITERAL_REAL___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.LITERAL_REAL___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.LITERAL_REAL___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LITERAL_REAL___SEPARATOR :
+ return separator();
+ case UMLPackage.LITERAL_REAL___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.LITERAL_REAL___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.LITERAL_REAL___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.LITERAL_REAL___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_REAL___BOOLEAN_VALUE :
+ return booleanValue();
+ case UMLPackage.LITERAL_REAL___INTEGER_VALUE :
+ return integerValue();
+ case UMLPackage.LITERAL_REAL___IS_COMPUTABLE :
+ return isComputable();
+ case UMLPackage.LITERAL_REAL___IS_NULL :
+ return isNull();
+ case UMLPackage.LITERAL_REAL___REAL_VALUE :
+ return realValue();
+ case UMLPackage.LITERAL_REAL___STRING_VALUE :
+ return stringValue();
+ case UMLPackage.LITERAL_REAL___UNLIMITED_VALUE :
+ return unlimitedValue();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //LiteralRealImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralSpecificationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralSpecificationImpl.java
new file mode 100644
index 00000000..bd462814
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralSpecificationImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.LiteralSpecification;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Literal Specification</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class LiteralSpecificationImpl
+ extends ValueSpecificationImpl
+ implements LiteralSpecification {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LiteralSpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.LITERAL_SPECIFICATION;
+ }
+
+} //LiteralSpecificationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralStringImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralStringImpl.java
new file mode 100644
index 00000000..9cff4462
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralStringImpl.java
@@ -0,0 +1,499 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.LiteralStringOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Literal String</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LiteralStringImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LiteralStringImpl
+ extends LiteralSpecificationImpl
+ implements LiteralString {
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LiteralStringImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.LITERAL_STRING;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return (String) eDynamicGet(
+ UMLPackage.LITERAL_STRING__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LITERAL_STRING__VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue) {
+ eDynamicSet(UMLPackage.LITERAL_STRING__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LITERAL_STRING__VALUE, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetValue() {
+ eDynamicUnset(UMLPackage.LITERAL_STRING__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LITERAL_STRING__VALUE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetValue() {
+ return eDynamicIsSet(
+ UMLPackage.LITERAL_STRING__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LITERAL_STRING__VALUE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int integerValue() {
+ return LiteralStringOperations.integerValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int unlimitedValue() {
+ return LiteralStringOperations.unlimitedValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isComputable() {
+ return LiteralStringOperations.isComputable(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String stringValue() {
+ return LiteralStringOperations.stringValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_STRING__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.LITERAL_STRING__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.LITERAL_STRING__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.LITERAL_STRING__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.LITERAL_STRING__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.LITERAL_STRING__NAME :
+ return getName();
+ case UMLPackage.LITERAL_STRING__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.LITERAL_STRING__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.LITERAL_STRING__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LITERAL_STRING__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.LITERAL_STRING__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.LITERAL_STRING__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.LITERAL_STRING__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.LITERAL_STRING__VALUE :
+ return getValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_STRING__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.LITERAL_STRING__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.LITERAL_STRING__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.LITERAL_STRING__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.LITERAL_STRING__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.LITERAL_STRING__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.LITERAL_STRING__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.LITERAL_STRING__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.LITERAL_STRING__VALUE :
+ setValue((String) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_STRING__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.LITERAL_STRING__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.LITERAL_STRING__NAME :
+ unsetName();
+ return;
+ case UMLPackage.LITERAL_STRING__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.LITERAL_STRING__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.LITERAL_STRING__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.LITERAL_STRING__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.LITERAL_STRING__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.LITERAL_STRING__VALUE :
+ unsetValue();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_STRING__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.LITERAL_STRING__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.LITERAL_STRING__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.LITERAL_STRING__OWNER :
+ return isSetOwner();
+ case UMLPackage.LITERAL_STRING__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.LITERAL_STRING__NAME :
+ return isSetName();
+ case UMLPackage.LITERAL_STRING__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.LITERAL_STRING__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.LITERAL_STRING__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.LITERAL_STRING__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.LITERAL_STRING__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.LITERAL_STRING__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.LITERAL_STRING__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.LITERAL_STRING__VALUE :
+ return isSetValue();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.LITERAL_STRING___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_STRING___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_STRING___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.LITERAL_STRING___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.LITERAL_STRING___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.LITERAL_STRING___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.LITERAL_STRING___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_STRING___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___GET_MODEL :
+ return getModel();
+ case UMLPackage.LITERAL_STRING___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.LITERAL_STRING___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.LITERAL_STRING___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.LITERAL_STRING___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.LITERAL_STRING___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.LITERAL_STRING___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.LITERAL_STRING___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_STRING___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_STRING___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.LITERAL_STRING___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.LITERAL_STRING___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.LITERAL_STRING___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_STRING___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_STRING___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_STRING___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___GET_LABEL :
+ return getLabel();
+ case UMLPackage.LITERAL_STRING___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.LITERAL_STRING___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.LITERAL_STRING___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.LITERAL_STRING___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.LITERAL_STRING___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LITERAL_STRING___SEPARATOR :
+ return separator();
+ case UMLPackage.LITERAL_STRING___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.LITERAL_STRING___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.LITERAL_STRING___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.LITERAL_STRING___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_STRING___BOOLEAN_VALUE :
+ return booleanValue();
+ case UMLPackage.LITERAL_STRING___INTEGER_VALUE :
+ return integerValue();
+ case UMLPackage.LITERAL_STRING___IS_COMPUTABLE :
+ return isComputable();
+ case UMLPackage.LITERAL_STRING___IS_NULL :
+ return isNull();
+ case UMLPackage.LITERAL_STRING___REAL_VALUE :
+ return realValue();
+ case UMLPackage.LITERAL_STRING___STRING_VALUE :
+ return stringValue();
+ case UMLPackage.LITERAL_STRING___UNLIMITED_VALUE :
+ return unlimitedValue();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //LiteralStringImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralUnlimitedNaturalImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralUnlimitedNaturalImpl.java
new file mode 100644
index 00000000..77355232
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LiteralUnlimitedNaturalImpl.java
@@ -0,0 +1,468 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.LiteralUnlimitedNaturalOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Literal Unlimited Natural</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LiteralUnlimitedNaturalImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LiteralUnlimitedNaturalImpl
+ extends LiteralSpecificationImpl
+ implements LiteralUnlimitedNatural {
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final int VALUE_EDEFAULT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LiteralUnlimitedNaturalImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.LITERAL_UNLIMITED_NATURAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return (Integer) eDynamicGet(
+ UMLPackage.LITERAL_UNLIMITED_NATURAL__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LITERAL_UNLIMITED_NATURAL__VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(int newValue) {
+ eDynamicSet(
+ UMLPackage.LITERAL_UNLIMITED_NATURAL__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LITERAL_UNLIMITED_NATURAL__VALUE, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isComputable() {
+ return LiteralUnlimitedNaturalOperations.isComputable(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int unlimitedValue() {
+ return LiteralUnlimitedNaturalOperations.unlimitedValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String stringValue() {
+ return LiteralUnlimitedNaturalOperations.stringValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__NAME :
+ return getName();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__VALUE :
+ return getValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__VALUE :
+ setValue((Integer) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__NAME :
+ unsetName();
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__VALUE :
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__OWNER :
+ return isSetOwner();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__NAME :
+ return isSetName();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__VALUE :
+ return getValue() != VALUE_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_MODEL :
+ return getModel();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_LABEL :
+ return getLabel();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___SEPARATOR :
+ return separator();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___BOOLEAN_VALUE :
+ return booleanValue();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___INTEGER_VALUE :
+ return integerValue();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___IS_COMPUTABLE :
+ return isComputable();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___IS_NULL :
+ return isNull();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___REAL_VALUE :
+ return realValue();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___STRING_VALUE :
+ return stringValue();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL___UNLIMITED_VALUE :
+ return unlimitedValue();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //LiteralUnlimitedNaturalImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LoopNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LoopNodeImpl.java
new file mode 100644
index 00000000..d6c1007a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/LoopNodeImpl.java
@@ -0,0 +1,1699 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 397139, 397141, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutableNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Variable;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.LoopNodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Loop Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LoopNodeImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LoopNodeImpl#getBodyOutputs <em>Body Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LoopNodeImpl#getBodyParts <em>Body Part</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LoopNodeImpl#getDecider <em>Decider</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LoopNodeImpl#isTestedFirst <em>Is Tested First</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LoopNodeImpl#getLoopVariables <em>Loop Variable</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LoopNodeImpl#getLoopVariableInputs <em>Loop Variable Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LoopNodeImpl#getResults <em>Result</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LoopNodeImpl#getSetupParts <em>Setup Part</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.LoopNodeImpl#getTests <em>Test</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LoopNodeImpl
+ extends StructuredActivityNodeImpl
+ implements LoopNode {
+
+ /**
+ * The default value of the '{@link #isTestedFirst() <em>Is Tested First</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isTestedFirst()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_TESTED_FIRST_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LoopNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.LOOP_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.LOOP_NODE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.LOOP_NODE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.LOOP_NODE__OWNED_COMMENT,
+ UMLPackage.LOOP_NODE__NAME_EXPRESSION, UMLPackage.LOOP_NODE__HANDLER,
+ UMLPackage.LOOP_NODE__INPUT, UMLPackage.LOOP_NODE__LOCAL_POSTCONDITION,
+ UMLPackage.LOOP_NODE__LOCAL_PRECONDITION, UMLPackage.LOOP_NODE__OUTPUT,
+ UMLPackage.LOOP_NODE__ELEMENT_IMPORT,
+ UMLPackage.LOOP_NODE__PACKAGE_IMPORT,
+ UMLPackage.LOOP_NODE__OWNED_MEMBER, UMLPackage.LOOP_NODE__SUBGROUP,
+ UMLPackage.LOOP_NODE__EDGE, UMLPackage.LOOP_NODE__NODE,
+ UMLPackage.LOOP_NODE__LOOP_VARIABLE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTestedFirst() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.LOOP_NODE__IS_TESTED_FIRST - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LOOP_NODE__IS_TESTED_FIRST, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsTestedFirst(boolean newIsTestedFirst) {
+ eDynamicSet(
+ UMLPackage.LOOP_NODE__IS_TESTED_FIRST - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LOOP_NODE__IS_TESTED_FIRST, newIsTestedFirst);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ExecutableNode> getBodyParts() {
+ return (EList<ExecutableNode>) eDynamicGet(
+ UMLPackage.LOOP_NODE__BODY_PART - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LOOP_NODE__BODY_PART, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getBodyPart(String name) {
+ return getBodyPart(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getBodyPart(String name, boolean ignoreCase,
+ EClass eClass) {
+ bodyPartLoop : for (ExecutableNode bodyPart : getBodyParts()) {
+ if (eClass != null && !eClass.isInstance(bodyPart))
+ continue bodyPartLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(bodyPart.getName())
+ : name.equals(bodyPart.getName())))
+ continue bodyPartLoop;
+ return bodyPart;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ExecutableNode> getSetupParts() {
+ return (EList<ExecutableNode>) eDynamicGet(
+ UMLPackage.LOOP_NODE__SETUP_PART - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LOOP_NODE__SETUP_PART, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getSetupPart(String name) {
+ return getSetupPart(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getSetupPart(String name, boolean ignoreCase,
+ EClass eClass) {
+ setupPartLoop : for (ExecutableNode setupPart : getSetupParts()) {
+ if (eClass != null && !eClass.isInstance(setupPart))
+ continue setupPartLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(setupPart.getName())
+ : name.equals(setupPart.getName())))
+ continue setupPartLoop;
+ return setupPart;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getDecider() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.LOOP_NODE__DECIDER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LOOP_NODE__DECIDER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetDecider() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.LOOP_NODE__DECIDER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LOOP_NODE__DECIDER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDecider(OutputPin newDecider) {
+ eDynamicSet(UMLPackage.LOOP_NODE__DECIDER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LOOP_NODE__DECIDER, newDecider);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ExecutableNode> getTests() {
+ return (EList<ExecutableNode>) eDynamicGet(
+ UMLPackage.LOOP_NODE__TEST - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LOOP_NODE__TEST, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getTest(String name) {
+ return getTest(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getTest(String name, boolean ignoreCase,
+ EClass eClass) {
+ testLoop : for (ExecutableNode test : getTests()) {
+ if (eClass != null && !eClass.isInstance(test))
+ continue testLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(test.getName())
+ : name.equals(test.getName())))
+ continue testLoop;
+ return test;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputPin> getResults() {
+ return (EList<OutputPin>) eDynamicGet(
+ UMLPackage.LOOP_NODE__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LOOP_NODE__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ getResults().add(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult(String name, Type type) {
+ return getResult(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult(String name, Type type, boolean ignoreCase,
+ boolean createOnDemand) {
+ resultLoop : for (OutputPin result : getResults()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(result.getName())
+ : name.equals(result.getName())))
+ continue resultLoop;
+ if (type != null && !type.equals(result.getType()))
+ continue resultLoop;
+ return result;
+ }
+ return createOnDemand
+ ? createResult(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetResults() {
+ return !getResults().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputPin> getLoopVariables() {
+ return (EList<OutputPin>) eDynamicGet(
+ UMLPackage.LOOP_NODE__LOOP_VARIABLE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LOOP_NODE__LOOP_VARIABLE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createLoopVariable(String name, Type type) {
+ OutputPin newLoopVariable = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ getLoopVariables().add(newLoopVariable);
+ if (name != null)
+ newLoopVariable.setName(name);
+ if (type != null)
+ newLoopVariable.setType(type);
+ return newLoopVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getLoopVariable(String name, Type type) {
+ return getLoopVariable(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public OutputPin getLoopVariable(String name, Type type,
+ boolean ignoreCase) {
+ return getLoopVariable(name, type, ignoreCase, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getLoopVariable(String name, Type type, boolean ignoreCase,
+ boolean createOnDemand) {
+ loopVariableLoop : for (OutputPin loopVariable : getLoopVariables()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(loopVariable.getName())
+ : name.equals(loopVariable.getName())))
+ continue loopVariableLoop;
+ if (type != null && !type.equals(loopVariable.getType()))
+ continue loopVariableLoop;
+ return loopVariable;
+ }
+ return createOnDemand
+ ? createLoopVariable(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputPin> getBodyOutputs() {
+ return (EList<OutputPin>) eDynamicGet(
+ UMLPackage.LOOP_NODE__BODY_OUTPUT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LOOP_NODE__BODY_OUTPUT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getBodyOutput(String name, Type type) {
+ return getBodyOutput(name, type, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getBodyOutput(String name, Type type, boolean ignoreCase) {
+ bodyOutputLoop : for (OutputPin bodyOutput : getBodyOutputs()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(bodyOutput.getName())
+ : name.equals(bodyOutput.getName())))
+ continue bodyOutputLoop;
+ if (type != null && !type.equals(bodyOutput.getType()))
+ continue bodyOutputLoop;
+ return bodyOutput;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InputPin> getLoopVariableInputs() {
+ return (EList<InputPin>) eDynamicGet(
+ UMLPackage.LOOP_NODE__LOOP_VARIABLE_INPUT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.LOOP_NODE__LOOP_VARIABLE_INPUT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createLoopVariableInput(String name, Type type,
+ EClass eClass) {
+ InputPin newLoopVariableInput = (InputPin) create(eClass);
+ getLoopVariableInputs().add(newLoopVariableInput);
+ if (name != null)
+ newLoopVariableInput.setName(name);
+ if (type != null)
+ newLoopVariableInput.setType(type);
+ return newLoopVariableInput;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createLoopVariableInput(String name, Type type) {
+ return createLoopVariableInput(name, type,
+ UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getLoopVariableInput(String name, Type type) {
+ return getLoopVariableInput(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getLoopVariableInput(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ loopVariableInputLoop : for (InputPin loopVariableInput : getLoopVariableInputs()) {
+ if (eClass != null && !eClass.isInstance(loopVariableInput))
+ continue loopVariableInputLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(loopVariableInput.getName())
+ : name.equals(loopVariableInput.getName())))
+ continue loopVariableInputLoop;
+ if (type != null && !type.equals(loopVariableInput.getType()))
+ continue loopVariableInputLoop;
+ return loopVariableInput;
+ }
+ return createOnDemand && eClass != null
+ ? createLoopVariableInput(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetLoopVariableInputs() {
+ return !getLoopVariableInputs().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInputEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LoopNodeOperations.validateInputEdges(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateExecutableNodes(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LoopNodeOperations.validateExecutableNodes(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBodyOutputPins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LoopNodeOperations.validateBodyOutputPins(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSetupTestAndBody(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LoopNodeOperations.validateSetupTestAndBody(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMatchingOutputPins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LoopNodeOperations.validateMatchingOutputPins(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMatchingLoopVariables(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LoopNodeOperations.validateMatchingLoopVariables(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMatchingResultPins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LoopNodeOperations.validateMatchingResultPins(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLoopVariableOutgoing(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LoopNodeOperations.validateLoopVariableOutgoing(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Action> allActions() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Action> result = (EList<Action>) cache.get(this,
+ UMLPackage.Literals.ACTION___ALL_ACTIONS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.ACTION___ALL_ACTIONS,
+ result = LoopNodeOperations.allActions(this));
+ }
+ return result;
+ }
+ return LoopNodeOperations.allActions(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<ActivityNode> sourceNodes() {
+ return LoopNodeOperations.sourceNodes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResultNoIncoming(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return LoopNodeOperations.validateResultNoIncoming(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.LOOP_NODE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LOOP_NODE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LOOP_NODE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.LOOP_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LOOP_NODE__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.LOOP_NODE__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.LOOP_NODE__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.LOOP_NODE__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LOOP_NODE__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.LOOP_NODE__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LOOP_NODE__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LOOP_NODE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LOOP_NODE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LOOP_NODE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LOOP_NODE__EDGE :
+ return ((InternalEList<?>) getEdges()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.LOOP_NODE__STRUCTURED_NODE_INPUT :
+ return ((InternalEList<?>) getStructuredNodeInputs())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LOOP_NODE__STRUCTURED_NODE_OUTPUT :
+ return ((InternalEList<?>) getStructuredNodeOutputs())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LOOP_NODE__VARIABLE :
+ return ((InternalEList<?>) getVariables()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.LOOP_NODE__NODE :
+ return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.LOOP_NODE__LOOP_VARIABLE :
+ return ((InternalEList<?>) getLoopVariables())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LOOP_NODE__LOOP_VARIABLE_INPUT :
+ return ((InternalEList<?>) getLoopVariableInputs())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.LOOP_NODE__RESULT :
+ return ((InternalEList<?>) getResults()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.LOOP_NODE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.LOOP_NODE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.LOOP_NODE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.LOOP_NODE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.LOOP_NODE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.LOOP_NODE__NAME :
+ return getName();
+ case UMLPackage.LOOP_NODE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.LOOP_NODE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.LOOP_NODE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LOOP_NODE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.LOOP_NODE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.LOOP_NODE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.LOOP_NODE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.LOOP_NODE__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.LOOP_NODE__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.LOOP_NODE__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.LOOP_NODE__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.LOOP_NODE__INCOMING :
+ return getIncomings();
+ case UMLPackage.LOOP_NODE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.LOOP_NODE__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.LOOP_NODE__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.LOOP_NODE__HANDLER :
+ return getHandlers();
+ case UMLPackage.LOOP_NODE__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.LOOP_NODE__INPUT :
+ return getInputs();
+ case UMLPackage.LOOP_NODE__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.LOOP_NODE__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.LOOP_NODE__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.LOOP_NODE__OUTPUT :
+ return getOutputs();
+ case UMLPackage.LOOP_NODE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.LOOP_NODE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.LOOP_NODE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.LOOP_NODE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.LOOP_NODE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.LOOP_NODE__MEMBER :
+ return getMembers();
+ case UMLPackage.LOOP_NODE__CONTAINED_EDGE :
+ return getContainedEdges();
+ case UMLPackage.LOOP_NODE__CONTAINED_NODE :
+ return getContainedNodes();
+ case UMLPackage.LOOP_NODE__IN_ACTIVITY :
+ if (resolve)
+ return getInActivity();
+ return basicGetInActivity();
+ case UMLPackage.LOOP_NODE__SUBGROUP :
+ return getSubgroups();
+ case UMLPackage.LOOP_NODE__SUPER_GROUP :
+ if (resolve)
+ return getSuperGroup();
+ return basicGetSuperGroup();
+ case UMLPackage.LOOP_NODE__EDGE :
+ return getEdges();
+ case UMLPackage.LOOP_NODE__MUST_ISOLATE :
+ return isMustIsolate();
+ case UMLPackage.LOOP_NODE__STRUCTURED_NODE_INPUT :
+ return getStructuredNodeInputs();
+ case UMLPackage.LOOP_NODE__STRUCTURED_NODE_OUTPUT :
+ return getStructuredNodeOutputs();
+ case UMLPackage.LOOP_NODE__VARIABLE :
+ return getVariables();
+ case UMLPackage.LOOP_NODE__NODE :
+ return getNodes();
+ case UMLPackage.LOOP_NODE__BODY_OUTPUT :
+ return getBodyOutputs();
+ case UMLPackage.LOOP_NODE__BODY_PART :
+ return getBodyParts();
+ case UMLPackage.LOOP_NODE__DECIDER :
+ if (resolve)
+ return getDecider();
+ return basicGetDecider();
+ case UMLPackage.LOOP_NODE__IS_TESTED_FIRST :
+ return isTestedFirst();
+ case UMLPackage.LOOP_NODE__LOOP_VARIABLE :
+ return getLoopVariables();
+ case UMLPackage.LOOP_NODE__LOOP_VARIABLE_INPUT :
+ return getLoopVariableInputs();
+ case UMLPackage.LOOP_NODE__RESULT :
+ return getResults();
+ case UMLPackage.LOOP_NODE__SETUP_PART :
+ return getSetupParts();
+ case UMLPackage.LOOP_NODE__TEST :
+ return getTests();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.LOOP_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__IN_ACTIVITY :
+ setInActivity((Activity) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__EDGE :
+ getEdges().clear();
+ getEdges()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__MUST_ISOLATE :
+ setMustIsolate((Boolean) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__STRUCTURED_NODE_INPUT :
+ getStructuredNodeInputs().clear();
+ getStructuredNodeInputs()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__STRUCTURED_NODE_OUTPUT :
+ getStructuredNodeOutputs().clear();
+ getStructuredNodeOutputs()
+ .addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__VARIABLE :
+ getVariables().clear();
+ getVariables()
+ .addAll((Collection<? extends Variable>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__NODE :
+ getNodes().clear();
+ getNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__BODY_OUTPUT :
+ getBodyOutputs().clear();
+ getBodyOutputs()
+ .addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__BODY_PART :
+ getBodyParts().clear();
+ getBodyParts()
+ .addAll((Collection<? extends ExecutableNode>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__DECIDER :
+ setDecider((OutputPin) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__IS_TESTED_FIRST :
+ setIsTestedFirst((Boolean) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__LOOP_VARIABLE :
+ getLoopVariables().clear();
+ getLoopVariables()
+ .addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__LOOP_VARIABLE_INPUT :
+ getLoopVariableInputs().clear();
+ getLoopVariableInputs()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__RESULT :
+ getResults().clear();
+ getResults().addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__SETUP_PART :
+ getSetupParts().clear();
+ getSetupParts()
+ .addAll((Collection<? extends ExecutableNode>) newValue);
+ return;
+ case UMLPackage.LOOP_NODE__TEST :
+ getTests().clear();
+ getTests()
+ .addAll((Collection<? extends ExecutableNode>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LOOP_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.LOOP_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.LOOP_NODE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.LOOP_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.LOOP_NODE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.LOOP_NODE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.LOOP_NODE__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.LOOP_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.LOOP_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.LOOP_NODE__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.LOOP_NODE__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.LOOP_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.LOOP_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.LOOP_NODE__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.LOOP_NODE__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.LOOP_NODE__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.LOOP_NODE__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.LOOP_NODE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.LOOP_NODE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.LOOP_NODE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.LOOP_NODE__IN_ACTIVITY :
+ setInActivity((Activity) null);
+ return;
+ case UMLPackage.LOOP_NODE__EDGE :
+ getEdges().clear();
+ return;
+ case UMLPackage.LOOP_NODE__MUST_ISOLATE :
+ setMustIsolate(MUST_ISOLATE_EDEFAULT);
+ return;
+ case UMLPackage.LOOP_NODE__STRUCTURED_NODE_INPUT :
+ getStructuredNodeInputs().clear();
+ return;
+ case UMLPackage.LOOP_NODE__STRUCTURED_NODE_OUTPUT :
+ getStructuredNodeOutputs().clear();
+ return;
+ case UMLPackage.LOOP_NODE__VARIABLE :
+ getVariables().clear();
+ return;
+ case UMLPackage.LOOP_NODE__NODE :
+ getNodes().clear();
+ return;
+ case UMLPackage.LOOP_NODE__BODY_OUTPUT :
+ getBodyOutputs().clear();
+ return;
+ case UMLPackage.LOOP_NODE__BODY_PART :
+ getBodyParts().clear();
+ return;
+ case UMLPackage.LOOP_NODE__DECIDER :
+ setDecider((OutputPin) null);
+ return;
+ case UMLPackage.LOOP_NODE__IS_TESTED_FIRST :
+ setIsTestedFirst(IS_TESTED_FIRST_EDEFAULT);
+ return;
+ case UMLPackage.LOOP_NODE__LOOP_VARIABLE :
+ getLoopVariables().clear();
+ return;
+ case UMLPackage.LOOP_NODE__LOOP_VARIABLE_INPUT :
+ getLoopVariableInputs().clear();
+ return;
+ case UMLPackage.LOOP_NODE__RESULT :
+ getResults().clear();
+ return;
+ case UMLPackage.LOOP_NODE__SETUP_PART :
+ getSetupParts().clear();
+ return;
+ case UMLPackage.LOOP_NODE__TEST :
+ getTests().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.LOOP_NODE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.LOOP_NODE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.LOOP_NODE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.LOOP_NODE__OWNER :
+ return isSetOwner();
+ case UMLPackage.LOOP_NODE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.LOOP_NODE__NAME :
+ return isSetName();
+ case UMLPackage.LOOP_NODE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.LOOP_NODE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.LOOP_NODE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.LOOP_NODE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.LOOP_NODE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.LOOP_NODE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.LOOP_NODE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.LOOP_NODE__ACTIVITY :
+ return isSetActivity();
+ case UMLPackage.LOOP_NODE__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.LOOP_NODE__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.LOOP_NODE__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.LOOP_NODE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.LOOP_NODE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.LOOP_NODE__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.LOOP_NODE__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.LOOP_NODE__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.LOOP_NODE__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.LOOP_NODE__INPUT :
+ return isSetInputs();
+ case UMLPackage.LOOP_NODE__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.LOOP_NODE__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.LOOP_NODE__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.LOOP_NODE__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.LOOP_NODE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.LOOP_NODE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.LOOP_NODE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.LOOP_NODE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.LOOP_NODE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.LOOP_NODE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.LOOP_NODE__CONTAINED_EDGE :
+ return isSetContainedEdges();
+ case UMLPackage.LOOP_NODE__CONTAINED_NODE :
+ return isSetContainedNodes();
+ case UMLPackage.LOOP_NODE__IN_ACTIVITY :
+ return isSetInActivity();
+ case UMLPackage.LOOP_NODE__SUBGROUP :
+ return isSetSubgroups();
+ case UMLPackage.LOOP_NODE__SUPER_GROUP :
+ return isSetSuperGroup();
+ case UMLPackage.LOOP_NODE__EDGE :
+ return !getEdges().isEmpty();
+ case UMLPackage.LOOP_NODE__MUST_ISOLATE :
+ return isMustIsolate() != MUST_ISOLATE_EDEFAULT;
+ case UMLPackage.LOOP_NODE__STRUCTURED_NODE_INPUT :
+ return isSetStructuredNodeInputs();
+ case UMLPackage.LOOP_NODE__STRUCTURED_NODE_OUTPUT :
+ return isSetStructuredNodeOutputs();
+ case UMLPackage.LOOP_NODE__VARIABLE :
+ return !getVariables().isEmpty();
+ case UMLPackage.LOOP_NODE__NODE :
+ return !getNodes().isEmpty();
+ case UMLPackage.LOOP_NODE__BODY_OUTPUT :
+ return !getBodyOutputs().isEmpty();
+ case UMLPackage.LOOP_NODE__BODY_PART :
+ return !getBodyParts().isEmpty();
+ case UMLPackage.LOOP_NODE__DECIDER :
+ return basicGetDecider() != null;
+ case UMLPackage.LOOP_NODE__IS_TESTED_FIRST :
+ return isTestedFirst() != IS_TESTED_FIRST_EDEFAULT;
+ case UMLPackage.LOOP_NODE__LOOP_VARIABLE :
+ return !getLoopVariables().isEmpty();
+ case UMLPackage.LOOP_NODE__LOOP_VARIABLE_INPUT :
+ return isSetLoopVariableInputs();
+ case UMLPackage.LOOP_NODE__RESULT :
+ return isSetResults();
+ case UMLPackage.LOOP_NODE__SETUP_PART :
+ return !getSetupParts().isEmpty();
+ case UMLPackage.LOOP_NODE__TEST :
+ return !getTests().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.LOOP_NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.LOOP_NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.LOOP_NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LOOP_NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.LOOP_NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.LOOP_NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.LOOP_NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.LOOP_NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.LOOP_NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.LOOP_NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.LOOP_NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LOOP_NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.LOOP_NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.LOOP_NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.LOOP_NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.LOOP_NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.LOOP_NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.LOOP_NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.LOOP_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.LOOP_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LOOP_NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.LOOP_NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.LOOP_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.LOOP_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.LOOP_NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LOOP_NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.LOOP_NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.LOOP_NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.LOOP_NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.LOOP_NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.LOOP_NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.LOOP_NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.LOOP_NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.LOOP_NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.LOOP_NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.LOOP_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.LOOP_NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.LOOP_NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.LOOP_NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.LOOP_NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.LOOP_NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.LOOP_NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.LOOP_NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.LOOP_NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.LOOP_NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.LOOP_NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.LOOP_NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.LOOP_NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.LOOP_NODE___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.LOOP_NODE___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.LOOP_NODE___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.LOOP_NODE___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.LOOP_NODE___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.LOOP_NODE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.LOOP_NODE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.LOOP_NODE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.LOOP_NODE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.LOOP_NODE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.LOOP_NODE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.LOOP_NODE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.LOOP_NODE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.LOOP_NODE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.LOOP_NODE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.LOOP_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateNodesAndEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
+ return validateNotContained((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateOutputPinEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateInputPinEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___SOURCE_NODES :
+ return sourceNodes();
+ case UMLPackage.LOOP_NODE___TARGET_NODES :
+ return targetNodes();
+ case UMLPackage.LOOP_NODE___VALIDATE_RESULT_NO_INCOMING__DIAGNOSTICCHAIN_MAP :
+ return validateResultNoIncoming(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_INPUT_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateInputEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_EXECUTABLE_NODES__DIAGNOSTICCHAIN_MAP :
+ return validateExecutableNodes(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_BODY_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateBodyOutputPins(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_SETUP_TEST_AND_BODY__DIAGNOSTICCHAIN_MAP :
+ return validateSetupTestAndBody(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_MATCHING_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateMatchingOutputPins(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_MATCHING_LOOP_VARIABLES__DIAGNOSTICCHAIN_MAP :
+ return validateMatchingLoopVariables(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_MATCHING_RESULT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateMatchingResultPins(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.LOOP_NODE___VALIDATE_LOOP_VARIABLE_OUTGOING__DIAGNOSTICCHAIN_MAP :
+ return validateLoopVariableOutgoing(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.LOOP_NODE__LOOP_VARIABLE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getStructuredNodeInputs() {
+ return getLoopVariableInputs();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetStructuredNodeInputs() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getStructuredNodeOutputs() {
+ return getResults();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetStructuredNodeOutputs() {
+ return false;
+ }
+
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.LOOP_NODE__LOOP_VARIABLE_INPUT};
+
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this, UMLPackage.LOOP_NODE__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.LOOP_NODE__INPUT, INPUT_ESUBSETS);
+ }
+
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.LOOP_NODE__RESULT};
+
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this, UMLPackage.LOOP_NODE__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.LOOP_NODE__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+} //LoopNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ManifestationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ManifestationImpl.java
new file mode 100644
index 00000000..3cf23264
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ManifestationImpl.java
@@ -0,0 +1,376 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Manifestation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ManifestationImpl#getSuppliers <em>Supplier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ManifestationImpl#getUtilizedElement <em>Utilized Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ManifestationImpl
+ extends AbstractionImpl
+ implements Manifestation {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ManifestationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.MANIFESTATION;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.DEPENDENCY__SUPPLIER) {
+ return createSuppliersList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getSuppliers() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.MANIFESTATION__SUPPLIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPENDENCY__SUPPLIER, true, true);
+ }
+
+ private EList<NamedElement> createSuppliersList() {
+ return new SubsetSupersetEObjectResolvingEList<NamedElement>(
+ NamedElement.class, this, UMLPackage.MANIFESTATION__SUPPLIER, null,
+ SUPPLIER_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSuppliers() <em>Supplier</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuppliers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SUPPLIER_ESUBSETS = new int[]{
+ UMLPackage.MANIFESTATION__UTILIZED_ELEMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getUtilizedElement() {
+ return (PackageableElement) eDynamicGet(
+ UMLPackage.MANIFESTATION__UTILIZED_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MANIFESTATION__UTILIZED_ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement basicGetUtilizedElement() {
+ return (PackageableElement) eDynamicGet(
+ UMLPackage.MANIFESTATION__UTILIZED_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MANIFESTATION__UTILIZED_ELEMENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUtilizedElement(PackageableElement newUtilizedElement) {
+ eDynamicSet(
+ UMLPackage.MANIFESTATION__UTILIZED_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MANIFESTATION__UTILIZED_ELEMENT,
+ newUtilizedElement);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newUtilizedElement != null) {
+ EList<NamedElement> suppliers = getSuppliers();
+ if (!suppliers.contains(newUtilizedElement)) {
+ suppliers.add(newUtilizedElement);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.MANIFESTATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.MANIFESTATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.MANIFESTATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.MANIFESTATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.MANIFESTATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.MANIFESTATION__NAME :
+ return getName();
+ case UMLPackage.MANIFESTATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.MANIFESTATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.MANIFESTATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.MANIFESTATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.MANIFESTATION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.MANIFESTATION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.MANIFESTATION__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.MANIFESTATION__SOURCE :
+ return getSources();
+ case UMLPackage.MANIFESTATION__TARGET :
+ return getTargets();
+ case UMLPackage.MANIFESTATION__CLIENT :
+ return getClients();
+ case UMLPackage.MANIFESTATION__SUPPLIER :
+ return getSuppliers();
+ case UMLPackage.MANIFESTATION__MAPPING :
+ if (resolve)
+ return getMapping();
+ return basicGetMapping();
+ case UMLPackage.MANIFESTATION__UTILIZED_ELEMENT :
+ if (resolve)
+ return getUtilizedElement();
+ return basicGetUtilizedElement();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.MANIFESTATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.MANIFESTATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.MANIFESTATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.MANIFESTATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.MANIFESTATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.MANIFESTATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.MANIFESTATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.MANIFESTATION__CLIENT :
+ getClients().clear();
+ getClients()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.MANIFESTATION__SUPPLIER :
+ getSuppliers().clear();
+ getSuppliers()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.MANIFESTATION__MAPPING :
+ setMapping((OpaqueExpression) newValue);
+ return;
+ case UMLPackage.MANIFESTATION__UTILIZED_ELEMENT :
+ setUtilizedElement((PackageableElement) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.MANIFESTATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.MANIFESTATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.MANIFESTATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.MANIFESTATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.MANIFESTATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.MANIFESTATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.MANIFESTATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.MANIFESTATION__CLIENT :
+ getClients().clear();
+ return;
+ case UMLPackage.MANIFESTATION__SUPPLIER :
+ getSuppliers().clear();
+ return;
+ case UMLPackage.MANIFESTATION__MAPPING :
+ setMapping((OpaqueExpression) null);
+ return;
+ case UMLPackage.MANIFESTATION__UTILIZED_ELEMENT :
+ setUtilizedElement((PackageableElement) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.MANIFESTATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.MANIFESTATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.MANIFESTATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.MANIFESTATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.MANIFESTATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.MANIFESTATION__NAME :
+ return isSetName();
+ case UMLPackage.MANIFESTATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.MANIFESTATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.MANIFESTATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.MANIFESTATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.MANIFESTATION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.MANIFESTATION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.MANIFESTATION__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.MANIFESTATION__SOURCE :
+ return isSetSources();
+ case UMLPackage.MANIFESTATION__TARGET :
+ return isSetTargets();
+ case UMLPackage.MANIFESTATION__CLIENT :
+ return !getClients().isEmpty();
+ case UMLPackage.MANIFESTATION__SUPPLIER :
+ return !getSuppliers().isEmpty();
+ case UMLPackage.MANIFESTATION__MAPPING :
+ return basicGetMapping() != null;
+ case UMLPackage.MANIFESTATION__UTILIZED_ELEMENT :
+ return basicGetUtilizedElement() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //ManifestationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MergeNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MergeNodeImpl.java
new file mode 100644
index 00000000..14f230bc
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MergeNodeImpl.java
@@ -0,0 +1,243 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.MergeNodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Merge Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class MergeNodeImpl
+ extends ControlNodeImpl
+ implements MergeNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MergeNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.MERGE_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneOutgoingEdge(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MergeNodeOperations.validateOneOutgoingEdge(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MergeNodeOperations.validateEdges(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.MERGE_NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.MERGE_NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MERGE_NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MERGE_NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.MERGE_NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.MERGE_NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.MERGE_NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.MERGE_NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.MERGE_NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.MERGE_NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.MERGE_NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.MERGE_NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.MERGE_NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MERGE_NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.MERGE_NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.MERGE_NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.MERGE_NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.MERGE_NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.MERGE_NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.MERGE_NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.MERGE_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.MERGE_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.MERGE_NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.MERGE_NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.MERGE_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.MERGE_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.MERGE_NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MERGE_NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.MERGE_NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MERGE_NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.MERGE_NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.MERGE_NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.MERGE_NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.MERGE_NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.MERGE_NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.MERGE_NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.MERGE_NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.MERGE_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MERGE_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MERGE_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MERGE_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.MERGE_NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.MERGE_NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.MERGE_NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.MERGE_NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.MERGE_NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.MERGE_NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.MERGE_NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.MERGE_NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.MERGE_NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.MERGE_NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.MERGE_NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MERGE_NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MERGE_NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MERGE_NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.MERGE_NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.MERGE_NODE___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.MERGE_NODE___VALIDATE_ONE_OUTGOING_EDGE__DIAGNOSTICCHAIN_MAP :
+ return validateOneOutgoingEdge(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MERGE_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //MergeNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageEndImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageEndImpl.java
new file mode 100644
index 00000000..ccc2e742
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageEndImpl.java
@@ -0,0 +1,447 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.InteractionFragment;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageEnd;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.MessageEndOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Message End</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MessageEndImpl#getMessage <em>Message</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class MessageEndImpl
+ extends NamedElementImpl
+ implements MessageEnd {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MessageEndImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.MESSAGE_END;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Message getMessage() {
+ return (Message) eDynamicGet(
+ UMLPackage.MESSAGE_END__MESSAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE_END__MESSAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Message basicGetMessage() {
+ return (Message) eDynamicGet(
+ UMLPackage.MESSAGE_END__MESSAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE_END__MESSAGE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMessage(Message newMessage) {
+ eDynamicSet(UMLPackage.MESSAGE_END__MESSAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE_END__MESSAGE, newMessage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MessageEnd> oppositeEnd() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<MessageEnd> result = (EList<MessageEnd>) cache.get(this,
+ UMLPackage.Literals.MESSAGE_END___OPPOSITE_END);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.MESSAGE_END___OPPOSITE_END,
+ result = MessageEndOperations.oppositeEnd(this));
+ }
+ return result;
+ }
+ return MessageEndOperations.oppositeEnd(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSend() {
+ return MessageEndOperations.isSend(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isReceive() {
+ return MessageEndOperations.isReceive(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<InteractionFragment> enclosingFragment() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<InteractionFragment> result = (EList<InteractionFragment>) cache
+ .get(this,
+ UMLPackage.Literals.MESSAGE_END___ENCLOSING_FRAGMENT);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.MESSAGE_END___ENCLOSING_FRAGMENT,
+ result = MessageEndOperations.enclosingFragment(this));
+ }
+ return result;
+ }
+ return MessageEndOperations.enclosingFragment(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE_END__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.MESSAGE_END__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.MESSAGE_END__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.MESSAGE_END__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.MESSAGE_END__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.MESSAGE_END__NAME :
+ return getName();
+ case UMLPackage.MESSAGE_END__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.MESSAGE_END__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.MESSAGE_END__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.MESSAGE_END__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.MESSAGE_END__MESSAGE :
+ if (resolve)
+ return getMessage();
+ return basicGetMessage();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE_END__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.MESSAGE_END__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.MESSAGE_END__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.MESSAGE_END__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.MESSAGE_END__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.MESSAGE_END__MESSAGE :
+ setMessage((Message) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE_END__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.MESSAGE_END__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.MESSAGE_END__NAME :
+ unsetName();
+ return;
+ case UMLPackage.MESSAGE_END__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.MESSAGE_END__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.MESSAGE_END__MESSAGE :
+ setMessage((Message) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE_END__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.MESSAGE_END__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.MESSAGE_END__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.MESSAGE_END__OWNER :
+ return isSetOwner();
+ case UMLPackage.MESSAGE_END__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.MESSAGE_END__NAME :
+ return isSetName();
+ case UMLPackage.MESSAGE_END__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.MESSAGE_END__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.MESSAGE_END__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.MESSAGE_END__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.MESSAGE_END__MESSAGE :
+ return basicGetMessage() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.MESSAGE_END___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.MESSAGE_END___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE_END___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE_END___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.MESSAGE_END___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_END___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.MESSAGE_END___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.MESSAGE_END___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.MESSAGE_END___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.MESSAGE_END___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.MESSAGE_END___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.MESSAGE_END___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.MESSAGE_END___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MESSAGE_END___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_END___GET_MODEL :
+ return getModel();
+ case UMLPackage.MESSAGE_END___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.MESSAGE_END___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.MESSAGE_END___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.MESSAGE_END___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.MESSAGE_END___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.MESSAGE_END___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.MESSAGE_END___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.MESSAGE_END___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_END___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.MESSAGE_END___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.MESSAGE_END___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.MESSAGE_END___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MESSAGE_END___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.MESSAGE_END___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MESSAGE_END___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_END___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_END___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_END___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.MESSAGE_END___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.MESSAGE_END___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_END___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.MESSAGE_END___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.MESSAGE_END___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE_END___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE_END___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE_END___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.MESSAGE_END___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.MESSAGE_END___GET_LABEL :
+ return getLabel();
+ case UMLPackage.MESSAGE_END___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.MESSAGE_END___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.MESSAGE_END___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.MESSAGE_END___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.MESSAGE_END___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.MESSAGE_END___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.MESSAGE_END___SEPARATOR :
+ return separator();
+ case UMLPackage.MESSAGE_END___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.MESSAGE_END___OPPOSITE_END :
+ return oppositeEnd();
+ case UMLPackage.MESSAGE_END___IS_SEND :
+ return isSend();
+ case UMLPackage.MESSAGE_END___IS_RECEIVE :
+ return isReceive();
+ case UMLPackage.MESSAGE_END___ENCLOSING_FRAGMENT :
+ return enclosingFragment();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //MessageEndImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageEventImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageEventImpl.java
new file mode 100644
index 00000000..8bfcc82c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageEventImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.MessageEvent;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Message Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class MessageEventImpl
+ extends EventImpl
+ implements MessageEvent {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MessageEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.MESSAGE_EVENT;
+ }
+
+} //MessageEventImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageImpl.java
new file mode 100644
index 00000000..225d1a2c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageImpl.java
@@ -0,0 +1,1014 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageEnd;
+import org.eclipse.uml2.uml.MessageKind;
+import org.eclipse.uml2.uml.MessageSort;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.MessageOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Message</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MessageImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MessageImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MessageImpl#getArguments <em>Argument</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MessageImpl#getConnector <em>Connector</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MessageImpl#getInteraction <em>Interaction</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MessageImpl#getMessageKind <em>Message Kind</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MessageImpl#getMessageSort <em>Message Sort</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MessageImpl#getReceiveEvent <em>Receive Event</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MessageImpl#getSendEvent <em>Send Event</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MessageImpl#getSignature <em>Signature</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MessageImpl
+ extends NamedElementImpl
+ implements Message {
+
+ /**
+ * The default value of the '{@link #getMessageKind() <em>Message Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageKind()
+ * @generated
+ * @ordered
+ */
+ protected static final MessageKind MESSAGE_KIND_EDEFAULT = MessageKind.UNKNOWN_LITERAL;
+
+ /**
+ * The default value of the '{@link #getMessageSort() <em>Message Sort</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageSort()
+ * @generated
+ * @ordered
+ */
+ protected static final MessageSort MESSAGE_SORT_EDEFAULT = MessageSort.SYNCH_CALL_LITERAL;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MessageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.MESSAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.MESSAGE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.MESSAGE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageKind getMessageKind() {
+ return MessageOperations.getMessageKind(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageSort getMessageSort() {
+ return (MessageSort) eDynamicGet(
+ UMLPackage.MESSAGE__MESSAGE_SORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__MESSAGE_SORT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMessageSort(MessageSort newMessageSort) {
+ eDynamicSet(UMLPackage.MESSAGE__MESSAGE_SORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__MESSAGE_SORT, newMessageSort);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageEnd getReceiveEvent() {
+ return (MessageEnd) eDynamicGet(
+ UMLPackage.MESSAGE__RECEIVE_EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__RECEIVE_EVENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageEnd basicGetReceiveEvent() {
+ return (MessageEnd) eDynamicGet(
+ UMLPackage.MESSAGE__RECEIVE_EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__RECEIVE_EVENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReceiveEvent(MessageEnd newReceiveEvent) {
+ eDynamicSet(UMLPackage.MESSAGE__RECEIVE_EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__RECEIVE_EVENT, newReceiveEvent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageEnd getSendEvent() {
+ return (MessageEnd) eDynamicGet(
+ UMLPackage.MESSAGE__SEND_EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__SEND_EVENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageEnd basicGetSendEvent() {
+ return (MessageEnd) eDynamicGet(
+ UMLPackage.MESSAGE__SEND_EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__SEND_EVENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSendEvent(MessageEnd newSendEvent) {
+ eDynamicSet(UMLPackage.MESSAGE__SEND_EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__SEND_EVENT, newSendEvent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Connector getConnector() {
+ return (Connector) eDynamicGet(
+ UMLPackage.MESSAGE__CONNECTOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__CONNECTOR, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Connector basicGetConnector() {
+ return (Connector) eDynamicGet(
+ UMLPackage.MESSAGE__CONNECTOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__CONNECTOR, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConnector(Connector newConnector) {
+ eDynamicSet(UMLPackage.MESSAGE__CONNECTOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__CONNECTOR, newConnector);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interaction getInteraction() {
+ return (Interaction) eDynamicGet(
+ UMLPackage.MESSAGE__INTERACTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__INTERACTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interaction basicGetInteraction() {
+ return (Interaction) eDynamicGet(
+ UMLPackage.MESSAGE__INTERACTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__INTERACTION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInteraction(Interaction newInteraction,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newInteraction,
+ UMLPackage.MESSAGE__INTERACTION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInteraction(Interaction newInteraction) {
+ eDynamicSet(UMLPackage.MESSAGE__INTERACTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__INTERACTION, newInteraction);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ValueSpecification> getArguments() {
+ return (EList<ValueSpecification>) eDynamicGet(
+ UMLPackage.MESSAGE__ARGUMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__ARGUMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createArgument(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newArgument = (ValueSpecification) create(eClass);
+ getArguments().add(newArgument);
+ if (name != null)
+ newArgument.setName(name);
+ if (type != null)
+ newArgument.setType(type);
+ return newArgument;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getArgument(String name, Type type) {
+ return getArgument(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getArgument(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ argumentLoop : for (ValueSpecification argument : getArguments()) {
+ if (eClass != null && !eClass.isInstance(argument))
+ continue argumentLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(argument.getName())
+ : name.equals(argument.getName())))
+ continue argumentLoop;
+ if (type != null && !type.equals(argument.getType()))
+ continue argumentLoop;
+ return argument;
+ }
+ return createOnDemand && eClass != null
+ ? createArgument(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getSignature() {
+ return (NamedElement) eDynamicGet(
+ UMLPackage.MESSAGE__SIGNATURE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__SIGNATURE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetSignature() {
+ return (NamedElement) eDynamicGet(
+ UMLPackage.MESSAGE__SIGNATURE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__SIGNATURE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSignature(NamedElement newSignature) {
+ eDynamicSet(UMLPackage.MESSAGE__SIGNATURE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE__SIGNATURE, newSignature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSendingReceivingMessageEvent(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return MessageOperations.validateSendingReceivingMessageEvent(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSignatureReferTo(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MessageOperations.validateSignatureReferTo(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSignatureIsOperationRequest(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return MessageOperations.validateSignatureIsOperationRequest(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSignatureIsOperationReply(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return MessageOperations.validateSignatureIsOperationReply(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDistinguishableFrom(NamedElement n, Namespace ns) {
+ return MessageOperations.isDistinguishableFrom(this, n, ns);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSignatureIsSignal(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MessageOperations.validateSignatureIsSignal(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateArguments(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MessageOperations.validateArguments(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCannotCrossBoundaries(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MessageOperations.validateCannotCrossBoundaries(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOccurrenceSpecifications(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MessageOperations.validateOccurrenceSpecifications(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.MESSAGE__INTERACTION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetInteraction((Interaction) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.MESSAGE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.MESSAGE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.MESSAGE__ARGUMENT :
+ return ((InternalEList<?>) getArguments()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.MESSAGE__INTERACTION :
+ return basicSetInteraction(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.MESSAGE__INTERACTION :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.INTERACTION__MESSAGE, Interaction.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.MESSAGE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.MESSAGE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.MESSAGE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.MESSAGE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.MESSAGE__NAME :
+ return getName();
+ case UMLPackage.MESSAGE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.MESSAGE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.MESSAGE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.MESSAGE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.MESSAGE__ARGUMENT :
+ return getArguments();
+ case UMLPackage.MESSAGE__CONNECTOR :
+ if (resolve)
+ return getConnector();
+ return basicGetConnector();
+ case UMLPackage.MESSAGE__INTERACTION :
+ if (resolve)
+ return getInteraction();
+ return basicGetInteraction();
+ case UMLPackage.MESSAGE__MESSAGE_KIND :
+ return getMessageKind();
+ case UMLPackage.MESSAGE__MESSAGE_SORT :
+ return getMessageSort();
+ case UMLPackage.MESSAGE__RECEIVE_EVENT :
+ if (resolve)
+ return getReceiveEvent();
+ return basicGetReceiveEvent();
+ case UMLPackage.MESSAGE__SEND_EVENT :
+ if (resolve)
+ return getSendEvent();
+ return basicGetSendEvent();
+ case UMLPackage.MESSAGE__SIGNATURE :
+ if (resolve)
+ return getSignature();
+ return basicGetSignature();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.MESSAGE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.MESSAGE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.MESSAGE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.MESSAGE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.MESSAGE__ARGUMENT :
+ getArguments().clear();
+ getArguments().addAll(
+ (Collection<? extends ValueSpecification>) newValue);
+ return;
+ case UMLPackage.MESSAGE__CONNECTOR :
+ setConnector((Connector) newValue);
+ return;
+ case UMLPackage.MESSAGE__INTERACTION :
+ setInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.MESSAGE__MESSAGE_SORT :
+ setMessageSort((MessageSort) newValue);
+ return;
+ case UMLPackage.MESSAGE__RECEIVE_EVENT :
+ setReceiveEvent((MessageEnd) newValue);
+ return;
+ case UMLPackage.MESSAGE__SEND_EVENT :
+ setSendEvent((MessageEnd) newValue);
+ return;
+ case UMLPackage.MESSAGE__SIGNATURE :
+ setSignature((NamedElement) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.MESSAGE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.MESSAGE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.MESSAGE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.MESSAGE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.MESSAGE__ARGUMENT :
+ getArguments().clear();
+ return;
+ case UMLPackage.MESSAGE__CONNECTOR :
+ setConnector((Connector) null);
+ return;
+ case UMLPackage.MESSAGE__INTERACTION :
+ setInteraction((Interaction) null);
+ return;
+ case UMLPackage.MESSAGE__MESSAGE_SORT :
+ setMessageSort(MESSAGE_SORT_EDEFAULT);
+ return;
+ case UMLPackage.MESSAGE__RECEIVE_EVENT :
+ setReceiveEvent((MessageEnd) null);
+ return;
+ case UMLPackage.MESSAGE__SEND_EVENT :
+ setSendEvent((MessageEnd) null);
+ return;
+ case UMLPackage.MESSAGE__SIGNATURE :
+ setSignature((NamedElement) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.MESSAGE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.MESSAGE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.MESSAGE__OWNER :
+ return isSetOwner();
+ case UMLPackage.MESSAGE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.MESSAGE__NAME :
+ return isSetName();
+ case UMLPackage.MESSAGE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.MESSAGE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.MESSAGE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.MESSAGE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.MESSAGE__ARGUMENT :
+ return !getArguments().isEmpty();
+ case UMLPackage.MESSAGE__CONNECTOR :
+ return basicGetConnector() != null;
+ case UMLPackage.MESSAGE__INTERACTION :
+ return basicGetInteraction() != null;
+ case UMLPackage.MESSAGE__MESSAGE_KIND :
+ return getMessageKind() != MESSAGE_KIND_EDEFAULT;
+ case UMLPackage.MESSAGE__MESSAGE_SORT :
+ return getMessageSort() != MESSAGE_SORT_EDEFAULT;
+ case UMLPackage.MESSAGE__RECEIVE_EVENT :
+ return basicGetReceiveEvent() != null;
+ case UMLPackage.MESSAGE__SEND_EVENT :
+ return basicGetSendEvent() != null;
+ case UMLPackage.MESSAGE__SIGNATURE :
+ return basicGetSignature() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.MESSAGE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.MESSAGE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.MESSAGE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.MESSAGE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.MESSAGE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.MESSAGE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.MESSAGE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.MESSAGE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.MESSAGE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.MESSAGE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MESSAGE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE___GET_MODEL :
+ return getModel();
+ case UMLPackage.MESSAGE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.MESSAGE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.MESSAGE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.MESSAGE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.MESSAGE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.MESSAGE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.MESSAGE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.MESSAGE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.MESSAGE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.MESSAGE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.MESSAGE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MESSAGE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.MESSAGE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MESSAGE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.MESSAGE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.MESSAGE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.MESSAGE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.MESSAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.MESSAGE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.MESSAGE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.MESSAGE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.MESSAGE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.MESSAGE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.MESSAGE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.MESSAGE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.MESSAGE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.MESSAGE___SEPARATOR :
+ return separator();
+ case UMLPackage.MESSAGE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.MESSAGE___VALIDATE_SENDING_RECEIVING_MESSAGE_EVENT__DIAGNOSTICCHAIN_MAP :
+ return validateSendingReceivingMessageEvent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE___VALIDATE_ARGUMENTS__DIAGNOSTICCHAIN_MAP :
+ return validateArguments((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE___VALIDATE_CANNOT_CROSS_BOUNDARIES__DIAGNOSTICCHAIN_MAP :
+ return validateCannotCrossBoundaries(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE___VALIDATE_SIGNATURE_IS_SIGNAL__DIAGNOSTICCHAIN_MAP :
+ return validateSignatureIsSignal(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE___VALIDATE_OCCURRENCE_SPECIFICATIONS__DIAGNOSTICCHAIN_MAP :
+ return validateOccurrenceSpecifications(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE___VALIDATE_SIGNATURE_REFER_TO__DIAGNOSTICCHAIN_MAP :
+ return validateSignatureReferTo(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE___VALIDATE_SIGNATURE_IS_OPERATION_REQUEST__DIAGNOSTICCHAIN_MAP :
+ return validateSignatureIsOperationRequest(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE___VALIDATE_SIGNATURE_IS_OPERATION_REPLY__DIAGNOSTICCHAIN_MAP :
+ return validateSignatureIsOperationReply(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE___GET_MESSAGE_KIND :
+ return getMessageKind();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ Interaction interaction = basicGetInteraction();
+ if (interaction != null) {
+ return interaction;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace()
+ || eIsSet(UMLPackage.MESSAGE__INTERACTION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.MESSAGE__OWNED_COMMENT, UMLPackage.MESSAGE__NAME_EXPRESSION,
+ UMLPackage.MESSAGE__ARGUMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.MESSAGE__ARGUMENT);
+ }
+
+} //MessageImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageOccurrenceSpecificationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageOccurrenceSpecificationImpl.java
new file mode 100644
index 00000000..3c0274ce
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MessageOccurrenceSpecificationImpl.java
@@ -0,0 +1,594 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionFragment;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageEnd;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.MessageEndOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Message Occurrence Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MessageOccurrenceSpecificationImpl#getMessage <em>Message</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MessageOccurrenceSpecificationImpl
+ extends OccurrenceSpecificationImpl
+ implements MessageOccurrenceSpecification {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MessageOccurrenceSpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.MESSAGE_OCCURRENCE_SPECIFICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Message getMessage() {
+ return (Message) eDynamicGet(
+ UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__MESSAGE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE_END__MESSAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Message basicGetMessage() {
+ return (Message) eDynamicGet(
+ UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__MESSAGE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE_END__MESSAGE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMessage(Message newMessage) {
+ eDynamicSet(
+ UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__MESSAGE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MESSAGE_END__MESSAGE, newMessage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MessageEnd> oppositeEnd() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<MessageEnd> result = (EList<MessageEnd>) cache.get(this,
+ UMLPackage.Literals.MESSAGE_END___OPPOSITE_END);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.MESSAGE_END___OPPOSITE_END,
+ result = MessageEndOperations.oppositeEnd(this));
+ }
+ return result;
+ }
+ return MessageEndOperations.oppositeEnd(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSend() {
+ return MessageEndOperations.isSend(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isReceive() {
+ return MessageEndOperations.isReceive(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<InteractionFragment> enclosingFragment() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<InteractionFragment> result = (EList<InteractionFragment>) cache
+ .get(this,
+ UMLPackage.Literals.MESSAGE_END___ENCLOSING_FRAGMENT);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.MESSAGE_END___ENCLOSING_FRAGMENT,
+ result = MessageEndOperations.enclosingFragment(this));
+ }
+ return result;
+ }
+ return MessageEndOperations.enclosingFragment(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__NAME :
+ return getName();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__COVERED :
+ return getCovereds();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__TO_AFTER :
+ return getToAfters();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ return getToBefores();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__MESSAGE :
+ if (resolve)
+ return getMessage();
+ return basicGetMessage();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__TO_AFTER :
+ getToAfters().clear();
+ getToAfters()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ getToBefores().clear();
+ getToBefores()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__MESSAGE :
+ setMessage((Message) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__TO_AFTER :
+ getToAfters().clear();
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ getToBefores().clear();
+ return;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__MESSAGE :
+ setMessage((Message) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__NAME :
+ return isSetName();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__COVERED :
+ return isSetCovereds();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__TO_AFTER :
+ return !getToAfters().isEmpty();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ return !getToBefores().isEmpty();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__MESSAGE :
+ return basicGetMessage() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == MessageEnd.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__MESSAGE :
+ return UMLPackage.MESSAGE_END__MESSAGE;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == MessageEnd.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.MESSAGE_END__MESSAGE :
+ return UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION__MESSAGE;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MessageEnd.class) {
+ switch (baseOperationID) {
+ case UMLPackage.MESSAGE_END___OPPOSITE_END :
+ return UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___OPPOSITE_END;
+ case UMLPackage.MESSAGE_END___IS_SEND :
+ return UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___IS_SEND;
+ case UMLPackage.MESSAGE_END___IS_RECEIVE :
+ return UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___IS_RECEIVE;
+ case UMLPackage.MESSAGE_END___ENCLOSING_FRAGMENT :
+ return UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___ENCLOSING_FRAGMENT;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___SEPARATOR :
+ return separator();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___GET_COVERED :
+ return getCovered();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___SET_COVERED__LIFELINE :
+ setCovered((Lifeline) arguments.get(0));
+ return null;
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___OPPOSITE_END :
+ return oppositeEnd();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___IS_SEND :
+ return isSend();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___IS_RECEIVE :
+ return isReceive();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION___ENCLOSING_FRAGMENT :
+ return enclosingFragment();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //MessageOccurrenceSpecificationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ModelImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ModelImpl.java
new file mode 100644
index 00000000..68bc324a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ModelImpl.java
@@ -0,0 +1,710 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ModelOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ModelImpl#getViewpoint <em>Viewpoint</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ModelImpl
+ extends PackageImpl
+ implements Model {
+
+ /**
+ * The default value of the '{@link #getViewpoint() <em>Viewpoint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getViewpoint()
+ * @generated
+ * @ordered
+ */
+ protected static final String VIEWPOINT_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.MODEL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getViewpoint() {
+ return (String) eDynamicGet(
+ UMLPackage.MODEL__VIEWPOINT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MODEL__VIEWPOINT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setViewpoint(String newViewpoint) {
+ eDynamicSet(UMLPackage.MODEL__VIEWPOINT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MODEL__VIEWPOINT, newViewpoint);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetViewpoint() {
+ eDynamicUnset(UMLPackage.MODEL__VIEWPOINT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MODEL__VIEWPOINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetViewpoint() {
+ return eDynamicIsSet(
+ UMLPackage.MODEL__VIEWPOINT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MODEL__VIEWPOINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMetamodel() {
+ return ModelOperations.isMetamodel(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.MODEL__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.MODEL__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.MODEL__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.MODEL__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.MODEL__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.MODEL__NAME :
+ return getName();
+ case UMLPackage.MODEL__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.MODEL__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.MODEL__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.MODEL__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.MODEL__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.MODEL__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.MODEL__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.MODEL__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.MODEL__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.MODEL__MEMBER :
+ return getMembers();
+ case UMLPackage.MODEL__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.MODEL__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.MODEL__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.MODEL__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.MODEL__URI :
+ return getURI();
+ case UMLPackage.MODEL__NESTED_PACKAGE :
+ return getNestedPackages();
+ case UMLPackage.MODEL__NESTING_PACKAGE :
+ if (resolve)
+ return getNestingPackage();
+ return basicGetNestingPackage();
+ case UMLPackage.MODEL__OWNED_STEREOTYPE :
+ return getOwnedStereotypes();
+ case UMLPackage.MODEL__OWNED_TYPE :
+ return getOwnedTypes();
+ case UMLPackage.MODEL__PACKAGE_MERGE :
+ return getPackageMerges();
+ case UMLPackage.MODEL__PACKAGED_ELEMENT :
+ return getPackagedElements();
+ case UMLPackage.MODEL__PROFILE_APPLICATION :
+ return getProfileApplications();
+ case UMLPackage.MODEL__VIEWPOINT :
+ return getViewpoint();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.MODEL__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.MODEL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.MODEL__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.MODEL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.MODEL__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.MODEL__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.MODEL__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.MODEL__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.MODEL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.MODEL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.MODEL__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.MODEL__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.MODEL__URI :
+ setURI((String) newValue);
+ return;
+ case UMLPackage.MODEL__NESTED_PACKAGE :
+ getNestedPackages().clear();
+ getNestedPackages().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Package>) newValue);
+ return;
+ case UMLPackage.MODEL__NESTING_PACKAGE :
+ setNestingPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.MODEL__OWNED_TYPE :
+ getOwnedTypes().clear();
+ getOwnedTypes().addAll((Collection<? extends Type>) newValue);
+ return;
+ case UMLPackage.MODEL__PACKAGE_MERGE :
+ getPackageMerges().clear();
+ getPackageMerges()
+ .addAll((Collection<? extends PackageMerge>) newValue);
+ return;
+ case UMLPackage.MODEL__PACKAGED_ELEMENT :
+ getPackagedElements().clear();
+ getPackagedElements().addAll(
+ (Collection<? extends PackageableElement>) newValue);
+ return;
+ case UMLPackage.MODEL__PROFILE_APPLICATION :
+ getProfileApplications().clear();
+ getProfileApplications().addAll(
+ (Collection<? extends ProfileApplication>) newValue);
+ return;
+ case UMLPackage.MODEL__VIEWPOINT :
+ setViewpoint((String) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.MODEL__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.MODEL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.MODEL__NAME :
+ unsetName();
+ return;
+ case UMLPackage.MODEL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.MODEL__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.MODEL__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.MODEL__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.MODEL__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.MODEL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.MODEL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.MODEL__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.MODEL__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.MODEL__URI :
+ setURI(URI_EDEFAULT);
+ return;
+ case UMLPackage.MODEL__NESTED_PACKAGE :
+ getNestedPackages().clear();
+ return;
+ case UMLPackage.MODEL__NESTING_PACKAGE :
+ setNestingPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.MODEL__OWNED_TYPE :
+ getOwnedTypes().clear();
+ return;
+ case UMLPackage.MODEL__PACKAGE_MERGE :
+ getPackageMerges().clear();
+ return;
+ case UMLPackage.MODEL__PACKAGED_ELEMENT :
+ getPackagedElements().clear();
+ return;
+ case UMLPackage.MODEL__PROFILE_APPLICATION :
+ getProfileApplications().clear();
+ return;
+ case UMLPackage.MODEL__VIEWPOINT :
+ unsetViewpoint();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.MODEL__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.MODEL__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.MODEL__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.MODEL__OWNER :
+ return isSetOwner();
+ case UMLPackage.MODEL__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.MODEL__NAME :
+ return isSetName();
+ case UMLPackage.MODEL__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.MODEL__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.MODEL__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.MODEL__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.MODEL__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.MODEL__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.MODEL__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.MODEL__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.MODEL__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.MODEL__MEMBER :
+ return isSetMembers();
+ case UMLPackage.MODEL__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.MODEL__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.MODEL__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.MODEL__OWNED_TEMPLATE_SIGNATURE :
+ return basicGetOwnedTemplateSignature() != null;
+ case UMLPackage.MODEL__URI :
+ return URI_EDEFAULT == null
+ ? getURI() != null
+ : !URI_EDEFAULT.equals(getURI());
+ case UMLPackage.MODEL__NESTED_PACKAGE :
+ return !getNestedPackages().isEmpty();
+ case UMLPackage.MODEL__NESTING_PACKAGE :
+ return basicGetNestingPackage() != null;
+ case UMLPackage.MODEL__OWNED_STEREOTYPE :
+ return !getOwnedStereotypes().isEmpty();
+ case UMLPackage.MODEL__OWNED_TYPE :
+ return !getOwnedTypes().isEmpty();
+ case UMLPackage.MODEL__PACKAGE_MERGE :
+ return !getPackageMerges().isEmpty();
+ case UMLPackage.MODEL__PACKAGED_ELEMENT :
+ return !getPackagedElements().isEmpty();
+ case UMLPackage.MODEL__PROFILE_APPLICATION :
+ return !getProfileApplications().isEmpty();
+ case UMLPackage.MODEL__VIEWPOINT :
+ return isSetViewpoint();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.MODEL___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.MODEL___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MODEL___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MODEL___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.MODEL___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.MODEL___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.MODEL___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.MODEL___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.MODEL___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.MODEL___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.MODEL___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.MODEL___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.MODEL___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MODEL___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.MODEL___GET_MODEL :
+ return getModel();
+ case UMLPackage.MODEL___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.MODEL___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.MODEL___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.MODEL___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.MODEL___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.MODEL___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.MODEL___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.MODEL___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.MODEL___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.MODEL___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.MODEL___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.MODEL___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MODEL___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.MODEL___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MODEL___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.MODEL___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.MODEL___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.MODEL___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.MODEL___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.MODEL___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.MODEL___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.MODEL___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.MODEL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MODEL___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MODEL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MODEL___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.MODEL___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.MODEL___GET_LABEL :
+ return getLabel();
+ case UMLPackage.MODEL___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.MODEL___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.MODEL___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.MODEL___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.MODEL___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.MODEL___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.MODEL___SEPARATOR :
+ return separator();
+ case UMLPackage.MODEL___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.MODEL___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MODEL___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MODEL___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MODEL___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.MODEL___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.MODEL___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.MODEL___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.MODEL___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.MODEL___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.MODEL___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.MODEL___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.MODEL___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.MODEL___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.MODEL___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.MODEL___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.MODEL___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MODEL___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.MODEL___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.MODEL___VALIDATE_ELEMENTS_PUBLIC_OR_PRIVATE__DIAGNOSTICCHAIN_MAP :
+ return validateElementsPublicOrPrivate(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MODEL___APPLY_PROFILE__PROFILE :
+ return applyProfile((Profile) arguments.get(0));
+ case UMLPackage.MODEL___CREATE_OWNED_CLASS__STRING_BOOLEAN :
+ return createOwnedClass((String) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.MODEL___CREATE_OWNED_ENUMERATION__STRING :
+ return createOwnedEnumeration((String) arguments.get(0));
+ case UMLPackage.MODEL___CREATE_OWNED_INTERFACE__STRING :
+ return createOwnedInterface((String) arguments.get(0));
+ case UMLPackage.MODEL___CREATE_OWNED_PRIMITIVE_TYPE__STRING :
+ return createOwnedPrimitiveType((String) arguments.get(0));
+ case UMLPackage.MODEL___CREATE_OWNED_STEREOTYPE__STRING_BOOLEAN :
+ return createOwnedStereotype((String) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.MODEL___GET_ALL_APPLIED_PROFILES :
+ return getAllAppliedProfiles();
+ case UMLPackage.MODEL___GET_ALL_PROFILE_APPLICATIONS :
+ return getAllProfileApplications();
+ case UMLPackage.MODEL___GET_APPLIED_PROFILE__STRING :
+ return getAppliedProfile((String) arguments.get(0));
+ case UMLPackage.MODEL___GET_APPLIED_PROFILE__STRING_BOOLEAN :
+ return getAppliedProfile((String) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.MODEL___GET_APPLIED_PROFILES :
+ return getAppliedProfiles();
+ case UMLPackage.MODEL___GET_PROFILE_APPLICATION__PROFILE :
+ return getProfileApplication((Profile) arguments.get(0));
+ case UMLPackage.MODEL___GET_PROFILE_APPLICATION__PROFILE_BOOLEAN :
+ return getProfileApplication((Profile) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.MODEL___IS_MODEL_LIBRARY :
+ return isModelLibrary();
+ case UMLPackage.MODEL___IS_PROFILE_APPLIED__PROFILE :
+ return isProfileApplied((Profile) arguments.get(0));
+ case UMLPackage.MODEL___UNAPPLY_PROFILE__PROFILE :
+ return unapplyProfile((Profile) arguments.get(0));
+ case UMLPackage.MODEL___APPLY_PROFILES__ELIST :
+ return applyProfiles((EList<Profile>) arguments.get(0));
+ case UMLPackage.MODEL___ALL_APPLICABLE_STEREOTYPES :
+ return allApplicableStereotypes();
+ case UMLPackage.MODEL___CONTAINING_PROFILE :
+ return containingProfile();
+ case UMLPackage.MODEL___MAKES_VISIBLE__NAMEDELEMENT :
+ return makesVisible((NamedElement) arguments.get(0));
+ case UMLPackage.MODEL___GET_NESTED_PACKAGES :
+ return getNestedPackages();
+ case UMLPackage.MODEL___GET_OWNED_STEREOTYPES :
+ return getOwnedStereotypes();
+ case UMLPackage.MODEL___GET_OWNED_TYPES :
+ return getOwnedTypes();
+ case UMLPackage.MODEL___VISIBLE_MEMBERS :
+ return visibleMembers();
+ case UMLPackage.MODEL___IS_METAMODEL :
+ return isMetamodel();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ModelImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MultiplicityElementImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MultiplicityElementImpl.java
new file mode 100644
index 00000000..50521b83
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/MultiplicityElementImpl.java
@@ -0,0 +1,827 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+import org.eclipse.uml2.uml.internal.operations.MultiplicityElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Multiplicity Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MultiplicityElementImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MultiplicityElementImpl#isOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MultiplicityElementImpl#isUnique <em>Is Unique</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MultiplicityElementImpl#getLower <em>Lower</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MultiplicityElementImpl#getLowerValue <em>Lower Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MultiplicityElementImpl#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.MultiplicityElementImpl#getUpperValue <em>Upper Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class MultiplicityElementImpl
+ extends ElementImpl
+ implements MultiplicityElement {
+
+ /**
+ * The default value of the '{@link #isOrdered() <em>Is Ordered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOrdered()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ORDERED_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isUnique() <em>Is Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnique()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_UNIQUE_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLower()
+ * @generated
+ * @ordered
+ */
+ protected static final int LOWER_EDEFAULT = 1;
+
+ /**
+ * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpper()
+ * @generated
+ * @ordered
+ */
+ protected static final int UPPER_EDEFAULT = 1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MultiplicityElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.MULTIPLICITY_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.MULTIPLICITY_ELEMENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.MULTIPLICITY_ELEMENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOrdered() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_ORDERED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsOrdered(boolean newIsOrdered) {
+ eDynamicSet(
+ UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_ORDERED, newIsOrdered);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnique() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_UNIQUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsUnique(boolean newIsUnique) {
+ eDynamicSet(
+ UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_UNIQUE, newIsUnique);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getUpper() {
+ return MultiplicityElementOperations.getUpper(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpper(int newUpper) {
+ MultiplicityElementOperations.setUpper(this, newUpper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLower() {
+ return MultiplicityElementOperations.getLower(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLower(int newLower) {
+ MultiplicityElementOperations.setLower(this, newLower);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getUpperValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetUpperValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetUpperValue(
+ ValueSpecification newUpperValue, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newUpperValue,
+ UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpperValue(ValueSpecification newUpperValue) {
+ eDynamicSet(
+ UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE,
+ newUpperValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createUpperValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newUpperValue = (ValueSpecification) create(eClass);
+ setUpperValue(newUpperValue);
+ if (name != null)
+ newUpperValue.setName(name);
+ if (type != null)
+ newUpperValue.setType(type);
+ return newUpperValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getLowerValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetLowerValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLowerValue(
+ ValueSpecification newLowerValue, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newLowerValue,
+ UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLowerValue(ValueSpecification newLowerValue) {
+ eDynamicSet(
+ UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE,
+ newLowerValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createLowerValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newLowerValue = (ValueSpecification) create(eClass);
+ setLowerValue(newLowerValue);
+ if (name != null)
+ newLowerValue.setName(name);
+ if (type != null)
+ newLowerValue.setType(type);
+ return newLowerValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLowerGe0(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateLowerGe0(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUpperGeLower(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateUpperGeLower(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateValueSpecificationNoSideEffects(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateValueSpecificationNoSideEffects(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateValueSpecificationConstant(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateValueSpecificationConstant(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLowerIsInteger(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateLowerIsInteger(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUpperIsUnlimitedNatural(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateUpperIsUnlimitedNatural(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMultivalued() {
+ return MultiplicityElementOperations.isMultivalued(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean includesMultiplicity(MultiplicityElement M) {
+ return MultiplicityElementOperations.includesMultiplicity(this, M);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int lowerBound() {
+ return MultiplicityElementOperations.lowerBound(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int upperBound() {
+ return MultiplicityElementOperations.upperBound(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean compatibleWith(MultiplicityElement other) {
+ return MultiplicityElementOperations.compatibleWith(this, other);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean is(int lowerbound, int upperbound) {
+ return MultiplicityElementOperations.is(this, lowerbound, upperbound);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.MULTIPLICITY_ELEMENT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE :
+ return basicSetLowerValue(null, msgs);
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE :
+ return basicSetUpperValue(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.MULTIPLICITY_ELEMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.MULTIPLICITY_ELEMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.MULTIPLICITY_ELEMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE :
+ return isUnique();
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER :
+ return getLower();
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE :
+ if (resolve)
+ return getLowerValue();
+ return basicGetLowerValue();
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER :
+ return getUpper();
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE :
+ if (resolve)
+ return getUpperValue();
+ return basicGetUpperValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED :
+ setIsOrdered((Boolean) newValue);
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE :
+ setIsUnique((Boolean) newValue);
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER :
+ setLower((Integer) newValue);
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE :
+ setLowerValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER :
+ setUpper((Integer) newValue);
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE :
+ setUpperValue((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED :
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE :
+ setIsUnique(IS_UNIQUE_EDEFAULT);
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER :
+ setLower(LOWER_EDEFAULT);
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE :
+ setLowerValue((ValueSpecification) null);
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER :
+ setUpper(UPPER_EDEFAULT);
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE :
+ setUpperValue((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.MULTIPLICITY_ELEMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.MULTIPLICITY_ELEMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.MULTIPLICITY_ELEMENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED :
+ return isOrdered() != IS_ORDERED_EDEFAULT;
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE :
+ return isUnique() != IS_UNIQUE_EDEFAULT;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER :
+ return getLower() != LOWER_EDEFAULT;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE :
+ return basicGetLowerValue() != null;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER :
+ return getUpper() != UPPER_EDEFAULT;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE :
+ return basicGetUpperValue() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MULTIPLICITY_ELEMENT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_MODEL :
+ return getModel();
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MULTIPLICITY_ELEMENT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.MULTIPLICITY_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.MULTIPLICITY_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.MULTIPLICITY_ELEMENT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return validateUpperGeLower((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return validateLowerGe0((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationNoSideEffects(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationConstant(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return validateLowerIsInteger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return validateUpperIsUnlimitedNatural(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.MULTIPLICITY_ELEMENT___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.MULTIPLICITY_ELEMENT___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.MULTIPLICITY_ELEMENT___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return compatibleWith((MultiplicityElement) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return includesMultiplicity(
+ (MultiplicityElement) arguments.get(0));
+ case UMLPackage.MULTIPLICITY_ELEMENT___IS__INT_INT :
+ return is((Integer) arguments.get(0),
+ (Integer) arguments.get(1));
+ case UMLPackage.MULTIPLICITY_ELEMENT___IS_MULTIVALUED :
+ return isMultivalued();
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_LOWER :
+ return getLower();
+ case UMLPackage.MULTIPLICITY_ELEMENT___LOWER_BOUND :
+ return lowerBound();
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_UPPER :
+ return getUpper();
+ case UMLPackage.MULTIPLICITY_ELEMENT___UPPER_BOUND :
+ return upperBound();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.MULTIPLICITY_ELEMENT__OWNED_COMMENT,
+ UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE,
+ UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE)
+ || eIsSet(UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE);
+ }
+
+} //MultiplicityElementImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/NamedElementImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/NamedElementImpl.java
new file mode 100644
index 00000000..1991a270
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/NamedElementImpl.java
@@ -0,0 +1,969 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Sergey Boyko (Borland) - 282440
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.common.util.UML2Util;
+
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.NamedElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Named Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamedElementImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamedElementImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamedElementImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamedElementImpl#getClientDependencies <em>Client Dependency</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamedElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamedElementImpl#getNameExpression <em>Name Expression</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamedElementImpl#getQualifiedName <em>Qualified Name</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamedElementImpl#getVisibility <em>Visibility</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class NamedElementImpl
+ extends ElementImpl
+ implements NamedElement {
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getQualifiedName() <em>Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected static final String QUALIFIED_NAME_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVisibility()
+ * @generated
+ * @ordered
+ */
+ protected static final VisibilityKind VISIBILITY_EDEFAULT = VisibilityKind.PUBLIC_LITERAL;
+
+ /**
+ * The array of enumeration values for '{@link VisibilityKind Visibility Kind}'
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ * @ordered
+ */
+ protected static final VisibilityKind[] VISIBILITY_EFLAG_VALUES = VisibilityKind
+ .values();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NamedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.NAMED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.NAMED_ELEMENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.NAMED_ELEMENT__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return (String) eDynamicGet(
+ UMLPackage.NAMED_ELEMENT__NAME - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__NAME, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ eDynamicSet(UMLPackage.NAMED_ELEMENT__NAME - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetName() {
+ eDynamicUnset(UMLPackage.NAMED_ELEMENT__NAME - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__NAME);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetName() {
+ return eDynamicIsSet(
+ UMLPackage.NAMED_ELEMENT__NAME - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__NAME);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VisibilityKind getVisibility() {
+ return (VisibilityKind) eDynamicGet(
+ UMLPackage.NAMED_ELEMENT__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVisibility(VisibilityKind newVisibility) {
+ eDynamicSet(
+ UMLPackage.NAMED_ELEMENT__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY, newVisibility);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetVisibility() {
+ eDynamicUnset(
+ UMLPackage.NAMED_ELEMENT__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetVisibility() {
+ return eDynamicIsSet(
+ UMLPackage.NAMED_ELEMENT__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getQualifiedName() {
+ return NamedElementOperations.getQualifiedName(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Dependency> getClientDependencies() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Dependency> result = (EList<Dependency>) cache.get(this,
+ UMLPackage.Literals.NAMED_ELEMENT__CLIENT_DEPENDENCY);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.NAMED_ELEMENT__CLIENT_DEPENDENCY,
+ result = NamedElementOperations
+ .getClientDependencies(this));
+ }
+ return result;
+ }
+ return NamedElementOperations.getClientDependencies(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getClientDependency(String name) {
+ return getClientDependency(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getClientDependency(String name, boolean ignoreCase,
+ EClass eClass) {
+ clientDependencyLoop : for (Dependency clientDependency : getClientDependencies()) {
+ if (eClass != null && !eClass.isInstance(clientDependency))
+ continue clientDependencyLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(clientDependency.getName())
+ : name.equals(clientDependency.getName())))
+ continue clientDependencyLoop;
+ return clientDependency;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringExpression getNameExpression() {
+ return (StringExpression) eDynamicGet(
+ UMLPackage.NAMED_ELEMENT__NAME_EXPRESSION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__NAME_EXPRESSION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringExpression basicGetNameExpression() {
+ return (StringExpression) eDynamicGet(
+ UMLPackage.NAMED_ELEMENT__NAME_EXPRESSION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__NAME_EXPRESSION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetNameExpression(
+ StringExpression newNameExpression, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newNameExpression,
+ UMLPackage.NAMED_ELEMENT__NAME_EXPRESSION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNameExpression(StringExpression newNameExpression) {
+ eDynamicSet(
+ UMLPackage.NAMED_ELEMENT__NAME_EXPRESSION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__NAME_EXPRESSION,
+ newNameExpression);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringExpression createNameExpression(String name, Type type) {
+ StringExpression newNameExpression = (StringExpression) create(
+ UMLPackage.Literals.STRING_EXPRESSION);
+ setNameExpression(newNameExpression);
+ if (name != null)
+ newNameExpression.setName(name);
+ if (type != null)
+ newNameExpression.setType(type);
+ return newNameExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateHasNoQualifiedName(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return NamedElementOperations.validateHasNoQualifiedName(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateHasQualifiedName(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return NamedElementOperations.validateHasQualifiedName(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateVisibilityNeedsOwnership(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return NamedElementOperations.validateVisibilityNeedsOwnership(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency createDependency(NamedElement supplier) {
+ return NamedElementOperations.createDependency(this, supplier);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLabel() {
+ return NamedElementOperations.getLabel(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLabel(boolean localize) {
+ return NamedElementOperations.getLabel(this, localize);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+
+ public Usage createUsage(NamedElement supplier) {
+ return NamedElementOperations.createUsage(this, supplier);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Namespace> allNamespaces() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Namespace> result = (EList<Namespace>) cache.get(this,
+ UMLPackage.Literals.NAMED_ELEMENT___ALL_NAMESPACES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.NAMED_ELEMENT___ALL_NAMESPACES,
+ result = NamedElementOperations.allNamespaces(this));
+ }
+ return result;
+ }
+ return NamedElementOperations.allNamespaces(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDistinguishableFrom(NamedElement n, Namespace ns) {
+ return NamedElementOperations.isDistinguishableFrom(this, n, ns);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String separator() {
+ return NamedElementOperations.separator(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<org.eclipse.uml2.uml.Package> allOwningPackages() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<org.eclipse.uml2.uml.Package> result = (EList<org.eclipse.uml2.uml.Package>) cache
+ .get(this,
+ UMLPackage.Literals.NAMED_ELEMENT___ALL_OWNING_PACKAGES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.NAMED_ELEMENT___ALL_OWNING_PACKAGES,
+ result = NamedElementOperations.allOwningPackages(this));
+ }
+ return result;
+ }
+ return NamedElementOperations.allOwningPackages(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.NAMED_ELEMENT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NAMED_ELEMENT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NAMED_ELEMENT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.NAMED_ELEMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.NAMED_ELEMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.NAMED_ELEMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.NAMED_ELEMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.NAMED_ELEMENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.NAMED_ELEMENT__NAME :
+ return getName();
+ case UMLPackage.NAMED_ELEMENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.NAMED_ELEMENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.NAMED_ELEMENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.NAMED_ELEMENT__VISIBILITY :
+ return getVisibility();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.NAMED_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.NAMED_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.NAMED_ELEMENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.NAMED_ELEMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.NAMED_ELEMENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.NAMED_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.NAMED_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.NAMED_ELEMENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.NAMED_ELEMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.NAMED_ELEMENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.NAMED_ELEMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.NAMED_ELEMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.NAMED_ELEMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.NAMED_ELEMENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.NAMED_ELEMENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.NAMED_ELEMENT__NAME :
+ return isSetName();
+ case UMLPackage.NAMED_ELEMENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.NAMED_ELEMENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.NAMED_ELEMENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.NAMED_ELEMENT__VISIBILITY :
+ return isSetVisibility();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.NAMED_ELEMENT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NAMED_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NAMED_ELEMENT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.NAMED_ELEMENT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.NAMED_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.NAMED_ELEMENT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.NAMED_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.NAMED_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___GET_MODEL :
+ return getModel();
+ case UMLPackage.NAMED_ELEMENT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.NAMED_ELEMENT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.NAMED_ELEMENT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.NAMED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.NAMED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.NAMED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.NAMED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.NAMED_ELEMENT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.NAMED_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.NAMED_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.NAMED_ELEMENT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NAMED_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NAMED_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.NAMED_ELEMENT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.NAMED_ELEMENT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.NAMED_ELEMENT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.NAMED_ELEMENT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.NAMED_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.NAMED_ELEMENT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.NAMED_ELEMENT___SEPARATOR :
+ return separator();
+ case UMLPackage.NAMED_ELEMENT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Namespace basicGetNamespace() {
+ return NamedElementOperations.getNamespace(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetNamespaceGen() {
+ return false;
+ }
+
+ public boolean isSetNamespace() {
+ return basicGetNamespace() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ if (isSetNamespace()) {
+ return basicGetNamespace();
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner() || isSetNamespace();
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.NAMED_ELEMENT__OWNED_COMMENT,
+ UMLPackage.NAMED_ELEMENT__NAME_EXPRESSION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.NAMED_ELEMENT__NAME_EXPRESSION);
+ }
+
+ @Override
+ public String eURIFragmentSegment(EStructuralFeature eStructuralFeature,
+ EObject eObject) {
+
+ if (eObject instanceof NamedElement) {
+ String name = ((NamedElement) eObject).getName();
+
+ if (!UML2Util.isEmpty(name)) {
+ int count = 0;
+
+ for (EObject otherEObject : eContents()) {
+
+ if (otherEObject == eObject) {
+ break;
+ } else if (otherEObject instanceof NamedElement) {
+
+ if (name
+ .equals(((NamedElement) otherEObject).getName())) {
+
+ count++;
+ }
+ }
+ }
+
+ name = URI.encodeSegment(name, true);
+ return count > 0
+ ? name + '.' + count
+ : name;
+ }
+ }
+
+ return super.eURIFragmentSegment(eStructuralFeature, eObject);
+ }
+
+ @Override
+ public EObject eObjectForURIFragmentSegment(String uriFragmentSegment) {
+
+ if (uriFragmentSegment.length() > 0) {
+ // Is the first character a special character, i.e., something other
+ // than '@'?
+ //
+ char firstCharacter = uriFragmentSegment.charAt(0);
+
+ if (firstCharacter != '@' && firstCharacter != '%') {
+ // Look for trailing count.
+ //
+ int index = uriFragmentSegment.lastIndexOf("."); //$NON-NLS-1$
+ String name = index == -1
+ ? uriFragmentSegment
+ : uriFragmentSegment.substring(0, index);
+ int count = 0;
+
+ if (index != -1) {
+ try {
+ count = Integer
+ .parseInt(uriFragmentSegment.substring(index + 1));
+ } catch (NumberFormatException exception) {
+ // Interpret it as part of the name.
+ //
+ name = uriFragmentSegment;
+ }
+ }
+
+ name = URI.decode(name);
+
+ // Look for a matching named element.
+ //
+ for (EObject eObject : eContents()) {
+
+ if (eObject instanceof NamedElement) {
+ NamedElement namedElement = (NamedElement) eObject;
+
+ if (name.equals(namedElement.getName())
+ && count-- == 0) {
+ return namedElement;
+ }
+ }
+ }
+
+ return null;
+ }
+ }
+
+ return super.eObjectForURIFragmentSegment(uriFragmentSegment);
+ }
+
+} //NamedElementImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/NamespaceImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/NamespaceImpl.java
new file mode 100644
index 00000000..c30d16be
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/NamespaceImpl.java
@@ -0,0 +1,1063 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.NamespaceOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Namespace</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamespaceImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamespaceImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamespaceImpl#getMembers <em>Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamespaceImpl#getOwnedRules <em>Owned Rule</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamespaceImpl#getElementImports <em>Element Import</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamespaceImpl#getPackageImports <em>Package Import</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NamespaceImpl#getImportedMembers <em>Imported Member</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class NamespaceImpl
+ extends NamedElementImpl
+ implements Namespace {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NamespaceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.NAMESPACE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.NAMESPACE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.NAMESPACE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.NAMESPACE__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.NAMESPACE__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> members = (EList<NamedElement>) cache
+ .get(eResource, this, UMLPackage.Literals.NAMESPACE__MEMBER);
+ if (members == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__MEMBER,
+ members = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this, UMLPackage.NAMESPACE__MEMBER,
+ MEMBER_ESUBSETS));
+ }
+ return members;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.NAMESPACE__MEMBER, MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementImport> getElementImports() {
+ return (EList<ElementImport>) eDynamicGet(
+ UMLPackage.NAMESPACE__ELEMENT_IMPORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMESPACE__ELEMENT_IMPORT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementImport createElementImport(
+ PackageableElement importedElement) {
+ ElementImport newElementImport = (ElementImport) create(
+ UMLPackage.Literals.ELEMENT_IMPORT);
+ getElementImports().add(newElementImport);
+ if (importedElement != null)
+ newElementImport.setImportedElement(importedElement);
+ return newElementImport;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementImport getElementImport(PackageableElement importedElement) {
+ return getElementImport(importedElement, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementImport getElementImport(PackageableElement importedElement,
+ boolean createOnDemand) {
+ elementImportLoop : for (ElementImport elementImport : getElementImports()) {
+ if (importedElement != null
+ && !importedElement.equals(elementImport.getImportedElement()))
+ continue elementImportLoop;
+ return elementImport;
+ }
+ return createOnDemand
+ ? createElementImport(importedElement)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<PackageImport> getPackageImports() {
+ return (EList<PackageImport>) eDynamicGet(
+ UMLPackage.NAMESPACE__PACKAGE_IMPORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMESPACE__PACKAGE_IMPORT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport createPackageImport(
+ org.eclipse.uml2.uml.Package importedPackage) {
+ PackageImport newPackageImport = (PackageImport) create(
+ UMLPackage.Literals.PACKAGE_IMPORT);
+ getPackageImports().add(newPackageImport);
+ if (importedPackage != null)
+ newPackageImport.setImportedPackage(importedPackage);
+ return newPackageImport;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport getPackageImport(
+ org.eclipse.uml2.uml.Package importedPackage) {
+ return getPackageImport(importedPackage, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport getPackageImport(
+ org.eclipse.uml2.uml.Package importedPackage,
+ boolean createOnDemand) {
+ packageImportLoop : for (PackageImport packageImport : getPackageImports()) {
+ if (importedPackage != null
+ && !importedPackage.equals(packageImport.getImportedPackage()))
+ continue packageImportLoop;
+ return packageImport;
+ }
+ return createOnDemand
+ ? createPackageImport(importedPackage)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getOwnedRules() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.NAMESPACE__OWNED_RULE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMESPACE__OWNED_RULE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createOwnedRule(String name, EClass eClass) {
+ Constraint newOwnedRule = (Constraint) create(eClass);
+ getOwnedRules().add(newOwnedRule);
+ if (name != null)
+ newOwnedRule.setName(name);
+ return newOwnedRule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createOwnedRule(String name) {
+ return createOwnedRule(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getOwnedRule(String name) {
+ return getOwnedRule(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getOwnedRule(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ ownedRuleLoop : for (Constraint ownedRule : getOwnedRules()) {
+ if (eClass != null && !eClass.isInstance(ownedRule))
+ continue ownedRuleLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedRule.getName())
+ : name.equals(ownedRule.getName())))
+ continue ownedRuleLoop;
+ return ownedRule;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedRule(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PackageableElement> getImportedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<PackageableElement> result = (EList<PackageableElement>) cache
+ .get(this, UMLPackage.Literals.NAMESPACE__IMPORTED_MEMBER);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.NAMESPACE__IMPORTED_MEMBER,
+ result = NamespaceOperations.getImportedMembers(this));
+ }
+ return result;
+ }
+ return NamespaceOperations.getImportedMembers(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getImportedMember(String name) {
+ return getImportedMember(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getImportedMember(String name, boolean ignoreCase,
+ EClass eClass) {
+ importedMemberLoop : for (PackageableElement importedMember : getImportedMembers()) {
+ if (eClass != null && !eClass.isInstance(importedMember))
+ continue importedMemberLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(importedMember.getName())
+ : name.equals(importedMember.getName())))
+ continue importedMemberLoop;
+ return importedMember;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMembersDistinguishable(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return NamespaceOperations.validateMembersDistinguishable(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCannotImportSelf(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return NamespaceOperations.validateCannotImportSelf(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCannotImportOwnedMembers(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return NamespaceOperations.validateCannotImportOwnedMembers(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementImport createElementImport(PackageableElement element,
+ VisibilityKind visibility) {
+ return NamespaceOperations.createElementImport(this, element,
+ visibility);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport createPackageImport(
+ org.eclipse.uml2.uml.Package package_, VisibilityKind visibility) {
+ return NamespaceOperations.createPackageImport(this, package_,
+ visibility);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PackageableElement> getImportedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<PackageableElement> result = (EList<PackageableElement>) cache
+ .get(this,
+ UMLPackage.Literals.NAMESPACE___GET_IMPORTED_ELEMENTS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.NAMESPACE___GET_IMPORTED_ELEMENTS,
+ result = NamespaceOperations.getImportedElements(this));
+ }
+ return result;
+ }
+ return NamespaceOperations.getImportedElements(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<org.eclipse.uml2.uml.Package> getImportedPackages() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<org.eclipse.uml2.uml.Package> result = (EList<org.eclipse.uml2.uml.Package>) cache
+ .get(this,
+ UMLPackage.Literals.NAMESPACE___GET_IMPORTED_PACKAGES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.NAMESPACE___GET_IMPORTED_PACKAGES,
+ result = NamespaceOperations.getImportedPackages(this));
+ }
+ return result;
+ }
+ return NamespaceOperations.getImportedPackages(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getNamesOfMember(NamedElement element) {
+ return NamespaceOperations.getNamesOfMember(this, element);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean membersAreDistinguishable() {
+ return NamespaceOperations.membersAreDistinguishable(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PackageableElement> importMembers(
+ EList<PackageableElement> imps) {
+ return NamespaceOperations.importMembers(this, imps);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PackageableElement> excludeCollisions(
+ EList<PackageableElement> imps) {
+ return NamespaceOperations.excludeCollisions(this, imps);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.NAMESPACE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NAMESPACE__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NAMESPACE__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NAMESPACE__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.NAMESPACE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NAMESPACE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NAMESPACE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.NAMESPACE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NAMESPACE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NAMESPACE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.NAMESPACE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.NAMESPACE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.NAMESPACE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.NAMESPACE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.NAMESPACE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.NAMESPACE__NAME :
+ return getName();
+ case UMLPackage.NAMESPACE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.NAMESPACE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.NAMESPACE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.NAMESPACE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.NAMESPACE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.NAMESPACE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.NAMESPACE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.NAMESPACE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.NAMESPACE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.NAMESPACE__MEMBER :
+ return getMembers();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.NAMESPACE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.NAMESPACE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.NAMESPACE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.NAMESPACE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.NAMESPACE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.NAMESPACE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.NAMESPACE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.NAMESPACE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.NAMESPACE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.NAMESPACE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.NAMESPACE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.NAMESPACE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.NAMESPACE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.NAMESPACE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.NAMESPACE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.NAMESPACE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.NAMESPACE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.NAMESPACE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.NAMESPACE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.NAMESPACE__OWNER :
+ return isSetOwner();
+ case UMLPackage.NAMESPACE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.NAMESPACE__NAME :
+ return isSetName();
+ case UMLPackage.NAMESPACE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.NAMESPACE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.NAMESPACE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.NAMESPACE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.NAMESPACE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.NAMESPACE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.NAMESPACE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.NAMESPACE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.NAMESPACE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.NAMESPACE__MEMBER :
+ return isSetMembers();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.NAMESPACE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.NAMESPACE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NAMESPACE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NAMESPACE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.NAMESPACE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.NAMESPACE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.NAMESPACE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.NAMESPACE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.NAMESPACE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.NAMESPACE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.NAMESPACE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.NAMESPACE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.NAMESPACE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.NAMESPACE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.NAMESPACE___GET_MODEL :
+ return getModel();
+ case UMLPackage.NAMESPACE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.NAMESPACE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.NAMESPACE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.NAMESPACE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.NAMESPACE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.NAMESPACE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.NAMESPACE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.NAMESPACE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.NAMESPACE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.NAMESPACE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.NAMESPACE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.NAMESPACE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.NAMESPACE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.NAMESPACE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.NAMESPACE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.NAMESPACE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.NAMESPACE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.NAMESPACE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.NAMESPACE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.NAMESPACE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.NAMESPACE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.NAMESPACE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NAMESPACE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NAMESPACE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NAMESPACE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.NAMESPACE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.NAMESPACE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.NAMESPACE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.NAMESPACE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.NAMESPACE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.NAMESPACE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.NAMESPACE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.NAMESPACE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.NAMESPACE___SEPARATOR :
+ return separator();
+ case UMLPackage.NAMESPACE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.NAMESPACE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NAMESPACE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NAMESPACE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NAMESPACE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.NAMESPACE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.NAMESPACE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.NAMESPACE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.NAMESPACE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.NAMESPACE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.NAMESPACE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.NAMESPACE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.NAMESPACE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.NAMESPACE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.NAMESPACE__ELEMENT_IMPORT)
+ || eIsSet(UMLPackage.NAMESPACE__PACKAGE_IMPORT)
+ || isSetOwnedMembers();
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.NAMESPACE__OWNED_RULE};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.NAMESPACE__OWNED_COMMENT,
+ UMLPackage.NAMESPACE__NAME_EXPRESSION,
+ UMLPackage.NAMESPACE__ELEMENT_IMPORT,
+ UMLPackage.NAMESPACE__PACKAGE_IMPORT,
+ UMLPackage.NAMESPACE__OWNED_MEMBER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getOwnedMember(String name) {
+ return getOwnedMember(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getOwnedMember(String name, boolean ignoreCase,
+ EClass eClass) {
+ ownedMemberLoop : for (NamedElement ownedMember : getOwnedMembers()) {
+ if (eClass != null && !eClass.isInstance(ownedMember))
+ continue ownedMemberLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedMember.getName())
+ : name.equals(ownedMember.getName())))
+ continue ownedMemberLoop;
+ return ownedMember;
+ }
+ return null;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getMembers() <em>Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] MEMBER_ESUBSETS = new int[]{
+ UMLPackage.NAMESPACE__OWNED_MEMBER,
+ UMLPackage.NAMESPACE__IMPORTED_MEMBER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getMember(String name) {
+ return getMember(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getMember(String name, boolean ignoreCase,
+ EClass eClass) {
+ memberLoop : for (NamedElement member : getMembers()) {
+ if (eClass != null && !eClass.isInstance(member))
+ continue memberLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(member.getName())
+ : name.equals(member.getName())))
+ continue memberLoop;
+ return member;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetOwnedMembers() {
+ return eIsSet(UMLPackage.NAMESPACE__OWNED_RULE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetMembers() {
+ return isSetOwnedMembers()
+ || eIsSet(UMLPackage.NAMESPACE__IMPORTED_MEMBER);
+ }
+
+} //NamespaceImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/NodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/NodeImpl.java
new file mode 100644
index 00000000..53145d4d
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/NodeImpl.java
@@ -0,0 +1,1523 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 205188
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentTarget;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.DeploymentTargetOperations;
+import org.eclipse.uml2.uml.internal.operations.NodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NodeImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NodeImpl#getDeployedElements <em>Deployed Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NodeImpl#getDeployments <em>Deployment</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NodeImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.NodeImpl#getNestedNodes <em>Nested Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NodeImpl
+ extends ClassImpl
+ implements Node {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.NODE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.NODE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Deployment> getDeployments() {
+ return (EList<Deployment>) eDynamicGet(
+ UMLPackage.NODE__DEPLOYMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_TARGET__DEPLOYMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PackageableElement> getDeployedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<PackageableElement> result = (EList<PackageableElement>) cache
+ .get(this,
+ UMLPackage.Literals.DEPLOYMENT_TARGET__DEPLOYED_ELEMENT);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.DEPLOYMENT_TARGET__DEPLOYED_ELEMENT,
+ result = DeploymentTargetOperations
+ .getDeployedElements(this));
+ }
+ return result;
+ }
+ return DeploymentTargetOperations.getDeployedElements(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getDeployedElement(String name) {
+ return getDeployedElement(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getDeployedElement(String name,
+ boolean ignoreCase, EClass eClass) {
+ deployedElementLoop : for (PackageableElement deployedElement : getDeployedElements()) {
+ if (eClass != null && !eClass.isInstance(deployedElement))
+ continue deployedElementLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(deployedElement.getName())
+ : name.equals(deployedElement.getName())))
+ continue deployedElementLoop;
+ return deployedElement;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this, UMLPackage.NODE__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.NODE__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Node> getNestedNodes() {
+ return (EList<Node>) eDynamicGet(
+ UMLPackage.NODE__NESTED_NODE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NODE__NESTED_NODE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Node createNestedNode(String name, EClass eClass) {
+ Node newNestedNode = (Node) create(eClass);
+ getNestedNodes().add(newNestedNode);
+ if (name != null)
+ newNestedNode.setName(name);
+ return newNestedNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Node createNestedNode(String name) {
+ return createNestedNode(name, UMLPackage.Literals.NODE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Node getNestedNode(String name) {
+ return getNestedNode(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Node getNestedNode(String name, boolean ignoreCase, EClass eClass,
+ boolean createOnDemand) {
+ nestedNodeLoop : for (Node nestedNode : getNestedNodes()) {
+ if (eClass != null && !eClass.isInstance(nestedNode))
+ continue nestedNodeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(nestedNode.getName())
+ : name.equals(nestedNode.getName())))
+ continue nestedNodeLoop;
+ return nestedNode;
+ }
+ return createOnDemand && eClass != null
+ ? createNestedNode(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInternalStructure(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return NodeOperations.validateInternalStructure(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CommunicationPath createCommunicationPath(boolean end1IsNavigable,
+ AggregationKind end1Aggregation, String end1Name, int end1Lower,
+ int end1Upper, Node end1Node, boolean end2IsNavigable,
+ AggregationKind end2Aggregation, String end2Name, int end2Lower,
+ int end2Upper) {
+ return NodeOperations.createCommunicationPath(this, end1IsNavigable,
+ end1Aggregation, end1Name, end1Lower, end1Upper, end1Node,
+ end2IsNavigable, end2Aggregation, end2Name, end2Lower, end2Upper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CommunicationPath> getCommunicationPaths() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<CommunicationPath> result = (EList<CommunicationPath>) cache
+ .get(this, UMLPackage.Literals.NODE___GET_COMMUNICATION_PATHS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.NODE___GET_COMMUNICATION_PATHS,
+ result = NodeOperations.getCommunicationPaths(this));
+ }
+ return result;
+ }
+ return NodeOperations.getCommunicationPaths(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.NODE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NODE__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NODE__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NODE__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NODE__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.NODE__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.NODE__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NODE__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - UMLPackage.NODE__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.NODE__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NODE__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NODE__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NODE__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NODE__INTERFACE_REALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInterfaceRealizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NODE__OWNED_OPERATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedOperations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.NODE__DEPLOYMENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getDeployments())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.NODE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.NODE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.NODE__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.NODE__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.NODE__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.NODE__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__OWNED_CONNECTOR :
+ return ((InternalEList<?>) getOwnedConnectors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__INTERFACE_REALIZATION :
+ return ((InternalEList<?>) getInterfaceRealizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__OWNED_BEHAVIOR :
+ return ((InternalEList<?>) getOwnedBehaviors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__NESTED_CLASSIFIER :
+ return ((InternalEList<?>) getNestedClassifiers())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__OWNED_RECEPTION :
+ return ((InternalEList<?>) getOwnedReceptions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__DEPLOYMENT :
+ return ((InternalEList<?>) getDeployments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.NODE__NESTED_NODE :
+ return ((InternalEList<?>) getNestedNodes())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.NODE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.NODE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.NODE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.NODE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.NODE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.NODE__NAME :
+ return getName();
+ case UMLPackage.NODE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.NODE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.NODE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.NODE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.NODE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.NODE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.NODE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.NODE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.NODE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.NODE__MEMBER :
+ return getMembers();
+ case UMLPackage.NODE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.NODE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.NODE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.NODE__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.NODE__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.NODE__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.NODE__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.NODE__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.NODE__FEATURE :
+ return getFeatures();
+ case UMLPackage.NODE__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.NODE__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.NODE__GENERAL :
+ return getGenerals();
+ case UMLPackage.NODE__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.NODE__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.NODE__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.NODE__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.NODE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.NODE__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.NODE__USE_CASE :
+ return getUseCases();
+ case UMLPackage.NODE__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.NODE__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.NODE__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.NODE__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.NODE__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.NODE__PART :
+ return getParts();
+ case UMLPackage.NODE__ROLE :
+ return getRoles();
+ case UMLPackage.NODE__OWNED_PORT :
+ return getOwnedPorts();
+ case UMLPackage.NODE__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.NODE__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.NODE__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ case UMLPackage.NODE__OWNED_OPERATION :
+ return getOwnedOperations();
+ case UMLPackage.NODE__EXTENSION :
+ return getExtensions();
+ case UMLPackage.NODE__IS_ACTIVE :
+ return isActive();
+ case UMLPackage.NODE__NESTED_CLASSIFIER :
+ return getNestedClassifiers();
+ case UMLPackage.NODE__OWNED_RECEPTION :
+ return getOwnedReceptions();
+ case UMLPackage.NODE__SUPER_CLASS :
+ return getSuperClasses();
+ case UMLPackage.NODE__DEPLOYED_ELEMENT :
+ return getDeployedElements();
+ case UMLPackage.NODE__DEPLOYMENT :
+ return getDeployments();
+ case UMLPackage.NODE__NESTED_NODE :
+ return getNestedNodes();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.NODE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.NODE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.NODE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.NODE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.NODE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.NODE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.NODE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.NODE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.NODE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.NODE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.NODE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.NODE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.NODE__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.NODE__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.NODE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.NODE__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.NODE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.NODE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.NODE__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.NODE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.NODE__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.NODE__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.NODE__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.NODE__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.NODE__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.NODE__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.NODE__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.NODE__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ case UMLPackage.NODE__IS_ACTIVE :
+ setIsActive((Boolean) newValue);
+ return;
+ case UMLPackage.NODE__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ getNestedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.NODE__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ getOwnedReceptions()
+ .addAll((Collection<? extends Reception>) newValue);
+ return;
+ case UMLPackage.NODE__SUPER_CLASS :
+ getSuperClasses().clear();
+ getSuperClasses().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Class>) newValue);
+ return;
+ case UMLPackage.NODE__DEPLOYMENT :
+ getDeployments().clear();
+ getDeployments()
+ .addAll((Collection<? extends Deployment>) newValue);
+ return;
+ case UMLPackage.NODE__NESTED_NODE :
+ getNestedNodes().clear();
+ getNestedNodes().addAll((Collection<? extends Node>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.NODE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.NODE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.NODE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.NODE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.NODE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.NODE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.NODE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.NODE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.NODE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.NODE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.NODE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.NODE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.NODE__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.NODE__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.NODE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.NODE__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.NODE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.NODE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.NODE__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.NODE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.NODE__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.NODE__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.NODE__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.NODE__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ case UMLPackage.NODE__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.NODE__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.NODE__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ case UMLPackage.NODE__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ case UMLPackage.NODE__IS_ACTIVE :
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ case UMLPackage.NODE__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ return;
+ case UMLPackage.NODE__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ return;
+ case UMLPackage.NODE__SUPER_CLASS :
+ getSuperClasses().clear();
+ return;
+ case UMLPackage.NODE__DEPLOYMENT :
+ getDeployments().clear();
+ return;
+ case UMLPackage.NODE__NESTED_NODE :
+ getNestedNodes().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.NODE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.NODE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.NODE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.NODE__OWNER :
+ return isSetOwner();
+ case UMLPackage.NODE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.NODE__NAME :
+ return isSetName();
+ case UMLPackage.NODE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.NODE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.NODE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.NODE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.NODE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.NODE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.NODE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.NODE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.NODE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.NODE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.NODE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.NODE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.NODE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.NODE__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.NODE__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.NODE__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.NODE__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.NODE__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.NODE__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.NODE__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.NODE__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.NODE__GENERAL :
+ return isSetGenerals();
+ case UMLPackage.NODE__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.NODE__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.NODE__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.NODE__IS_ABSTRACT :
+ return isSetIsAbstract();
+ case UMLPackage.NODE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.NODE__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.NODE__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.NODE__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.NODE__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.NODE__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.NODE__OWNED_ATTRIBUTE :
+ return isSetOwnedAttributes();
+ case UMLPackage.NODE__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.NODE__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.NODE__ROLE :
+ return isSetRoles();
+ case UMLPackage.NODE__OWNED_PORT :
+ return !getOwnedPorts().isEmpty();
+ case UMLPackage.NODE__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.NODE__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.NODE__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ case UMLPackage.NODE__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ case UMLPackage.NODE__EXTENSION :
+ return !getExtensions().isEmpty();
+ case UMLPackage.NODE__IS_ACTIVE :
+ return isActive() != IS_ACTIVE_EDEFAULT;
+ case UMLPackage.NODE__NESTED_CLASSIFIER :
+ return !getNestedClassifiers().isEmpty();
+ case UMLPackage.NODE__OWNED_RECEPTION :
+ return !getOwnedReceptions().isEmpty();
+ case UMLPackage.NODE__SUPER_CLASS :
+ return isSetSuperClasses();
+ case UMLPackage.NODE__DEPLOYED_ELEMENT :
+ return !getDeployedElements().isEmpty();
+ case UMLPackage.NODE__DEPLOYMENT :
+ return !getDeployments().isEmpty();
+ case UMLPackage.NODE__NESTED_NODE :
+ return !getNestedNodes().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == DeploymentTarget.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.NODE__DEPLOYED_ELEMENT :
+ return UMLPackage.DEPLOYMENT_TARGET__DEPLOYED_ELEMENT;
+ case UMLPackage.NODE__DEPLOYMENT :
+ return UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == DeploymentTarget.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.DEPLOYMENT_TARGET__DEPLOYED_ELEMENT :
+ return UMLPackage.NODE__DEPLOYED_ELEMENT;
+ case UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT :
+ return UMLPackage.NODE__DEPLOYMENT;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.NODE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.NODE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.NODE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.NODE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.NODE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.NODE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.NODE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.NODE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.NODE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.NODE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.NODE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.NODE___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.NODE___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.NODE___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.NODE___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.NODE___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.NODE___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.NODE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.NODE___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.NODE___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.NODE___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.NODE___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.NODE___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.NODE___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.NODE___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.NODE___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.NODE___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.NODE___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.NODE___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.NODE___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.NODE___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.NODE___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.NODE___PARENTS :
+ return parents();
+ case UMLPackage.NODE___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.NODE___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.NODE___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.NODE___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.NODE___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.NODE___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.NODE___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.NODE___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.NODE___GET_PARTS :
+ return getParts();
+ case UMLPackage.NODE___ALL_ROLES :
+ return allRoles();
+ case UMLPackage.NODE___GET_OWNED_PORTS :
+ return getOwnedPorts();
+ case UMLPackage.NODE___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.NODE___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ case UMLPackage.NODE___VALIDATE_PASSIVE_CLASS__DIAGNOSTICCHAIN_MAP :
+ return validatePassiveClass((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ case UMLPackage.NODE___IS_METACLASS :
+ return isMetaclass();
+ case UMLPackage.NODE___GET_EXTENSIONS :
+ return getExtensions();
+ case UMLPackage.NODE___GET_SUPER_CLASSES :
+ return getSuperClasses();
+ case UMLPackage.NODE___GET_DEPLOYED_ELEMENTS :
+ return getDeployedElements();
+ case UMLPackage.NODE___VALIDATE_INTERNAL_STRUCTURE__DIAGNOSTICCHAIN_MAP :
+ return validateInternalStructure(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.NODE___CREATE_COMMUNICATION_PATH__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_NODE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createCommunicationPath((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Node) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.NODE___GET_COMMUNICATION_PATHS :
+ return getCommunicationPaths();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.NODE__OWNED_COMMENT, UMLPackage.NODE__NAME_EXPRESSION,
+ UMLPackage.NODE__ELEMENT_IMPORT, UMLPackage.NODE__PACKAGE_IMPORT,
+ UMLPackage.NODE__OWNED_MEMBER, UMLPackage.NODE__TEMPLATE_BINDING,
+ UMLPackage.NODE__OWNED_TEMPLATE_SIGNATURE,
+ UMLPackage.NODE__COLLABORATION_USE, UMLPackage.NODE__GENERALIZATION,
+ UMLPackage.NODE__SUBSTITUTION, UMLPackage.NODE__INTERFACE_REALIZATION,
+ UMLPackage.NODE__DEPLOYMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Deployment createDeployment(String name) {
+ Deployment newDeployment = (Deployment) create(
+ UMLPackage.Literals.DEPLOYMENT);
+ getDeployments().add(newDeployment);
+ if (name != null)
+ newDeployment.setName(name);
+ return newDeployment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Deployment getDeployment(String name) {
+ return getDeployment(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Deployment getDeployment(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ deploymentLoop : for (Deployment deployment : getDeployments()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(deployment.getName())
+ : name.equals(deployment.getName())))
+ continue deploymentLoop;
+ return deployment;
+ }
+ return createOnDemand
+ ? createDeployment(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.NODE__DEPLOYMENT);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.NODE__OWNED_RULE, UMLPackage.NODE__OWNED_USE_CASE,
+ UMLPackage.NODE__OWNED_ATTRIBUTE, UMLPackage.NODE__OWNED_CONNECTOR,
+ UMLPackage.NODE__OWNED_BEHAVIOR, UMLPackage.NODE__OWNED_OPERATION,
+ UMLPackage.NODE__NESTED_CLASSIFIER, UMLPackage.NODE__OWNED_RECEPTION,
+ UMLPackage.NODE__NESTED_NODE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.NODE__NESTED_NODE);
+ }
+
+} //NodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ObjectFlowImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ObjectFlowImpl.java
new file mode 100644
index 00000000..f98e4350
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ObjectFlowImpl.java
@@ -0,0 +1,792 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ObjectFlowOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Object Flow</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ObjectFlowImpl#isMulticast <em>Is Multicast</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ObjectFlowImpl#isMultireceive <em>Is Multireceive</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ObjectFlowImpl#getSelection <em>Selection</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ObjectFlowImpl#getTransformation <em>Transformation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ObjectFlowImpl
+ extends ActivityEdgeImpl
+ implements ObjectFlow {
+
+ /**
+ * The default value of the '{@link #isMulticast() <em>Is Multicast</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMulticast()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_MULTICAST_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isMultireceive() <em>Is Multireceive</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMultireceive()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_MULTIRECEIVE_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObjectFlowImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.OBJECT_FLOW;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMulticast() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.OBJECT_FLOW__IS_MULTICAST - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_FLOW__IS_MULTICAST, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsMulticast(boolean newIsMulticast) {
+ eDynamicSet(
+ UMLPackage.OBJECT_FLOW__IS_MULTICAST - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_FLOW__IS_MULTICAST, newIsMulticast);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMultireceive() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.OBJECT_FLOW__IS_MULTIRECEIVE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_FLOW__IS_MULTIRECEIVE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsMultireceive(boolean newIsMultireceive) {
+ eDynamicSet(
+ UMLPackage.OBJECT_FLOW__IS_MULTIRECEIVE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_FLOW__IS_MULTIRECEIVE,
+ newIsMultireceive);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getTransformation() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.OBJECT_FLOW__TRANSFORMATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_FLOW__TRANSFORMATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetTransformation() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.OBJECT_FLOW__TRANSFORMATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_FLOW__TRANSFORMATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTransformation(Behavior newTransformation) {
+ eDynamicSet(
+ UMLPackage.OBJECT_FLOW__TRANSFORMATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_FLOW__TRANSFORMATION, newTransformation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getSelection() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.OBJECT_FLOW__SELECTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_FLOW__SELECTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetSelection() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.OBJECT_FLOW__SELECTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_FLOW__SELECTION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelection(Behavior newSelection) {
+ eDynamicSet(UMLPackage.OBJECT_FLOW__SELECTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_FLOW__SELECTION, newSelection);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCompatibleTypes(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ObjectFlowOperations.validateCompatibleTypes(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSameUpperBounds(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ObjectFlowOperations.validateSameUpperBounds(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTarget(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ObjectFlowOperations.validateTarget(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInputAndOutputParameter(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ObjectFlowOperations.validateInputAndOutputParameter(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoExecutableNodes(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ObjectFlowOperations.validateNoExecutableNodes(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTransformationBehavior(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ObjectFlowOperations.validateTransformationBehavior(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSelectionBehavior(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ObjectFlowOperations.validateSelectionBehavior(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateIsMulticastOrIsMultireceive(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ObjectFlowOperations.validateIsMulticastOrIsMultireceive(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.OBJECT_FLOW__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.OBJECT_FLOW__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.OBJECT_FLOW__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.OBJECT_FLOW__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.OBJECT_FLOW__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.OBJECT_FLOW__NAME :
+ return getName();
+ case UMLPackage.OBJECT_FLOW__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.OBJECT_FLOW__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.OBJECT_FLOW__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OBJECT_FLOW__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.OBJECT_FLOW__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.OBJECT_FLOW__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.OBJECT_FLOW__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.OBJECT_FLOW__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.OBJECT_FLOW__GUARD :
+ if (resolve)
+ return getGuard();
+ return basicGetGuard();
+ case UMLPackage.OBJECT_FLOW__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.OBJECT_FLOW__INTERRUPTS :
+ if (resolve)
+ return getInterrupts();
+ return basicGetInterrupts();
+ case UMLPackage.OBJECT_FLOW__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.OBJECT_FLOW__TARGET :
+ if (resolve)
+ return getTarget();
+ return basicGetTarget();
+ case UMLPackage.OBJECT_FLOW__SOURCE :
+ if (resolve)
+ return getSource();
+ return basicGetSource();
+ case UMLPackage.OBJECT_FLOW__REDEFINED_EDGE :
+ return getRedefinedEdges();
+ case UMLPackage.OBJECT_FLOW__WEIGHT :
+ if (resolve)
+ return getWeight();
+ return basicGetWeight();
+ case UMLPackage.OBJECT_FLOW__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.OBJECT_FLOW__IS_MULTICAST :
+ return isMulticast();
+ case UMLPackage.OBJECT_FLOW__IS_MULTIRECEIVE :
+ return isMultireceive();
+ case UMLPackage.OBJECT_FLOW__SELECTION :
+ if (resolve)
+ return getSelection();
+ return basicGetSelection();
+ case UMLPackage.OBJECT_FLOW__TRANSFORMATION :
+ if (resolve)
+ return getTransformation();
+ return basicGetTransformation();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.OBJECT_FLOW__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__GUARD :
+ setGuard((ValueSpecification) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__INTERRUPTS :
+ setInterrupts((InterruptibleActivityRegion) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__TARGET :
+ setTarget((ActivityNode) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__SOURCE :
+ setSource((ActivityNode) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__REDEFINED_EDGE :
+ getRedefinedEdges().clear();
+ getRedefinedEdges()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__WEIGHT :
+ setWeight((ValueSpecification) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__IS_MULTICAST :
+ setIsMulticast((Boolean) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__IS_MULTIRECEIVE :
+ setIsMultireceive((Boolean) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__SELECTION :
+ setSelection((Behavior) newValue);
+ return;
+ case UMLPackage.OBJECT_FLOW__TRANSFORMATION :
+ setTransformation((Behavior) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OBJECT_FLOW__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.OBJECT_FLOW__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.OBJECT_FLOW__NAME :
+ unsetName();
+ return;
+ case UMLPackage.OBJECT_FLOW__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.OBJECT_FLOW__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.OBJECT_FLOW__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.OBJECT_FLOW__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.OBJECT_FLOW__GUARD :
+ setGuard((ValueSpecification) null);
+ return;
+ case UMLPackage.OBJECT_FLOW__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.OBJECT_FLOW__INTERRUPTS :
+ setInterrupts((InterruptibleActivityRegion) null);
+ return;
+ case UMLPackage.OBJECT_FLOW__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.OBJECT_FLOW__TARGET :
+ setTarget((ActivityNode) null);
+ return;
+ case UMLPackage.OBJECT_FLOW__SOURCE :
+ setSource((ActivityNode) null);
+ return;
+ case UMLPackage.OBJECT_FLOW__REDEFINED_EDGE :
+ getRedefinedEdges().clear();
+ return;
+ case UMLPackage.OBJECT_FLOW__WEIGHT :
+ setWeight((ValueSpecification) null);
+ return;
+ case UMLPackage.OBJECT_FLOW__IS_MULTICAST :
+ setIsMulticast(IS_MULTICAST_EDEFAULT);
+ return;
+ case UMLPackage.OBJECT_FLOW__IS_MULTIRECEIVE :
+ setIsMultireceive(IS_MULTIRECEIVE_EDEFAULT);
+ return;
+ case UMLPackage.OBJECT_FLOW__SELECTION :
+ setSelection((Behavior) null);
+ return;
+ case UMLPackage.OBJECT_FLOW__TRANSFORMATION :
+ setTransformation((Behavior) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OBJECT_FLOW__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.OBJECT_FLOW__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.OBJECT_FLOW__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.OBJECT_FLOW__OWNER :
+ return isSetOwner();
+ case UMLPackage.OBJECT_FLOW__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.OBJECT_FLOW__NAME :
+ return isSetName();
+ case UMLPackage.OBJECT_FLOW__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.OBJECT_FLOW__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.OBJECT_FLOW__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.OBJECT_FLOW__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.OBJECT_FLOW__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.OBJECT_FLOW__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.OBJECT_FLOW__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.OBJECT_FLOW__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.OBJECT_FLOW__GUARD :
+ return basicGetGuard() != null;
+ case UMLPackage.OBJECT_FLOW__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.OBJECT_FLOW__INTERRUPTS :
+ return basicGetInterrupts() != null;
+ case UMLPackage.OBJECT_FLOW__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.OBJECT_FLOW__TARGET :
+ return basicGetTarget() != null;
+ case UMLPackage.OBJECT_FLOW__SOURCE :
+ return basicGetSource() != null;
+ case UMLPackage.OBJECT_FLOW__REDEFINED_EDGE :
+ return !getRedefinedEdges().isEmpty();
+ case UMLPackage.OBJECT_FLOW__WEIGHT :
+ return basicGetWeight() != null;
+ case UMLPackage.OBJECT_FLOW__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.OBJECT_FLOW__IS_MULTICAST :
+ return isMulticast() != IS_MULTICAST_EDEFAULT;
+ case UMLPackage.OBJECT_FLOW__IS_MULTIRECEIVE :
+ return isMultireceive() != IS_MULTIRECEIVE_EDEFAULT;
+ case UMLPackage.OBJECT_FLOW__SELECTION :
+ return basicGetSelection() != null;
+ case UMLPackage.OBJECT_FLOW__TRANSFORMATION :
+ return basicGetTransformation() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.OBJECT_FLOW___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.OBJECT_FLOW___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.OBJECT_FLOW___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.OBJECT_FLOW___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.OBJECT_FLOW___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___GET_MODEL :
+ return getModel();
+ case UMLPackage.OBJECT_FLOW___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.OBJECT_FLOW___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.OBJECT_FLOW___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.OBJECT_FLOW___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.OBJECT_FLOW___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.OBJECT_FLOW___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.OBJECT_FLOW___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.OBJECT_FLOW___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.OBJECT_FLOW___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.OBJECT_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___GET_LABEL :
+ return getLabel();
+ case UMLPackage.OBJECT_FLOW___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.OBJECT_FLOW___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.OBJECT_FLOW___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.OBJECT_FLOW___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OBJECT_FLOW___SEPARATOR :
+ return separator();
+ case UMLPackage.OBJECT_FLOW___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.OBJECT_FLOW___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_SOURCE_AND_TARGET__DIAGNOSTICCHAIN_MAP :
+ return validateSourceAndTarget(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_INPUT_AND_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validateInputAndOutputParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_NO_EXECUTABLE_NODES__DIAGNOSTICCHAIN_MAP :
+ return validateNoExecutableNodes(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_TRANSFORMATION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateTransformationBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateSelectionBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_COMPATIBLE_TYPES__DIAGNOSTICCHAIN_MAP :
+ return validateCompatibleTypes(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_SAME_UPPER_BOUNDS__DIAGNOSTICCHAIN_MAP :
+ return validateSameUpperBounds(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_TARGET__DIAGNOSTICCHAIN_MAP :
+ return validateTarget((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_FLOW___VALIDATE_IS_MULTICAST_OR_IS_MULTIRECEIVE__DIAGNOSTICCHAIN_MAP :
+ return validateIsMulticastOrIsMultireceive(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ObjectFlowImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ObjectNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ObjectNodeImpl.java
new file mode 100644
index 00000000..78919dfc
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ObjectNodeImpl.java
@@ -0,0 +1,958 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.ObjectNodeOrderingKind;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.TypedElement;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ObjectNodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Object Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ObjectNodeImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ObjectNodeImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ObjectNodeImpl#getInStates <em>In State</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ObjectNodeImpl#isControlType <em>Is Control Type</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ObjectNodeImpl#getOrdering <em>Ordering</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ObjectNodeImpl#getSelection <em>Selection</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ObjectNodeImpl#getUpperBound <em>Upper Bound</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ObjectNodeImpl
+ extends ActivityNodeImpl
+ implements ObjectNode {
+
+ /**
+ * The default value of the '{@link #isControlType() <em>Is Control Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isControlType()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_CONTROL_TYPE_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #getOrdering() <em>Ordering</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrdering()
+ * @generated
+ * @ordered
+ */
+ protected static final ObjectNodeOrderingKind ORDERING_EDEFAULT = ObjectNodeOrderingKind.FIFO_LITERAL;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObjectNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.OBJECT_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getType() {
+ return (Type) eDynamicGet(
+ UMLPackage.OBJECT_NODE__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type basicGetType() {
+ return (Type) eDynamicGet(
+ UMLPackage.OBJECT_NODE__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(Type newType) {
+ eDynamicSet(UMLPackage.OBJECT_NODE__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, newType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.OBJECT_NODE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.OBJECT_NODE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectNodeOrderingKind getOrdering() {
+ return (ObjectNodeOrderingKind) eDynamicGet(
+ UMLPackage.OBJECT_NODE__ORDERING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_NODE__ORDERING, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOrdering(ObjectNodeOrderingKind newOrdering) {
+ eDynamicSet(UMLPackage.OBJECT_NODE__ORDERING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_NODE__ORDERING, newOrdering);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isControlType() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.OBJECT_NODE__IS_CONTROL_TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_NODE__IS_CONTROL_TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsControlType(boolean newIsControlType) {
+ eDynamicSet(
+ UMLPackage.OBJECT_NODE__IS_CONTROL_TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_NODE__IS_CONTROL_TYPE, newIsControlType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getUpperBound() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.OBJECT_NODE__UPPER_BOUND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_NODE__UPPER_BOUND, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetUpperBound() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.OBJECT_NODE__UPPER_BOUND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_NODE__UPPER_BOUND, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetUpperBound(
+ ValueSpecification newUpperBound, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newUpperBound,
+ UMLPackage.OBJECT_NODE__UPPER_BOUND, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpperBound(ValueSpecification newUpperBound) {
+ eDynamicSet(UMLPackage.OBJECT_NODE__UPPER_BOUND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_NODE__UPPER_BOUND, newUpperBound);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createUpperBound(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newUpperBound = (ValueSpecification) create(eClass);
+ setUpperBound(newUpperBound);
+ if (name != null)
+ newUpperBound.setName(name);
+ if (type != null)
+ newUpperBound.setType(type);
+ return newUpperBound;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<State> getInStates() {
+ return (EList<State>) eDynamicGet(
+ UMLPackage.OBJECT_NODE__IN_STATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_NODE__IN_STATE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State getInState(String name) {
+ return getInState(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State getInState(String name, boolean ignoreCase, EClass eClass) {
+ inStateLoop : for (State inState : getInStates()) {
+ if (eClass != null && !eClass.isInstance(inState))
+ continue inStateLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(inState.getName())
+ : name.equals(inState.getName())))
+ continue inStateLoop;
+ return inState;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getSelection() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.OBJECT_NODE__SELECTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_NODE__SELECTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetSelection() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.OBJECT_NODE__SELECTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_NODE__SELECTION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelection(Behavior newSelection) {
+ eDynamicSet(UMLPackage.OBJECT_NODE__SELECTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OBJECT_NODE__SELECTION, newSelection);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateObjectFlowEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ObjectNodeOperations.validateObjectFlowEdges(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSelectionBehavior(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ObjectNodeOperations.validateSelectionBehavior(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInputOutputParameter(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ObjectNodeOperations.validateInputOutputParameter(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.OBJECT_NODE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OBJECT_NODE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OBJECT_NODE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.OBJECT_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OBJECT_NODE__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.OBJECT_NODE__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.OBJECT_NODE__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.OBJECT_NODE__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OBJECT_NODE__UPPER_BOUND :
+ return basicSetUpperBound(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.OBJECT_NODE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.OBJECT_NODE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.OBJECT_NODE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.OBJECT_NODE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.OBJECT_NODE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.OBJECT_NODE__NAME :
+ return getName();
+ case UMLPackage.OBJECT_NODE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.OBJECT_NODE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.OBJECT_NODE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OBJECT_NODE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.OBJECT_NODE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.OBJECT_NODE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.OBJECT_NODE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.OBJECT_NODE__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.OBJECT_NODE__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.OBJECT_NODE__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.OBJECT_NODE__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.OBJECT_NODE__INCOMING :
+ return getIncomings();
+ case UMLPackage.OBJECT_NODE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.OBJECT_NODE__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.OBJECT_NODE__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.OBJECT_NODE__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.OBJECT_NODE__IN_STATE :
+ return getInStates();
+ case UMLPackage.OBJECT_NODE__IS_CONTROL_TYPE :
+ return isControlType();
+ case UMLPackage.OBJECT_NODE__ORDERING :
+ return getOrdering();
+ case UMLPackage.OBJECT_NODE__SELECTION :
+ if (resolve)
+ return getSelection();
+ return basicGetSelection();
+ case UMLPackage.OBJECT_NODE__UPPER_BOUND :
+ if (resolve)
+ return getUpperBound();
+ return basicGetUpperBound();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.OBJECT_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__IN_STATE :
+ getInStates().clear();
+ getInStates().addAll((Collection<? extends State>) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__IS_CONTROL_TYPE :
+ setIsControlType((Boolean) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__ORDERING :
+ setOrdering((ObjectNodeOrderingKind) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__SELECTION :
+ setSelection((Behavior) newValue);
+ return;
+ case UMLPackage.OBJECT_NODE__UPPER_BOUND :
+ setUpperBound((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OBJECT_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.OBJECT_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.OBJECT_NODE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.OBJECT_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.OBJECT_NODE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.OBJECT_NODE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.OBJECT_NODE__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.OBJECT_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.OBJECT_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.OBJECT_NODE__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.OBJECT_NODE__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.OBJECT_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.OBJECT_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.OBJECT_NODE__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.OBJECT_NODE__IN_STATE :
+ getInStates().clear();
+ return;
+ case UMLPackage.OBJECT_NODE__IS_CONTROL_TYPE :
+ setIsControlType(IS_CONTROL_TYPE_EDEFAULT);
+ return;
+ case UMLPackage.OBJECT_NODE__ORDERING :
+ setOrdering(ORDERING_EDEFAULT);
+ return;
+ case UMLPackage.OBJECT_NODE__SELECTION :
+ setSelection((Behavior) null);
+ return;
+ case UMLPackage.OBJECT_NODE__UPPER_BOUND :
+ setUpperBound((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OBJECT_NODE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.OBJECT_NODE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.OBJECT_NODE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.OBJECT_NODE__OWNER :
+ return isSetOwner();
+ case UMLPackage.OBJECT_NODE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.OBJECT_NODE__NAME :
+ return isSetName();
+ case UMLPackage.OBJECT_NODE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.OBJECT_NODE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.OBJECT_NODE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.OBJECT_NODE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.OBJECT_NODE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.OBJECT_NODE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.OBJECT_NODE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.OBJECT_NODE__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.OBJECT_NODE__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.OBJECT_NODE__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.OBJECT_NODE__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.OBJECT_NODE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.OBJECT_NODE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.OBJECT_NODE__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.OBJECT_NODE__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.OBJECT_NODE__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.OBJECT_NODE__IN_STATE :
+ return !getInStates().isEmpty();
+ case UMLPackage.OBJECT_NODE__IS_CONTROL_TYPE :
+ return isControlType() != IS_CONTROL_TYPE_EDEFAULT;
+ case UMLPackage.OBJECT_NODE__ORDERING :
+ return getOrdering() != ORDERING_EDEFAULT;
+ case UMLPackage.OBJECT_NODE__SELECTION :
+ return basicGetSelection() != null;
+ case UMLPackage.OBJECT_NODE__UPPER_BOUND :
+ return basicGetUpperBound() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == TypedElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.OBJECT_NODE__TYPE :
+ return UMLPackage.TYPED_ELEMENT__TYPE;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == TypedElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.TYPED_ELEMENT__TYPE :
+ return UMLPackage.OBJECT_NODE__TYPE;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.OBJECT_NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.OBJECT_NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.OBJECT_NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.OBJECT_NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.OBJECT_NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.OBJECT_NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.OBJECT_NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.OBJECT_NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.OBJECT_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.OBJECT_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.OBJECT_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.OBJECT_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.OBJECT_NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.OBJECT_NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.OBJECT_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.OBJECT_NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.OBJECT_NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.OBJECT_NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.OBJECT_NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OBJECT_NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.OBJECT_NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.OBJECT_NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.OBJECT_NODE___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.OBJECT_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validateInputOutputParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateSelectionBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OBJECT_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateObjectFlowEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.OBJECT_NODE__OWNED_COMMENT,
+ UMLPackage.OBJECT_NODE__NAME_EXPRESSION,
+ UMLPackage.OBJECT_NODE__UPPER_BOUND};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.OBJECT_NODE__UPPER_BOUND);
+ }
+
+} //ObjectNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ObservationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ObservationImpl.java
new file mode 100644
index 00000000..cc764cb3
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ObservationImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.Observation;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Observation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class ObservationImpl
+ extends PackageableElementImpl
+ implements Observation {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObservationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.OBSERVATION;
+ }
+
+} //ObservationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OccurrenceSpecificationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OccurrenceSpecificationImpl.java
new file mode 100644
index 00000000..190fdbb9
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OccurrenceSpecificationImpl.java
@@ -0,0 +1,639 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 297216, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.OccurrenceSpecificationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Occurrence Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OccurrenceSpecificationImpl#getToAfters <em>To After</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OccurrenceSpecificationImpl#getToBefores <em>To Before</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OccurrenceSpecificationImpl#getCovereds <em>Covered</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OccurrenceSpecificationImpl
+ extends InteractionFragmentImpl
+ implements OccurrenceSpecification {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OccurrenceSpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.OCCURRENCE_SPECIFICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<GeneralOrdering> getToBefores() {
+ return (EList<GeneralOrdering>) eDynamicGet(
+ UMLPackage.OCCURRENCE_SPECIFICATION__TO_BEFORE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OCCURRENCE_SPECIFICATION__TO_BEFORE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering getToBefore(String name) {
+ return getToBefore(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering getToBefore(String name, boolean ignoreCase) {
+ toBeforeLoop : for (GeneralOrdering toBefore : getToBefores()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(toBefore.getName())
+ : name.equals(toBefore.getName())))
+ continue toBeforeLoop;
+ return toBefore;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<GeneralOrdering> getToAfters() {
+ return (EList<GeneralOrdering>) eDynamicGet(
+ UMLPackage.OCCURRENCE_SPECIFICATION__TO_AFTER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OCCURRENCE_SPECIFICATION__TO_AFTER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering getToAfter(String name) {
+ return getToAfter(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering getToAfter(String name, boolean ignoreCase) {
+ toAfterLoop : for (GeneralOrdering toAfter : getToAfters()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(toAfter.getName())
+ : name.equals(toAfter.getName())))
+ continue toAfterLoop;
+ return toAfter;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Lifeline> getCovereds() {
+ return (EList<Lifeline>) eDynamicGet(
+ UMLPackage.OCCURRENCE_SPECIFICATION__COVERED
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__COVERED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Lifeline getCovered(String name) {
+ return getCovered(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Lifeline getCovered(String name, boolean ignoreCase) {
+ coveredLoop : for (Lifeline covered : getCovereds()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(covered.getName())
+ : name.equals(covered.getName())))
+ continue coveredLoop;
+ return covered;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetCovereds() {
+ return !getCovereds().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lifeline getCovered() {
+ return OccurrenceSpecificationOperations.getCovered(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCovered(Lifeline value) {
+ OccurrenceSpecificationOperations.setCovered(this, value);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.OCCURRENCE_SPECIFICATION__COVERED :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getCovereds())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetEnclosingOperand((InteractionOperand) otherEnd,
+ msgs);
+ case UMLPackage.OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetEnclosingInteraction((Interaction) otherEnd,
+ msgs);
+ case UMLPackage.OCCURRENCE_SPECIFICATION__TO_AFTER :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getToAfters())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getToBefores())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OCCURRENCE_SPECIFICATION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OCCURRENCE_SPECIFICATION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.OCCURRENCE_SPECIFICATION__COVERED :
+ return ((InternalEList<?>) getCovereds()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ return basicSetEnclosingOperand(null, msgs);
+ case UMLPackage.OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ return basicSetEnclosingInteraction(null, msgs);
+ case UMLPackage.OCCURRENCE_SPECIFICATION__GENERAL_ORDERING :
+ return ((InternalEList<?>) getGeneralOrderings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OCCURRENCE_SPECIFICATION__TO_AFTER :
+ return ((InternalEList<?>) getToAfters()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ return ((InternalEList<?>) getToBefores()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__NAME :
+ return getName();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__COVERED :
+ return getCovereds();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__TO_AFTER :
+ return getToAfters();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ return getToBefores();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__TO_AFTER :
+ getToAfters().clear();
+ getToAfters()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ getToBefores().clear();
+ getToBefores()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__TO_AFTER :
+ getToAfters().clear();
+ return;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ getToBefores().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OCCURRENCE_SPECIFICATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__NAME :
+ return isSetName();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.OCCURRENCE_SPECIFICATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__COVERED :
+ return isSetCovereds();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.OCCURRENCE_SPECIFICATION__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__TO_AFTER :
+ return !getToAfters().isEmpty();
+ case UMLPackage.OCCURRENCE_SPECIFICATION__TO_BEFORE :
+ return !getToBefores().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.OCCURRENCE_SPECIFICATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___SEPARATOR :
+ return separator();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___GET_COVERED :
+ return getCovered();
+ case UMLPackage.OCCURRENCE_SPECIFICATION___SET_COVERED__LIFELINE :
+ setCovered((Lifeline) arguments.get(0));
+ return null;
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //OccurrenceSpecificationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OpaqueActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OpaqueActionImpl.java
new file mode 100644
index 00000000..0372beef
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OpaqueActionImpl.java
@@ -0,0 +1,973 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ * Kenn Hussey - 519572
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.OpaqueActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Opaque Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OpaqueActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OpaqueActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OpaqueActionImpl#getBodies <em>Body</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OpaqueActionImpl#getInputValues <em>Input Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OpaqueActionImpl#getLanguages <em>Language</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OpaqueActionImpl#getOutputValues <em>Output Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OpaqueActionImpl
+ extends ActionImpl
+ implements OpaqueAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpaqueActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.OPAQUE_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this, UMLPackage.OPAQUE_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.OPAQUE_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this, UMLPackage.OPAQUE_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.OPAQUE_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<String> getBodies() {
+ return (EList<String>) eDynamicGet(
+ UMLPackage.OPAQUE_ACTION__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_ACTION__BODY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetBodies() {
+ eDynamicUnset(UMLPackage.OPAQUE_ACTION__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_ACTION__BODY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetBodies() {
+ return eDynamicIsSet(
+ UMLPackage.OPAQUE_ACTION__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_ACTION__BODY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<String> getLanguages() {
+ return (EList<String>) eDynamicGet(
+ UMLPackage.OPAQUE_ACTION__LANGUAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_ACTION__LANGUAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetLanguages() {
+ eDynamicUnset(
+ UMLPackage.OPAQUE_ACTION__LANGUAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_ACTION__LANGUAGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetLanguages() {
+ return eDynamicIsSet(
+ UMLPackage.OPAQUE_ACTION__LANGUAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_ACTION__LANGUAGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InputPin> getInputValues() {
+ return (EList<InputPin>) eDynamicGet(
+ UMLPackage.OPAQUE_ACTION__INPUT_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_ACTION__INPUT_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createInputValue(String name, Type type, EClass eClass) {
+ InputPin newInputValue = (InputPin) create(eClass);
+ getInputValues().add(newInputValue);
+ if (name != null)
+ newInputValue.setName(name);
+ if (type != null)
+ newInputValue.setType(type);
+ return newInputValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createInputValue(String name, Type type) {
+ return createInputValue(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getInputValue(String name, Type type) {
+ return getInputValue(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getInputValue(String name, Type type, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ inputValueLoop : for (InputPin inputValue : getInputValues()) {
+ if (eClass != null && !eClass.isInstance(inputValue))
+ continue inputValueLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(inputValue.getName())
+ : name.equals(inputValue.getName())))
+ continue inputValueLoop;
+ if (type != null && !type.equals(inputValue.getType()))
+ continue inputValueLoop;
+ return inputValue;
+ }
+ return createOnDemand && eClass != null
+ ? createInputValue(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public InputPin getInputValue(String name, Type type, boolean ignoreCase,
+ EClass eClass) {
+ return getInputValue(name, type, ignoreCase, eClass, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputPin> getOutputValues() {
+ return (EList<OutputPin>) eDynamicGet(
+ UMLPackage.OPAQUE_ACTION__OUTPUT_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_ACTION__OUTPUT_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createOutputValue(String name, Type type) {
+ OutputPin newOutputValue = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ getOutputValues().add(newOutputValue);
+ if (name != null)
+ newOutputValue.setName(name);
+ if (type != null)
+ newOutputValue.setType(type);
+ return newOutputValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getOutputValue(String name, Type type) {
+ return getOutputValue(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getOutputValue(String name, Type type, boolean ignoreCase,
+ boolean createOnDemand) {
+ outputValueLoop : for (OutputPin outputValue : getOutputValues()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(outputValue.getName())
+ : name.equals(outputValue.getName())))
+ continue outputValueLoop;
+ if (type != null && !type.equals(outputValue.getType()))
+ continue outputValueLoop;
+ return outputValue;
+ }
+ return createOnDemand
+ ? createOutputValue(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLanguageBodySize(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return OpaqueActionOperations.validateLanguageBodySize(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public OutputPin getOutputValue(String name, Type type,
+ boolean ignoreCase) {
+ return getOutputValue(name, type, ignoreCase, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.OPAQUE_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPAQUE_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPAQUE_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.OPAQUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPAQUE_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.OPAQUE_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.OPAQUE_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.OPAQUE_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPAQUE_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.OPAQUE_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPAQUE_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPAQUE_ACTION__INPUT_VALUE :
+ return ((InternalEList<?>) getInputValues())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPAQUE_ACTION__OUTPUT_VALUE :
+ return ((InternalEList<?>) getOutputValues())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.OPAQUE_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.OPAQUE_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.OPAQUE_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.OPAQUE_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.OPAQUE_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.OPAQUE_ACTION__NAME :
+ return getName();
+ case UMLPackage.OPAQUE_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.OPAQUE_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.OPAQUE_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OPAQUE_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.OPAQUE_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.OPAQUE_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.OPAQUE_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.OPAQUE_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.OPAQUE_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.OPAQUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.OPAQUE_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.OPAQUE_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.OPAQUE_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.OPAQUE_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.OPAQUE_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.OPAQUE_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.OPAQUE_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.OPAQUE_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.OPAQUE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.OPAQUE_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.OPAQUE_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.OPAQUE_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.OPAQUE_ACTION__BODY :
+ return getBodies();
+ case UMLPackage.OPAQUE_ACTION__INPUT_VALUE :
+ return getInputValues();
+ case UMLPackage.OPAQUE_ACTION__LANGUAGE :
+ return getLanguages();
+ case UMLPackage.OPAQUE_ACTION__OUTPUT_VALUE :
+ return getOutputValues();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.OPAQUE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__BODY :
+ getBodies().clear();
+ getBodies().addAll((Collection<? extends String>) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__INPUT_VALUE :
+ getInputValues().clear();
+ getInputValues()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__LANGUAGE :
+ getLanguages().clear();
+ getLanguages().addAll((Collection<? extends String>) newValue);
+ return;
+ case UMLPackage.OPAQUE_ACTION__OUTPUT_VALUE :
+ getOutputValues().clear();
+ getOutputValues()
+ .addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OPAQUE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.OPAQUE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.OPAQUE_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.OPAQUE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.OPAQUE_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.OPAQUE_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.OPAQUE_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.OPAQUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.OPAQUE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.OPAQUE_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.OPAQUE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.OPAQUE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.OPAQUE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.OPAQUE_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.OPAQUE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.OPAQUE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.OPAQUE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.OPAQUE_ACTION__BODY :
+ unsetBodies();
+ return;
+ case UMLPackage.OPAQUE_ACTION__INPUT_VALUE :
+ getInputValues().clear();
+ return;
+ case UMLPackage.OPAQUE_ACTION__LANGUAGE :
+ unsetLanguages();
+ return;
+ case UMLPackage.OPAQUE_ACTION__OUTPUT_VALUE :
+ getOutputValues().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OPAQUE_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.OPAQUE_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.OPAQUE_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.OPAQUE_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.OPAQUE_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.OPAQUE_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.OPAQUE_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.OPAQUE_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.OPAQUE_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.OPAQUE_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.OPAQUE_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.OPAQUE_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.OPAQUE_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.OPAQUE_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.OPAQUE_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.OPAQUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.OPAQUE_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.OPAQUE_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.OPAQUE_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.OPAQUE_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.OPAQUE_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.OPAQUE_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.OPAQUE_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.OPAQUE_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.OPAQUE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.OPAQUE_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.OPAQUE_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.OPAQUE_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.OPAQUE_ACTION__BODY :
+ return isSetBodies();
+ case UMLPackage.OPAQUE_ACTION__INPUT_VALUE :
+ return !getInputValues().isEmpty();
+ case UMLPackage.OPAQUE_ACTION__LANGUAGE :
+ return isSetLanguages();
+ case UMLPackage.OPAQUE_ACTION__OUTPUT_VALUE :
+ return !getOutputValues().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.OPAQUE_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.OPAQUE_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.OPAQUE_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.OPAQUE_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.OPAQUE_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OPAQUE_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.OPAQUE_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.OPAQUE_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.OPAQUE_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.OPAQUE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.OPAQUE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.OPAQUE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.OPAQUE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OPAQUE_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OPAQUE_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.OPAQUE_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.OPAQUE_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.OPAQUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.OPAQUE_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.OPAQUE_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.OPAQUE_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.OPAQUE_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.OPAQUE_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OPAQUE_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.OPAQUE_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.OPAQUE_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.OPAQUE_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.OPAQUE_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.OPAQUE_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.OPAQUE_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.OPAQUE_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.OPAQUE_ACTION___VALIDATE_LANGUAGE_BODY_SIZE__DIAGNOSTICCHAIN_MAP :
+ return validateLanguageBodySize(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.OPAQUE_ACTION__INPUT_VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.OPAQUE_ACTION__INPUT_VALUE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.OPAQUE_ACTION__OUTPUT_VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.OPAQUE_ACTION__OUTPUT_VALUE);
+ }
+
+} //OpaqueActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OpaqueBehaviorImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OpaqueBehaviorImpl.java
new file mode 100644
index 00000000..8e320e99
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OpaqueBehaviorImpl.java
@@ -0,0 +1,792 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ * Kenn Hussey - 519572
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Opaque Behavior</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OpaqueBehaviorImpl#getBodies <em>Body</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OpaqueBehaviorImpl#getLanguages <em>Language</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OpaqueBehaviorImpl
+ extends BehaviorImpl
+ implements OpaqueBehavior {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpaqueBehaviorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.OPAQUE_BEHAVIOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<String> getBodies() {
+ return (EList<String>) eDynamicGet(
+ UMLPackage.OPAQUE_BEHAVIOR__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_BEHAVIOR__BODY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetBodies() {
+ eDynamicUnset(UMLPackage.OPAQUE_BEHAVIOR__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_BEHAVIOR__BODY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetBodies() {
+ return eDynamicIsSet(
+ UMLPackage.OPAQUE_BEHAVIOR__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_BEHAVIOR__BODY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<String> getLanguages() {
+ return (EList<String>) eDynamicGet(
+ UMLPackage.OPAQUE_BEHAVIOR__LANGUAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_BEHAVIOR__LANGUAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetLanguages() {
+ eDynamicUnset(
+ UMLPackage.OPAQUE_BEHAVIOR__LANGUAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_BEHAVIOR__LANGUAGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetLanguages() {
+ return eDynamicIsSet(
+ UMLPackage.OPAQUE_BEHAVIOR__LANGUAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_BEHAVIOR__LANGUAGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.OPAQUE_BEHAVIOR__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.OPAQUE_BEHAVIOR__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.OPAQUE_BEHAVIOR__NAME :
+ return getName();
+ case UMLPackage.OPAQUE_BEHAVIOR__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.OPAQUE_BEHAVIOR__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.OPAQUE_BEHAVIOR__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OPAQUE_BEHAVIOR__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.OPAQUE_BEHAVIOR__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.OPAQUE_BEHAVIOR__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.OPAQUE_BEHAVIOR__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.OPAQUE_BEHAVIOR__MEMBER :
+ return getMembers();
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.OPAQUE_BEHAVIOR__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.OPAQUE_BEHAVIOR__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.OPAQUE_BEHAVIOR__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.OPAQUE_BEHAVIOR__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.OPAQUE_BEHAVIOR__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.OPAQUE_BEHAVIOR__FEATURE :
+ return getFeatures();
+ case UMLPackage.OPAQUE_BEHAVIOR__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.OPAQUE_BEHAVIOR__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.OPAQUE_BEHAVIOR__GENERAL :
+ return getGenerals();
+ case UMLPackage.OPAQUE_BEHAVIOR__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.OPAQUE_BEHAVIOR__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.OPAQUE_BEHAVIOR__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.OPAQUE_BEHAVIOR__USE_CASE :
+ return getUseCases();
+ case UMLPackage.OPAQUE_BEHAVIOR__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.OPAQUE_BEHAVIOR__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.OPAQUE_BEHAVIOR__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.OPAQUE_BEHAVIOR__PART :
+ return getParts();
+ case UMLPackage.OPAQUE_BEHAVIOR__ROLE :
+ return getRoles();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_PORT :
+ return getOwnedPorts();
+ case UMLPackage.OPAQUE_BEHAVIOR__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.OPAQUE_BEHAVIOR__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_OPERATION :
+ return getOwnedOperations();
+ case UMLPackage.OPAQUE_BEHAVIOR__EXTENSION :
+ return getExtensions();
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_ACTIVE :
+ return isActive();
+ case UMLPackage.OPAQUE_BEHAVIOR__NESTED_CLASSIFIER :
+ return getNestedClassifiers();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_RECEPTION :
+ return getOwnedReceptions();
+ case UMLPackage.OPAQUE_BEHAVIOR__SUPER_CLASS :
+ return getSuperClasses();
+ case UMLPackage.OPAQUE_BEHAVIOR__SPECIFICATION :
+ if (resolve)
+ return getSpecification();
+ return basicGetSpecification();
+ case UMLPackage.OPAQUE_BEHAVIOR__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_REENTRANT :
+ return isReentrant();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_PARAMETER :
+ return getOwnedParameters();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_PARAMETER_SET :
+ return getOwnedParameterSets();
+ case UMLPackage.OPAQUE_BEHAVIOR__POSTCONDITION :
+ return getPostconditions();
+ case UMLPackage.OPAQUE_BEHAVIOR__PRECONDITION :
+ return getPreconditions();
+ case UMLPackage.OPAQUE_BEHAVIOR__REDEFINED_BEHAVIOR :
+ return getRedefinedBehaviors();
+ case UMLPackage.OPAQUE_BEHAVIOR__BODY :
+ return getBodies();
+ case UMLPackage.OPAQUE_BEHAVIOR__LANGUAGE :
+ return getLanguages();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.OPAQUE_BEHAVIOR__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_ACTIVE :
+ setIsActive((Boolean) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ getNestedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ getOwnedReceptions()
+ .addAll((Collection<? extends Reception>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__SUPER_CLASS :
+ getSuperClasses().clear();
+ getSuperClasses().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Class>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__SPECIFICATION :
+ setSpecification((BehavioralFeature) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_REENTRANT :
+ setIsReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ getOwnedParameters()
+ .addAll((Collection<? extends Parameter>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ getOwnedParameterSets()
+ .addAll((Collection<? extends ParameterSet>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__POSTCONDITION :
+ getPostconditions().clear();
+ getPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__PRECONDITION :
+ getPreconditions().clear();
+ getPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__REDEFINED_BEHAVIOR :
+ getRedefinedBehaviors().clear();
+ getRedefinedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__BODY :
+ getBodies().clear();
+ getBodies().addAll((Collection<? extends String>) newValue);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__LANGUAGE :
+ getLanguages().clear();
+ getLanguages().addAll((Collection<? extends String>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OPAQUE_BEHAVIOR__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__NAME :
+ unsetName();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_ACTIVE :
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__SUPER_CLASS :
+ getSuperClasses().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__SPECIFICATION :
+ setSpecification((BehavioralFeature) null);
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_REENTRANT :
+ unsetIsReentrant();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__POSTCONDITION :
+ getPostconditions().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__PRECONDITION :
+ getPreconditions().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__REDEFINED_BEHAVIOR :
+ getRedefinedBehaviors().clear();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__BODY :
+ unsetBodies();
+ return;
+ case UMLPackage.OPAQUE_BEHAVIOR__LANGUAGE :
+ unsetLanguages();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OPAQUE_BEHAVIOR__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNER :
+ return isSetOwner();
+ case UMLPackage.OPAQUE_BEHAVIOR__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__NAME :
+ return isSetName();
+ case UMLPackage.OPAQUE_BEHAVIOR__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.OPAQUE_BEHAVIOR__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.OPAQUE_BEHAVIOR__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.OPAQUE_BEHAVIOR__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.OPAQUE_BEHAVIOR__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__MEMBER :
+ return isSetMembers();
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.OPAQUE_BEHAVIOR__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.OPAQUE_BEHAVIOR__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.OPAQUE_BEHAVIOR__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.OPAQUE_BEHAVIOR__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.OPAQUE_BEHAVIOR__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.OPAQUE_BEHAVIOR__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.OPAQUE_BEHAVIOR__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.OPAQUE_BEHAVIOR__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__GENERAL :
+ return isSetGenerals();
+ case UMLPackage.OPAQUE_BEHAVIOR__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_ABSTRACT :
+ return isSetIsAbstract();
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.OPAQUE_BEHAVIOR__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_ATTRIBUTE :
+ return isSetOwnedAttributes();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__ROLE :
+ return isSetRoles();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_PORT :
+ return !getOwnedPorts().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.OPAQUE_BEHAVIOR__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__EXTENSION :
+ return !getExtensions().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_ACTIVE :
+ return isActive() != IS_ACTIVE_EDEFAULT;
+ case UMLPackage.OPAQUE_BEHAVIOR__NESTED_CLASSIFIER :
+ return !getNestedClassifiers().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_RECEPTION :
+ return !getOwnedReceptions().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__SUPER_CLASS :
+ return isSetSuperClasses();
+ case UMLPackage.OPAQUE_BEHAVIOR__SPECIFICATION :
+ return basicGetSpecification() != null;
+ case UMLPackage.OPAQUE_BEHAVIOR__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.OPAQUE_BEHAVIOR__IS_REENTRANT :
+ return isSetIsReentrant();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_PARAMETER :
+ return !getOwnedParameters().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__OWNED_PARAMETER_SET :
+ return !getOwnedParameterSets().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__POSTCONDITION :
+ return !getPostconditions().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__PRECONDITION :
+ return !getPreconditions().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__REDEFINED_BEHAVIOR :
+ return !getRedefinedBehaviors().isEmpty();
+ case UMLPackage.OPAQUE_BEHAVIOR__BODY :
+ return isSetBodies();
+ case UMLPackage.OPAQUE_BEHAVIOR__LANGUAGE :
+ return isSetLanguages();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //OpaqueBehaviorImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OpaqueExpressionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OpaqueExpressionImpl.java
new file mode 100644
index 00000000..9e4f5cab
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OpaqueExpressionImpl.java
@@ -0,0 +1,669 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.OpaqueExpressionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Opaque Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OpaqueExpressionImpl#getBehavior <em>Behavior</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OpaqueExpressionImpl#getBodies <em>Body</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OpaqueExpressionImpl#getLanguages <em>Language</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OpaqueExpressionImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OpaqueExpressionImpl
+ extends ValueSpecificationImpl
+ implements OpaqueExpression {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpaqueExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.OPAQUE_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<String> getBodies() {
+ return (EList<String>) eDynamicGet(
+ UMLPackage.OPAQUE_EXPRESSION__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_EXPRESSION__BODY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetBodies() {
+ eDynamicUnset(
+ UMLPackage.OPAQUE_EXPRESSION__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_EXPRESSION__BODY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetBodies() {
+ return eDynamicIsSet(
+ UMLPackage.OPAQUE_EXPRESSION__BODY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_EXPRESSION__BODY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<String> getLanguages() {
+ return (EList<String>) eDynamicGet(
+ UMLPackage.OPAQUE_EXPRESSION__LANGUAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_EXPRESSION__LANGUAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetLanguages() {
+ eDynamicUnset(
+ UMLPackage.OPAQUE_EXPRESSION__LANGUAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_EXPRESSION__LANGUAGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetLanguages() {
+ return eDynamicIsSet(
+ UMLPackage.OPAQUE_EXPRESSION__LANGUAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_EXPRESSION__LANGUAGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter getResult() {
+ Parameter result = basicGetResult();
+ return result != null && result.eIsProxy()
+ ? (Parameter) eResolveProxy((InternalEObject) result)
+ : result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter basicGetResult() {
+ return OpaqueExpressionOperations.getResult(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getBehavior() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.OPAQUE_EXPRESSION__BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_EXPRESSION__BEHAVIOR, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetBehavior() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.OPAQUE_EXPRESSION__BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_EXPRESSION__BEHAVIOR, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBehavior(Behavior newBehavior) {
+ eDynamicSet(
+ UMLPackage.OPAQUE_EXPRESSION__BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPAQUE_EXPRESSION__BEHAVIOR, newBehavior);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLanguageBodySize(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return OpaqueExpressionOperations.validateLanguageBodySize(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOnlyReturnResultParameters(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return OpaqueExpressionOperations
+ .validateOnlyReturnResultParameters(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneReturnResultParameter(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return OpaqueExpressionOperations.validateOneReturnResultParameter(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int value() {
+ return OpaqueExpressionOperations.value(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIntegral() {
+ return OpaqueExpressionOperations.isIntegral(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isPositive() {
+ return OpaqueExpressionOperations.isPositive(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isNonNegative() {
+ return OpaqueExpressionOperations.isNonNegative(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String stringValue() {
+ return OpaqueExpressionOperations.stringValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.OPAQUE_EXPRESSION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.OPAQUE_EXPRESSION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.OPAQUE_EXPRESSION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.OPAQUE_EXPRESSION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.OPAQUE_EXPRESSION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.OPAQUE_EXPRESSION__NAME :
+ return getName();
+ case UMLPackage.OPAQUE_EXPRESSION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.OPAQUE_EXPRESSION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.OPAQUE_EXPRESSION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OPAQUE_EXPRESSION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.OPAQUE_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.OPAQUE_EXPRESSION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.OPAQUE_EXPRESSION__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.OPAQUE_EXPRESSION__BEHAVIOR :
+ if (resolve)
+ return getBehavior();
+ return basicGetBehavior();
+ case UMLPackage.OPAQUE_EXPRESSION__BODY :
+ return getBodies();
+ case UMLPackage.OPAQUE_EXPRESSION__LANGUAGE :
+ return getLanguages();
+ case UMLPackage.OPAQUE_EXPRESSION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.OPAQUE_EXPRESSION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__BEHAVIOR :
+ setBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__BODY :
+ getBodies().clear();
+ getBodies().addAll((Collection<? extends String>) newValue);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__LANGUAGE :
+ getLanguages().clear();
+ getLanguages().addAll((Collection<? extends String>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OPAQUE_EXPRESSION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__BEHAVIOR :
+ setBehavior((Behavior) null);
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__BODY :
+ unsetBodies();
+ return;
+ case UMLPackage.OPAQUE_EXPRESSION__LANGUAGE :
+ unsetLanguages();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OPAQUE_EXPRESSION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.OPAQUE_EXPRESSION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.OPAQUE_EXPRESSION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.OPAQUE_EXPRESSION__OWNER :
+ return isSetOwner();
+ case UMLPackage.OPAQUE_EXPRESSION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.OPAQUE_EXPRESSION__NAME :
+ return isSetName();
+ case UMLPackage.OPAQUE_EXPRESSION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.OPAQUE_EXPRESSION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.OPAQUE_EXPRESSION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.OPAQUE_EXPRESSION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.OPAQUE_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.OPAQUE_EXPRESSION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.OPAQUE_EXPRESSION__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.OPAQUE_EXPRESSION__BEHAVIOR :
+ return basicGetBehavior() != null;
+ case UMLPackage.OPAQUE_EXPRESSION__BODY :
+ return isSetBodies();
+ case UMLPackage.OPAQUE_EXPRESSION__LANGUAGE :
+ return isSetLanguages();
+ case UMLPackage.OPAQUE_EXPRESSION__RESULT :
+ return basicGetResult() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.OPAQUE_EXPRESSION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_EXPRESSION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.OPAQUE_EXPRESSION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.OPAQUE_EXPRESSION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.OPAQUE_EXPRESSION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.OPAQUE_EXPRESSION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OPAQUE_EXPRESSION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___GET_MODEL :
+ return getModel();
+ case UMLPackage.OPAQUE_EXPRESSION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.OPAQUE_EXPRESSION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.OPAQUE_EXPRESSION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.OPAQUE_EXPRESSION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.OPAQUE_EXPRESSION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.OPAQUE_EXPRESSION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.OPAQUE_EXPRESSION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OPAQUE_EXPRESSION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OPAQUE_EXPRESSION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.OPAQUE_EXPRESSION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.OPAQUE_EXPRESSION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_EXPRESSION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.OPAQUE_EXPRESSION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.OPAQUE_EXPRESSION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.OPAQUE_EXPRESSION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.OPAQUE_EXPRESSION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.OPAQUE_EXPRESSION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OPAQUE_EXPRESSION___SEPARATOR :
+ return separator();
+ case UMLPackage.OPAQUE_EXPRESSION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.OPAQUE_EXPRESSION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.OPAQUE_EXPRESSION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_EXPRESSION___BOOLEAN_VALUE :
+ return booleanValue();
+ case UMLPackage.OPAQUE_EXPRESSION___INTEGER_VALUE :
+ return integerValue();
+ case UMLPackage.OPAQUE_EXPRESSION___IS_COMPUTABLE :
+ return isComputable();
+ case UMLPackage.OPAQUE_EXPRESSION___IS_NULL :
+ return isNull();
+ case UMLPackage.OPAQUE_EXPRESSION___REAL_VALUE :
+ return realValue();
+ case UMLPackage.OPAQUE_EXPRESSION___STRING_VALUE :
+ return stringValue();
+ case UMLPackage.OPAQUE_EXPRESSION___UNLIMITED_VALUE :
+ return unlimitedValue();
+ case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_LANGUAGE_BODY_SIZE__DIAGNOSTICCHAIN_MAP :
+ return validateLanguageBodySize(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_ONE_RETURN_RESULT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validateOneReturnResultParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_ONLY_RETURN_RESULT_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+ return validateOnlyReturnResultParameters(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPAQUE_EXPRESSION___IS_INTEGRAL :
+ return isIntegral();
+ case UMLPackage.OPAQUE_EXPRESSION___IS_NON_NEGATIVE :
+ return isNonNegative();
+ case UMLPackage.OPAQUE_EXPRESSION___IS_POSITIVE :
+ return isPositive();
+ case UMLPackage.OPAQUE_EXPRESSION___GET_RESULT :
+ return getResult();
+ case UMLPackage.OPAQUE_EXPRESSION___VALUE :
+ return value();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //OpaqueExpressionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OperationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OperationImpl.java
new file mode 100644
index 00000000..a0fdc964
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OperationImpl.java
@@ -0,0 +1,2529 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentWithInverseEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.CallConcurrencyKind;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TemplateableElement;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.OperationOperations;
+import org.eclipse.uml2.uml.internal.operations.ParameterableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.TemplateableElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getTemplateParameter <em>Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getOwningTemplateParameter <em>Owning Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getTemplateBindings <em>Template Binding</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getOwnedTemplateSignature <em>Owned Template Signature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getFeaturingClassifiers <em>Featuring Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getRedefinitionContexts <em>Redefinition Context</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getRedefinedElements <em>Redefined Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getOwnedRules <em>Owned Rule</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getBodyCondition <em>Body Condition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getClass_ <em>Class</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getDatatype <em>Datatype</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getInterface <em>Interface</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#isOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#isQuery <em>Is Query</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#isUnique <em>Is Unique</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getLower <em>Lower</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getPostconditions <em>Postcondition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getPreconditions <em>Precondition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getRedefinedOperations <em>Redefined Operation</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getRaisedExceptions <em>Raised Exception</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationImpl#getOwnedParameters <em>Owned Parameter</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OperationImpl
+ extends BehavioralFeatureImpl
+ implements Operation {
+
+ /**
+ * The default value of the '{@link #isOrdered() <em>Is Ordered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOrdered()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ORDERED_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isQuery() <em>Is Query</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isQuery()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_QUERY_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isUnique() <em>Is Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnique()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_UNIQUE_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLower()
+ * @generated
+ * @ordered
+ */
+ protected static final int LOWER_EDEFAULT = 1;
+
+ /**
+ * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpper()
+ * @generated
+ * @ordered
+ */
+ protected static final int UPPER_EDEFAULT = 1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.OPERATION;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.NAMESPACE__OWNED_RULE) {
+ return createOwnedRulesList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.OPERATION__POSTCONDITION) {
+ return createPostconditionsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.OPERATION__PRECONDITION) {
+ return createPreconditionsList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.OPERATION__TEMPLATE_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.OPERATION__TEMPLATE_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemplateParameterGen(
+ TemplateParameter newTemplateParameter, NotificationChain msgs) {
+ if (newTemplateParameter != null
+ && !(newTemplateParameter instanceof OperationTemplateParameter)) {
+ throw new IllegalArgumentException(
+ "newTemplateParameter must be an instance of OperationTemplateParameter"); //$NON-NLS-1$
+ }
+ msgs = eDynamicInverseAdd((InternalEObject) newTemplateParameter,
+ UMLPackage.OPERATION__TEMPLATE_PARAMETER, msgs);
+ return msgs;
+ }
+
+ public NotificationChain basicSetTemplateParameter(
+ TemplateParameter newTemplateParameter, NotificationChain msgs) {
+ msgs = basicSetTemplateParameterGen(newTemplateParameter, msgs);
+
+ Resource.Internal eInternalResource = eInternalResource();
+
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+
+ if (owningTemplateParameter != null
+ && owningTemplateParameter != newTemplateParameter) {
+
+ setOwningTemplateParameter(null);
+ }
+ }
+
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemplateParameter(TemplateParameter newTemplateParameter) {
+ if (newTemplateParameter != null
+ && !(newTemplateParameter instanceof OperationTemplateParameter)) {
+ throw new IllegalArgumentException(
+ "newTemplateParameter must be an instance of OperationTemplateParameter"); //$NON-NLS-1$
+ }
+ eDynamicSet(
+ UMLPackage.OPERATION__TEMPLATE_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ newTemplateParameter);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetTemplateParameter() {
+ return basicGetTemplateParameter() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newOwningTemplateParameter,
+ UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter) {
+ eDynamicSet(
+ UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ newOwningTemplateParameter);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.OPERATION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.OPERATION__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<TemplateBinding> getTemplateBindings() {
+ return (EList<TemplateBinding>) eDynamicGet(
+ UMLPackage.OPERATION__TEMPLATE_BINDING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding createTemplateBinding(TemplateSignature signature) {
+ TemplateBinding newTemplateBinding = (TemplateBinding) create(
+ UMLPackage.Literals.TEMPLATE_BINDING);
+ getTemplateBindings().add(newTemplateBinding);
+ if (signature != null)
+ newTemplateBinding.setSignature(signature);
+ return newTemplateBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding getTemplateBinding(TemplateSignature signature) {
+ return getTemplateBinding(signature, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding getTemplateBinding(TemplateSignature signature,
+ boolean createOnDemand) {
+ templateBindingLoop : for (TemplateBinding templateBinding : getTemplateBindings()) {
+ if (signature != null
+ && !signature.equals(templateBinding.getSignature()))
+ continue templateBindingLoop;
+ return templateBinding;
+ }
+ return createOnDemand
+ ? createTemplateBinding(signature)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature getOwnedTemplateSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature basicGetOwnedTemplateSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedTemplateSignature(
+ TemplateSignature newOwnedTemplateSignature,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newOwnedTemplateSignature,
+ UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedTemplateSignature(
+ TemplateSignature newOwnedTemplateSignature) {
+ eDynamicSet(
+ UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ newOwnedTemplateSignature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature createOwnedTemplateSignature(EClass eClass) {
+ TemplateSignature newOwnedTemplateSignature = (TemplateSignature) create(
+ eClass);
+ setOwnedTemplateSignature(newOwnedTemplateSignature);
+ return newOwnedTemplateSignature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature createOwnedTemplateSignature() {
+ return createOwnedTemplateSignature(
+ UMLPackage.Literals.TEMPLATE_SIGNATURE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Classifier> getRedefinitionContexts() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> redefinitionContexts = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+ if (redefinitionContexts == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.OPERATION__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS));
+ }
+ return redefinitionContexts;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.OPERATION__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Classifier> getFeaturingClassifiers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> featuringClassifiers = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.FEATURE__FEATURING_CLASSIFIER);
+ if (featuringClassifiers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.FEATURE__FEATURING_CLASSIFIER,
+ featuringClassifiers = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.OPERATION__FEATURING_CLASSIFIER,
+ FEATURING_CLASSIFIER_ESUBSETS));
+ }
+ return featuringClassifiers;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.OPERATION__FEATURING_CLASSIFIER,
+ FEATURING_CLASSIFIER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<RedefinableElement> getRedefinedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<RedefinableElement> redefinedElements = (EList<RedefinableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT);
+ if (redefinedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT,
+ redefinedElements = new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.OPERATION__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS));
+ }
+ return redefinedElements;
+ }
+ return new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.OPERATION__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getOwnedRules() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.OPERATION__OWNED_RULE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMESPACE__OWNED_RULE, true, true);
+ }
+
+ private EList<Constraint> createOwnedRulesList() {
+ return new SubsetSupersetEObjectContainmentWithInverseEList.Resolving<Constraint>(
+ Constraint.class, this, UMLPackage.OPERATION__OWNED_RULE, null,
+ OWNED_RULE_ESUBSETS, UMLPackage.CONSTRAINT__CONTEXT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isQuery() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.OPERATION__IS_QUERY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__IS_QUERY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsQuery(boolean newIsQuery) {
+ eDynamicSet(UMLPackage.OPERATION__IS_QUERY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__IS_QUERY, newIsQuery);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOrdered() {
+ return OperationOperations.isOrdered(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnique() {
+ return OperationOperations.isUnique(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLower() {
+ return OperationOperations.getLower(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getUpper() {
+ return OperationOperations.getUpper(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getClass_() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(
+ UMLPackage.OPERATION__CLASS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__CLASS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetClass_() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(
+ UMLPackage.OPERATION__CLASS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__CLASS, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetClass_(org.eclipse.uml2.uml.Class newClass,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newClass,
+ UMLPackage.OPERATION__CLASS, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClass_(org.eclipse.uml2.uml.Class newClass) {
+ eDynamicSet(UMLPackage.OPERATION__CLASS - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__CLASS, newClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getPreconditions() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.OPERATION__PRECONDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__PRECONDITION, true, true);
+ }
+
+ private EList<Constraint> createPreconditionsList() {
+ return new SubsetSupersetEObjectResolvingEList<Constraint>(
+ Constraint.class, this, UMLPackage.OPERATION__PRECONDITION,
+ PRECONDITION_ESUPERSETS, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getPostconditions() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.OPERATION__POSTCONDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__POSTCONDITION, true, true);
+ }
+
+ private EList<Constraint> createPostconditionsList() {
+ return new SubsetSupersetEObjectResolvingEList<Constraint>(
+ Constraint.class, this, UMLPackage.OPERATION__POSTCONDITION,
+ POSTCONDITION_ESUPERSETS, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Operation> getRedefinedOperations() {
+ return (EList<Operation>) eDynamicGet(
+ UMLPackage.OPERATION__REDEFINED_OPERATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__REDEFINED_OPERATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getRedefinedOperation(String name,
+ EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ return getRedefinedOperation(name, ownedParameterNames,
+ ownedParameterTypes, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getRedefinedOperation(String name,
+ EList<String> ownedParameterNames, EList<Type> ownedParameterTypes,
+ boolean ignoreCase) {
+ redefinedOperationLoop : for (Operation redefinedOperation : getRedefinedOperations()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedOperation.getName())
+ : name.equals(redefinedOperation.getName())))
+ continue redefinedOperationLoop;
+ EList<Parameter> ownedParameterList = redefinedOperation
+ .getOwnedParameters();
+ int ownedParameterListSize = ownedParameterList.size();
+ if (ownedParameterNames != null
+ && ownedParameterNames.size() != ownedParameterListSize
+ || (ownedParameterTypes != null
+ && ownedParameterTypes.size() != ownedParameterListSize))
+ continue redefinedOperationLoop;
+ for (int j = 0; j < ownedParameterListSize; j++) {
+ Parameter ownedParameter = ownedParameterList.get(j);
+ if (ownedParameterNames != null && !(ignoreCase
+ ? (ownedParameterNames.get(j))
+ .equalsIgnoreCase(ownedParameter.getName())
+ : ownedParameterNames.get(j)
+ .equals(ownedParameter.getName())))
+ continue redefinedOperationLoop;
+ if (ownedParameterTypes != null && !ownedParameterTypes.get(j)
+ .equals(ownedParameter.getType()))
+ continue redefinedOperationLoop;
+ }
+ return redefinedOperation;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType getDatatype() {
+ return (DataType) eDynamicGet(
+ UMLPackage.OPERATION__DATATYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__DATATYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType basicGetDatatype() {
+ return (DataType) eDynamicGet(
+ UMLPackage.OPERATION__DATATYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__DATATYPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDatatype(DataType newDatatype,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newDatatype,
+ UMLPackage.OPERATION__DATATYPE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDatatype(DataType newDatatype) {
+ eDynamicSet(UMLPackage.OPERATION__DATATYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__DATATYPE, newDatatype);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getBodyCondition() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.OPERATION__BODY_CONDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__BODY_CONDITION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint basicGetBodyCondition() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.OPERATION__BODY_CONDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__BODY_CONDITION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBodyCondition(Constraint newBodyCondition) {
+ eDynamicSet(
+ UMLPackage.OPERATION__BODY_CONDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__BODY_CONDITION, newBodyCondition);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newBodyCondition != null) {
+ EList<Constraint> ownedRules = getOwnedRules();
+ if (!ownedRules.contains(newBodyCondition)) {
+ ownedRules.add(newBodyCondition);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createBodyCondition(String name, EClass eClass) {
+ Constraint newBodyCondition = (Constraint) create(eClass);
+ setBodyCondition(newBodyCondition);
+ if (name != null)
+ newBodyCondition.setName(name);
+ return newBodyCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createBodyCondition(String name) {
+ return createBodyCondition(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getType() {
+ Type type = basicGetType();
+ return type != null && type.eIsProxy()
+ ? (Type) eResolveProxy((InternalEObject) type)
+ : type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type basicGetType() {
+ return OperationOperations.getType(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getInterface() {
+ return (Interface) eDynamicGet(
+ UMLPackage.OPERATION__INTERFACE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__INTERFACE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface basicGetInterface() {
+ return (Interface) eDynamicGet(
+ UMLPackage.OPERATION__INTERFACE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__INTERFACE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInterface(Interface newInterface,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newInterface,
+ UMLPackage.OPERATION__INTERFACE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInterface(Interface newInterface) {
+ eDynamicSet(UMLPackage.OPERATION__INTERFACE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.OPERATION__INTERFACE, newInterface);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Parameter> getOwnedParameters() {
+ return (EList<Parameter>) eDynamicGet(
+ UMLPackage.OPERATION__OWNED_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE__OWNED_PARAMETER, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Parameter createOwnedParameter(String name, Type type) {
+ Parameter newOwnedParameter = (Parameter) create(
+ UMLPackage.Literals.PARAMETER);
+ getOwnedParameters().add(newOwnedParameter);
+ if (name != null)
+ newOwnedParameter.setName(name);
+ if (type != null)
+ newOwnedParameter.setType(type);
+ return newOwnedParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Parameter getOwnedParameter(String name, Type type) {
+ return getOwnedParameter(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Parameter getOwnedParameter(String name, Type type,
+ boolean ignoreCase, boolean createOnDemand) {
+ ownedParameterLoop : for (Parameter ownedParameter : getOwnedParameters()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedParameter.getName())
+ : name.equals(ownedParameter.getName())))
+ continue ownedParameterLoop;
+ if (type != null && !type.equals(ownedParameter.getType()))
+ continue ownedParameterLoop;
+ return ownedParameter;
+ }
+ return createOnDemand
+ ? createOwnedParameter(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetOwnedParameters() {
+ return !getOwnedParameters().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Type> getRaisedExceptions() {
+ return (EList<Type>) eDynamicGet(
+ UMLPackage.OPERATION__RAISED_EXCEPTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.BEHAVIORAL_FEATURE__RAISED_EXCEPTION, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Type getRaisedException(String name) {
+ return getRaisedException(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Type getRaisedException(String name, boolean ignoreCase,
+ EClass eClass) {
+ raisedExceptionLoop : for (Type raisedException : getRaisedExceptions()) {
+ if (eClass != null && !eClass.isInstance(raisedException))
+ continue raisedExceptionLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(raisedException.getName())
+ : name.equals(raisedException.getName())))
+ continue raisedExceptionLoop;
+ return raisedException;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRaisedExceptions() {
+ return !getRaisedExceptions().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCompatibleWith(ParameterableElement p) {
+ return ParameterableElementOperations.isCompatibleWith(this, p);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTemplateParameter() {
+ return ParameterableElementOperations.isTemplateParameter(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParameterableElement> parameterableElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<ParameterableElement> result = (EList<ParameterableElement>) cache
+ .get(this,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS,
+ result = TemplateableElementOperations
+ .parameterableElements(this));
+ }
+ return result;
+ }
+ return TemplateableElementOperations.parameterableElements(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTemplate() {
+ return TemplateableElementOperations.isTemplate(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAtMostOneReturn(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return OperationOperations.validateAtMostOneReturn(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOnlyBodyForQuery(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return OperationOperations.validateOnlyBodyForQuery(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter getReturnResult() {
+ return OperationOperations.getReturnResult(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsOrdered(boolean newIsOrdered) {
+ OperationOperations.setIsOrdered(this, newIsOrdered);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsUnique(boolean newIsUnique) {
+ OperationOperations.setIsUnique(this, newIsUnique);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLower(int newLower) {
+ OperationOperations.setLower(this, newLower);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(Type newType) {
+ OperationOperations.setType(this, newType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpper(int newUpper) {
+ OperationOperations.setUpper(this, newUpper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Parameter> returnResult() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Parameter> result = (EList<Parameter>) cache.get(this,
+ UMLPackage.Literals.OPERATION___RETURN_RESULT);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.OPERATION___RETURN_RESULT,
+ result = OperationOperations.returnResult(this));
+ }
+ return result;
+ }
+ return OperationOperations.returnResult(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isConsistentWith(RedefinableElement redefiningElement) {
+ return OperationOperations.isConsistentWith(this, redefiningElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.OPERATION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.OPERATION__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.OPERATION__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.OPERATION__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.OPERATION__METHOD :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getMethods())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.OPERATION__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.OPERATION__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.OPERATION__CLASS :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetClass_((org.eclipse.uml2.uml.Class) otherEnd,
+ msgs);
+ case UMLPackage.OPERATION__DATATYPE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetDatatype((DataType) otherEnd, msgs);
+ case UMLPackage.OPERATION__INTERFACE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetInterface((Interface) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.OPERATION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPERATION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPERATION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.OPERATION__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPERATION__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPERATION__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPERATION__METHOD :
+ return ((InternalEList<?>) getMethods()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.OPERATION__OWNED_PARAMETER :
+ return ((InternalEList<?>) getOwnedParameters())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPERATION__OWNED_PARAMETER_SET :
+ return ((InternalEList<?>) getOwnedParameterSets())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.OPERATION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.OPERATION__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.OPERATION__CLASS :
+ return basicSetClass_(null, msgs);
+ case UMLPackage.OPERATION__DATATYPE :
+ return basicSetDatatype(null, msgs);
+ case UMLPackage.OPERATION__INTERFACE :
+ return basicSetInterface(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ case UMLPackage.OPERATION__CLASS :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.CLASS__OWNED_OPERATION,
+ org.eclipse.uml2.uml.Class.class, msgs);
+ case UMLPackage.OPERATION__DATATYPE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.DATA_TYPE__OWNED_OPERATION, DataType.class,
+ msgs);
+ case UMLPackage.OPERATION__INTERFACE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.INTERFACE__OWNED_OPERATION, Interface.class,
+ msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.OPERATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.OPERATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.OPERATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.OPERATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.OPERATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.OPERATION__NAME :
+ return getName();
+ case UMLPackage.OPERATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.OPERATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.OPERATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OPERATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.OPERATION__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.OPERATION__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.OPERATION__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.OPERATION__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.OPERATION__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.OPERATION__MEMBER :
+ return getMembers();
+ case UMLPackage.OPERATION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.OPERATION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.OPERATION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.OPERATION__FEATURING_CLASSIFIER :
+ return getFeaturingClassifiers();
+ case UMLPackage.OPERATION__IS_STATIC :
+ return isStatic();
+ case UMLPackage.OPERATION__CONCURRENCY :
+ return getConcurrency();
+ case UMLPackage.OPERATION__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.OPERATION__METHOD :
+ return getMethods();
+ case UMLPackage.OPERATION__OWNED_PARAMETER :
+ return getOwnedParameters();
+ case UMLPackage.OPERATION__OWNED_PARAMETER_SET :
+ return getOwnedParameterSets();
+ case UMLPackage.OPERATION__RAISED_EXCEPTION :
+ return getRaisedExceptions();
+ case UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.OPERATION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.OPERATION__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.OPERATION__BODY_CONDITION :
+ if (resolve)
+ return getBodyCondition();
+ return basicGetBodyCondition();
+ case UMLPackage.OPERATION__CLASS :
+ if (resolve)
+ return getClass_();
+ return basicGetClass_();
+ case UMLPackage.OPERATION__DATATYPE :
+ if (resolve)
+ return getDatatype();
+ return basicGetDatatype();
+ case UMLPackage.OPERATION__INTERFACE :
+ if (resolve)
+ return getInterface();
+ return basicGetInterface();
+ case UMLPackage.OPERATION__IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.OPERATION__IS_QUERY :
+ return isQuery();
+ case UMLPackage.OPERATION__IS_UNIQUE :
+ return isUnique();
+ case UMLPackage.OPERATION__LOWER :
+ return getLower();
+ case UMLPackage.OPERATION__POSTCONDITION :
+ return getPostconditions();
+ case UMLPackage.OPERATION__PRECONDITION :
+ return getPreconditions();
+ case UMLPackage.OPERATION__REDEFINED_OPERATION :
+ return getRedefinedOperations();
+ case UMLPackage.OPERATION__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.OPERATION__UPPER :
+ return getUpper();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.OPERATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.OPERATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.OPERATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.OPERATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.OPERATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.OPERATION__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.OPERATION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.OPERATION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.OPERATION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.OPERATION__IS_STATIC :
+ setIsStatic((Boolean) newValue);
+ return;
+ case UMLPackage.OPERATION__CONCURRENCY :
+ setConcurrency((CallConcurrencyKind) newValue);
+ return;
+ case UMLPackage.OPERATION__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.OPERATION__METHOD :
+ getMethods().clear();
+ getMethods().addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.OPERATION__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ getOwnedParameters()
+ .addAll((Collection<? extends Parameter>) newValue);
+ return;
+ case UMLPackage.OPERATION__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ getOwnedParameterSets()
+ .addAll((Collection<? extends ParameterSet>) newValue);
+ return;
+ case UMLPackage.OPERATION__RAISED_EXCEPTION :
+ getRaisedExceptions().clear();
+ getRaisedExceptions()
+ .addAll((Collection<? extends Type>) newValue);
+ return;
+ case UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.OPERATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.OPERATION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.OPERATION__BODY_CONDITION :
+ setBodyCondition((Constraint) newValue);
+ return;
+ case UMLPackage.OPERATION__CLASS :
+ setClass_((org.eclipse.uml2.uml.Class) newValue);
+ return;
+ case UMLPackage.OPERATION__DATATYPE :
+ setDatatype((DataType) newValue);
+ return;
+ case UMLPackage.OPERATION__INTERFACE :
+ setInterface((Interface) newValue);
+ return;
+ case UMLPackage.OPERATION__IS_QUERY :
+ setIsQuery((Boolean) newValue);
+ return;
+ case UMLPackage.OPERATION__POSTCONDITION :
+ getPostconditions().clear();
+ getPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.OPERATION__PRECONDITION :
+ getPreconditions().clear();
+ getPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.OPERATION__REDEFINED_OPERATION :
+ getRedefinedOperations().clear();
+ getRedefinedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OPERATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.OPERATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.OPERATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.OPERATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.OPERATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.OPERATION__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.OPERATION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.OPERATION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.OPERATION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.OPERATION__IS_STATIC :
+ setIsStatic(IS_STATIC_EDEFAULT);
+ return;
+ case UMLPackage.OPERATION__CONCURRENCY :
+ setConcurrency(CONCURRENCY_EDEFAULT);
+ return;
+ case UMLPackage.OPERATION__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.OPERATION__METHOD :
+ getMethods().clear();
+ return;
+ case UMLPackage.OPERATION__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ return;
+ case UMLPackage.OPERATION__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ return;
+ case UMLPackage.OPERATION__RAISED_EXCEPTION :
+ getRaisedExceptions().clear();
+ return;
+ case UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.OPERATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.OPERATION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.OPERATION__BODY_CONDITION :
+ setBodyCondition((Constraint) null);
+ return;
+ case UMLPackage.OPERATION__CLASS :
+ setClass_((org.eclipse.uml2.uml.Class) null);
+ return;
+ case UMLPackage.OPERATION__DATATYPE :
+ setDatatype((DataType) null);
+ return;
+ case UMLPackage.OPERATION__INTERFACE :
+ setInterface((Interface) null);
+ return;
+ case UMLPackage.OPERATION__IS_QUERY :
+ setIsQuery(IS_QUERY_EDEFAULT);
+ return;
+ case UMLPackage.OPERATION__POSTCONDITION :
+ getPostconditions().clear();
+ return;
+ case UMLPackage.OPERATION__PRECONDITION :
+ getPreconditions().clear();
+ return;
+ case UMLPackage.OPERATION__REDEFINED_OPERATION :
+ getRedefinedOperations().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OPERATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.OPERATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.OPERATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.OPERATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.OPERATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.OPERATION__NAME :
+ return isSetName();
+ case UMLPackage.OPERATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.OPERATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.OPERATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.OPERATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.OPERATION__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.OPERATION__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.OPERATION__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.OPERATION__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.OPERATION__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.OPERATION__MEMBER :
+ return isSetMembers();
+ case UMLPackage.OPERATION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.OPERATION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.OPERATION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.OPERATION__FEATURING_CLASSIFIER :
+ return isSetFeaturingClassifiers();
+ case UMLPackage.OPERATION__IS_STATIC :
+ return isStatic() != IS_STATIC_EDEFAULT;
+ case UMLPackage.OPERATION__CONCURRENCY :
+ return getConcurrency() != CONCURRENCY_EDEFAULT;
+ case UMLPackage.OPERATION__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.OPERATION__METHOD :
+ return !getMethods().isEmpty();
+ case UMLPackage.OPERATION__OWNED_PARAMETER :
+ return isSetOwnedParameters();
+ case UMLPackage.OPERATION__OWNED_PARAMETER_SET :
+ return !getOwnedParameterSets().isEmpty();
+ case UMLPackage.OPERATION__RAISED_EXCEPTION :
+ return isSetRaisedExceptions();
+ case UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.OPERATION__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.OPERATION__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE :
+ return basicGetOwnedTemplateSignature() != null;
+ case UMLPackage.OPERATION__BODY_CONDITION :
+ return basicGetBodyCondition() != null;
+ case UMLPackage.OPERATION__CLASS :
+ return basicGetClass_() != null;
+ case UMLPackage.OPERATION__DATATYPE :
+ return basicGetDatatype() != null;
+ case UMLPackage.OPERATION__INTERFACE :
+ return basicGetInterface() != null;
+ case UMLPackage.OPERATION__IS_ORDERED :
+ return isOrdered() != IS_ORDERED_EDEFAULT;
+ case UMLPackage.OPERATION__IS_QUERY :
+ return isQuery() != IS_QUERY_EDEFAULT;
+ case UMLPackage.OPERATION__IS_UNIQUE :
+ return isUnique() != IS_UNIQUE_EDEFAULT;
+ case UMLPackage.OPERATION__LOWER :
+ return getLower() != LOWER_EDEFAULT;
+ case UMLPackage.OPERATION__POSTCONDITION :
+ return !getPostconditions().isEmpty();
+ case UMLPackage.OPERATION__PRECONDITION :
+ return !getPreconditions().isEmpty();
+ case UMLPackage.OPERATION__REDEFINED_OPERATION :
+ return !getRedefinedOperations().isEmpty();
+ case UMLPackage.OPERATION__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.OPERATION__UPPER :
+ return getUpper() != UPPER_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.OPERATION__TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == TemplateableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.OPERATION__TEMPLATE_BINDING :
+ return UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING;
+ case UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE :
+ return UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return UMLPackage.OPERATION__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == TemplateableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING :
+ return UMLPackage.OPERATION__TEMPLATE_BINDING;
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE :
+ return UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return UMLPackage.OPERATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_TEMPLATE_PARAMETER :
+ return UMLPackage.OPERATION___IS_TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == TemplateableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT___IS_TEMPLATE :
+ return UMLPackage.OPERATION___IS_TEMPLATE;
+ case UMLPackage.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS :
+ return UMLPackage.OPERATION___PARAMETERABLE_ELEMENTS;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.OPERATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.OPERATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.OPERATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.OPERATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.OPERATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.OPERATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.OPERATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.OPERATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.OPERATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.OPERATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OPERATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.OPERATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.OPERATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.OPERATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.OPERATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.OPERATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.OPERATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.OPERATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OPERATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.OPERATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.OPERATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OPERATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OPERATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.OPERATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OPERATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.OPERATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.OPERATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.OPERATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.OPERATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.OPERATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.OPERATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.OPERATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.OPERATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.OPERATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.OPERATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.OPERATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.OPERATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OPERATION___SEPARATOR :
+ return separator();
+ case UMLPackage.OPERATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.OPERATION___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.OPERATION___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.OPERATION___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.OPERATION___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.OPERATION___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.OPERATION___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.OPERATION___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.OPERATION___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.OPERATION___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.OPERATION___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.OPERATION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.OPERATION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.OPERATION___VALIDATE_ABSTRACT_NO_METHOD__DIAGNOSTICCHAIN_MAP :
+ return validateAbstractNoMethod(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___CREATE_RETURN_RESULT__STRING_TYPE :
+ return createReturnResult((String) arguments.get(0),
+ (Type) arguments.get(1));
+ case UMLPackage.OPERATION___INPUT_PARAMETERS :
+ return inputParameters();
+ case UMLPackage.OPERATION___OUTPUT_PARAMETERS :
+ return outputParameters();
+ case UMLPackage.OPERATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.OPERATION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.OPERATION___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.OPERATION___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.OPERATION___VALIDATE_AT_MOST_ONE_RETURN__DIAGNOSTICCHAIN_MAP :
+ return validateAtMostOneReturn(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___VALIDATE_ONLY_BODY_FOR_QUERY__DIAGNOSTICCHAIN_MAP :
+ return validateOnlyBodyForQuery(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION___GET_RETURN_RESULT :
+ return getReturnResult();
+ case UMLPackage.OPERATION___SET_IS_ORDERED__BOOLEAN :
+ setIsOrdered((Boolean) arguments.get(0));
+ return null;
+ case UMLPackage.OPERATION___SET_IS_UNIQUE__BOOLEAN :
+ setIsUnique((Boolean) arguments.get(0));
+ return null;
+ case UMLPackage.OPERATION___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.OPERATION___SET_TYPE__TYPE :
+ setType((Type) arguments.get(0));
+ return null;
+ case UMLPackage.OPERATION___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.OPERATION___IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.OPERATION___IS_UNIQUE :
+ return isUnique();
+ case UMLPackage.OPERATION___GET_LOWER :
+ return getLower();
+ case UMLPackage.OPERATION___RETURN_RESULT :
+ return returnResult();
+ case UMLPackage.OPERATION___GET_TYPE :
+ return getType();
+ case UMLPackage.OPERATION___GET_UPPER :
+ return getUpper();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null) {
+ return owningTemplateParameter;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.OPERATION__OWNING_TEMPLATE_PARAMETER);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.OPERATION__OWNED_COMMENT,
+ UMLPackage.OPERATION__NAME_EXPRESSION,
+ UMLPackage.OPERATION__ELEMENT_IMPORT,
+ UMLPackage.OPERATION__PACKAGE_IMPORT,
+ UMLPackage.OPERATION__OWNED_MEMBER,
+ UMLPackage.OPERATION__TEMPLATE_BINDING,
+ UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.OPERATION__TEMPLATE_BINDING)
+ || eIsSet(UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetRedefinitionContexts() {
+ return super.isSetRedefinitionContexts()
+ || eIsSet(UMLPackage.OPERATION__CLASS)
+ || eIsSet(UMLPackage.OPERATION__DATATYPE)
+ || eIsSet(UMLPackage.OPERATION__INTERFACE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ org.eclipse.uml2.uml.Class class_ = basicGetClass_();
+ if (class_ != null) {
+ return class_;
+ }
+ DataType datatype = basicGetDatatype();
+ if (datatype != null) {
+ return datatype;
+ }
+ Interface interface_ = basicGetInterface();
+ if (interface_ != null) {
+ return interface_;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace() || eIsSet(UMLPackage.OPERATION__CLASS)
+ || eIsSet(UMLPackage.OPERATION__DATATYPE)
+ || eIsSet(UMLPackage.OPERATION__INTERFACE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getFeaturingClassifiers() <em>Featuring Classifier</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeaturingClassifiers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] FEATURING_CLASSIFIER_ESUBSETS = new int[]{
+ UMLPackage.OPERATION__CLASS, UMLPackage.OPERATION__DATATYPE,
+ UMLPackage.OPERATION__INTERFACE};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinitionContexts() <em>Redefinition Context</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinitionContexts()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINITION_CONTEXT_ESUBSETS = new int[]{
+ UMLPackage.OPERATION__CLASS, UMLPackage.OPERATION__DATATYPE,
+ UMLPackage.OPERATION__INTERFACE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetFeaturingClassifiers() {
+ return super.isSetFeaturingClassifiers()
+ || eIsSet(UMLPackage.OPERATION__CLASS)
+ || eIsSet(UMLPackage.OPERATION__DATATYPE)
+ || eIsSet(UMLPackage.OPERATION__INTERFACE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedElements() <em>Redefined Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.OPERATION__REDEFINED_OPERATION};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedRules() <em>Owned Rule</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedRules()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_RULE_ESUBSETS = new int[]{
+ UMLPackage.OPERATION__BODY_CONDITION,
+ UMLPackage.OPERATION__POSTCONDITION,
+ UMLPackage.OPERATION__PRECONDITION};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getPostconditions() <em>Postcondition</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostconditions()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] POSTCONDITION_ESUPERSETS = new int[]{
+ UMLPackage.OPERATION__OWNED_RULE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createPostcondition(String name, EClass eClass) {
+ Constraint newPostcondition = (Constraint) create(eClass);
+ getPostconditions().add(newPostcondition);
+ if (name != null)
+ newPostcondition.setName(name);
+ return newPostcondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createPostcondition(String name) {
+ return createPostcondition(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getPostcondition(String name) {
+ return getPostcondition(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getPostcondition(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ postconditionLoop : for (Constraint postcondition : getPostconditions()) {
+ if (eClass != null && !eClass.isInstance(postcondition))
+ continue postconditionLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(postcondition.getName())
+ : name.equals(postcondition.getName())))
+ continue postconditionLoop;
+ return postcondition;
+ }
+ return createOnDemand && eClass != null
+ ? createPostcondition(name, eClass)
+ : null;
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getPreconditions() <em>Precondition</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPreconditions()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] PRECONDITION_ESUPERSETS = new int[]{
+ UMLPackage.OPERATION__OWNED_RULE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createPrecondition(String name, EClass eClass) {
+ Constraint newPrecondition = (Constraint) create(eClass);
+ getPreconditions().add(newPrecondition);
+ if (name != null)
+ newPrecondition.setName(name);
+ return newPrecondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createPrecondition(String name) {
+ return createPrecondition(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getPrecondition(String name) {
+ return getPrecondition(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getPrecondition(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ preconditionLoop : for (Constraint precondition : getPreconditions()) {
+ if (eClass != null && !eClass.isInstance(precondition))
+ continue preconditionLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(precondition.getName())
+ : name.equals(precondition.getName())))
+ continue preconditionLoop;
+ return precondition;
+ }
+ return createOnDemand && eClass != null
+ ? createPrecondition(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetRedefinedElements() {
+ return super.isSetRedefinedElements()
+ || eIsSet(UMLPackage.OPERATION__REDEFINED_OPERATION);
+ }
+
+} //OperationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OperationTemplateParameterImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OperationTemplateParameterImpl.java
new file mode 100644
index 00000000..53769664
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OperationTemplateParameterImpl.java
@@ -0,0 +1,496 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.internal.operations.OperationTemplateParameterOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation Template Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.OperationTemplateParameterImpl#getParameteredElement <em>Parametered Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OperationTemplateParameterImpl
+ extends TemplateParameterImpl
+ implements OperationTemplateParameter {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationTemplateParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.OPERATION_TEMPLATE_PARAMETER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ParameterableElement getParameteredElement() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.OPERATION_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ParameterableElement basicGetParameteredElement() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.OPERATION_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParameteredElementGen(
+ ParameterableElement newParameteredElement,
+ NotificationChain msgs) {
+ if (newParameteredElement != null
+ && !(newParameteredElement instanceof Operation)) {
+ throw new IllegalArgumentException(
+ "newParameteredElement must be an instance of Operation"); //$NON-NLS-1$
+ }
+ msgs = eDynamicInverseAdd((InternalEObject) newParameteredElement,
+ UMLPackage.OPERATION_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT, msgs);
+ return msgs;
+ }
+
+ @Override
+ public NotificationChain basicSetParameteredElement(
+ ParameterableElement newParameteredElement,
+ NotificationChain msgs) {
+ msgs = basicSetParameteredElementGen(newParameteredElement, msgs);
+
+ Resource.Internal eInternalResource = eInternalResource();
+
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+
+ ParameterableElement ownedParameteredElement = basicGetOwnedParameteredElement();
+ if (ownedParameteredElement != null
+ && ownedParameteredElement != newParameteredElement) {
+
+ setOwnedParameteredElement(null);
+ }
+ }
+
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParameteredElement(
+ ParameterableElement newParameteredElement) {
+ if (newParameteredElement != null
+ && !(newParameteredElement instanceof Operation)) {
+ throw new IllegalArgumentException(
+ "newParameteredElement must be an instance of Operation"); //$NON-NLS-1$
+ }
+ eDynamicSet(
+ UMLPackage.OPERATION_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ newParameteredElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetParameteredElement() {
+ return basicGetParameteredElement() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMatchDefaultSignature(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return OperationTemplateParameterOperations
+ .validateMatchDefaultSignature(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ ParameterableElement parameteredElement = basicGetParameteredElement();
+ if (parameteredElement != null)
+ msgs = ((InternalEObject) parameteredElement)
+ .eInverseRemove(this,
+ UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ ParameterableElement.class, msgs);
+ return basicSetParameteredElement(
+ (ParameterableElement) otherEnd, msgs);
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__SIGNATURE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetSignature((TemplateSignature) otherEnd, msgs);
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ ParameterableElement ownedParameteredElement = basicGetOwnedParameteredElement();
+ if (ownedParameteredElement != null)
+ msgs = ((InternalEObject) ownedParameteredElement)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ null, msgs);
+ return basicSetOwnedParameteredElement(
+ (ParameterableElement) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ return basicSetOwnedDefault(null, msgs);
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ return basicSetParameteredElement(null, msgs);
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__SIGNATURE :
+ return basicSetSignature(null, msgs);
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ return basicSetOwnedParameteredElement(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__DEFAULT :
+ if (resolve)
+ return getDefault();
+ return basicGetDefault();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ if (resolve)
+ return getOwnedDefault();
+ return basicGetOwnedDefault();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ if (resolve)
+ return getParameteredElement();
+ return basicGetParameteredElement();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__SIGNATURE :
+ if (resolve)
+ return getSignature();
+ return basicGetSignature();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ if (resolve)
+ return getOwnedParameteredElement();
+ return basicGetOwnedParameteredElement();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__DEFAULT :
+ setDefault((ParameterableElement) newValue);
+ return;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ setOwnedDefault((ParameterableElement) newValue);
+ return;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ setParameteredElement((ParameterableElement) newValue);
+ return;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__SIGNATURE :
+ setSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ setOwnedParameteredElement((ParameterableElement) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__DEFAULT :
+ setDefault((ParameterableElement) null);
+ return;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ setOwnedDefault((ParameterableElement) null);
+ return;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ setParameteredElement((ParameterableElement) null);
+ return;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__SIGNATURE :
+ setSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ setOwnedParameteredElement((ParameterableElement) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNER :
+ return isSetOwner();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__DEFAULT :
+ return basicGetDefault() != null;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ return basicGetOwnedDefault() != null;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ return isSetParameteredElement();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__SIGNATURE :
+ return basicGetSignature() != null;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ return basicGetOwnedParameteredElement() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_MODEL :
+ return getModel();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___VALIDATE_MUST_BE_COMPATIBLE__DIAGNOSTICCHAIN_MAP :
+ return validateMustBeCompatible(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER___VALIDATE_MATCH_DEFAULT_SIGNATURE__DIAGNOSTICCHAIN_MAP :
+ return validateMatchDefaultSignature(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //OperationTemplateParameterImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OutputPinImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OutputPinImpl.java
new file mode 100644
index 00000000..3832bbca
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/OutputPinImpl.java
@@ -0,0 +1,295 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.OutputPinOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Output Pin</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class OutputPinImpl
+ extends PinImpl
+ implements OutputPin {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OutputPinImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.OUTPUT_PIN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateIncomingEdgesStructuredOnly(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return OutputPinOperations.validateIncomingEdgesStructuredOnly(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.OUTPUT_PIN___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.OUTPUT_PIN___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.OUTPUT_PIN___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.OUTPUT_PIN___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.OUTPUT_PIN___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___GET_MODEL :
+ return getModel();
+ case UMLPackage.OUTPUT_PIN___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.OUTPUT_PIN___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.OUTPUT_PIN___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.OUTPUT_PIN___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.OUTPUT_PIN___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.OUTPUT_PIN___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.OUTPUT_PIN___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.OUTPUT_PIN___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.OUTPUT_PIN___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.OUTPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___GET_LABEL :
+ return getLabel();
+ case UMLPackage.OUTPUT_PIN___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.OUTPUT_PIN___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.OUTPUT_PIN___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.OUTPUT_PIN___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.OUTPUT_PIN___SEPARATOR :
+ return separator();
+ case UMLPackage.OUTPUT_PIN___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.OUTPUT_PIN___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.OUTPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validateInputOutputParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateSelectionBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateObjectFlowEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return validateUpperGeLower((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return validateLowerGe0((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationNoSideEffects(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationConstant(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return validateLowerIsInteger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return validateUpperIsUnlimitedNatural(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.OUTPUT_PIN___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.OUTPUT_PIN___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return compatibleWith((MultiplicityElement) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return includesMultiplicity(
+ (MultiplicityElement) arguments.get(0));
+ case UMLPackage.OUTPUT_PIN___IS__INT_INT :
+ return is((Integer) arguments.get(0),
+ (Integer) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___IS_MULTIVALUED :
+ return isMultivalued();
+ case UMLPackage.OUTPUT_PIN___GET_LOWER :
+ return getLower();
+ case UMLPackage.OUTPUT_PIN___LOWER_BOUND :
+ return lowerBound();
+ case UMLPackage.OUTPUT_PIN___GET_UPPER :
+ return getUpper();
+ case UMLPackage.OUTPUT_PIN___UPPER_BOUND :
+ return upperBound();
+ case UMLPackage.OUTPUT_PIN___VALIDATE_CONTROL_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateControlPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_NOT_UNIQUE__DIAGNOSTICCHAIN_MAP :
+ return validateNotUnique((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.OUTPUT_PIN___VALIDATE_INCOMING_EDGES_STRUCTURED_ONLY__DIAGNOSTICCHAIN_MAP :
+ return validateIncomingEdgesStructuredOnly(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //OutputPinImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageImpl.java
new file mode 100644
index 00000000..49a7dead
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageImpl.java
@@ -0,0 +1,2190 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 454400, 451350, 485756, 489209
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedSubsetEObjectEList;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TemplateableElement;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.PackageOperations;
+import org.eclipse.uml2.uml.internal.operations.PackageableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.ParameterableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.TemplateableElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Package</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getTemplateParameter <em>Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getOwningTemplateParameter <em>Owning Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getVisibility <em>Visibility</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getTemplateBindings <em>Template Binding</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getOwnedTemplateSignature <em>Owned Template Signature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getPackagedElements <em>Packaged Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getURI <em>URI</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getNestedPackages <em>Nested Package</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getNestingPackage <em>Nesting Package</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getOwnedStereotypes <em>Owned Stereotype</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getOwnedTypes <em>Owned Type</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getPackageMerges <em>Package Merge</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImpl#getProfileApplications <em>Profile Application</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PackageImpl
+ extends NamespaceImpl
+ implements org.eclipse.uml2.uml.Package {
+
+ /**
+ * The default value of the '{@link #getURI() <em>URI</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getURI()
+ * @generated
+ * @ordered
+ */
+ protected static final String URI_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PackageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PACKAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PACKAGE__TEMPLATE_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PACKAGE__TEMPLATE_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemplateParameter(
+ TemplateParameter newTemplateParameter, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newTemplateParameter,
+ UMLPackage.PACKAGE__TEMPLATE_PARAMETER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null
+ && owningTemplateParameter != newTemplateParameter) {
+ setOwningTemplateParameter(null);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemplateParameter(TemplateParameter newTemplateParameter) {
+ eDynamicSet(
+ UMLPackage.PACKAGE__TEMPLATE_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ newTemplateParameter);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null
+ && owningTemplateParameter != newTemplateParameter) {
+ setOwningTemplateParameter(null);
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newOwningTemplateParameter,
+ UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter) {
+ eDynamicSet(
+ UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ newOwningTemplateParameter);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public VisibilityKind getVisibility() {
+ return (VisibilityKind) eDynamicGet(
+ UMLPackage.PACKAGE__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setVisibility(VisibilityKind newVisibility) {
+ eDynamicSet(UMLPackage.PACKAGE__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY, newVisibility);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void unsetVisibility() {
+ eDynamicUnset(UMLPackage.PACKAGE__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetVisibility() {
+ return eDynamicIsSet(
+ UMLPackage.PACKAGE__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.PACKAGE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PACKAGE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<TemplateBinding> getTemplateBindings() {
+ return (EList<TemplateBinding>) eDynamicGet(
+ UMLPackage.PACKAGE__TEMPLATE_BINDING - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding createTemplateBinding(TemplateSignature signature) {
+ TemplateBinding newTemplateBinding = (TemplateBinding) create(
+ UMLPackage.Literals.TEMPLATE_BINDING);
+ getTemplateBindings().add(newTemplateBinding);
+ if (signature != null)
+ newTemplateBinding.setSignature(signature);
+ return newTemplateBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding getTemplateBinding(TemplateSignature signature) {
+ return getTemplateBinding(signature, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding getTemplateBinding(TemplateSignature signature,
+ boolean createOnDemand) {
+ templateBindingLoop : for (TemplateBinding templateBinding : getTemplateBindings()) {
+ if (signature != null
+ && !signature.equals(templateBinding.getSignature()))
+ continue templateBindingLoop;
+ return templateBinding;
+ }
+ return createOnDemand
+ ? createTemplateBinding(signature)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ org.eclipse.uml2.uml.Package nestingPackage = basicGetNestingPackage();
+ if (nestingPackage != null) {
+ return nestingPackage;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature getOwnedTemplateSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature basicGetOwnedTemplateSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedTemplateSignature(
+ TemplateSignature newOwnedTemplateSignature,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newOwnedTemplateSignature,
+ UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedTemplateSignature(
+ TemplateSignature newOwnedTemplateSignature) {
+ eDynamicSet(
+ UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ newOwnedTemplateSignature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature createOwnedTemplateSignature(EClass eClass) {
+ TemplateSignature newOwnedTemplateSignature = (TemplateSignature) create(
+ eClass);
+ setOwnedTemplateSignature(newOwnedTemplateSignature);
+ return newOwnedTemplateSignature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature createOwnedTemplateSignature() {
+ return createOwnedTemplateSignature(
+ UMLPackage.Literals.TEMPLATE_SIGNATURE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.PACKAGE__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.PACKAGE__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<PackageableElement> getPackagedElements() {
+ return (EList<PackageableElement>) eDynamicGet(
+ UMLPackage.PACKAGE__PACKAGED_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE__PACKAGED_ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement createPackagedElement(String name,
+ EClass eClass) {
+ PackageableElement newPackagedElement = (PackageableElement) create(
+ eClass);
+ getPackagedElements().add(newPackagedElement);
+ if (name != null)
+ newPackagedElement.setName(name);
+ return newPackagedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getPackagedElement(String name) {
+ return getPackagedElement(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getPackagedElement(String name,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ packagedElementLoop : for (PackageableElement packagedElement : getPackagedElements()) {
+ if (eClass != null && !eClass.isInstance(packagedElement))
+ continue packagedElementLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(packagedElement.getName())
+ : name.equals(packagedElement.getName())))
+ continue packagedElementLoop;
+ return packagedElement;
+ }
+ return createOnDemand && eClass != null
+ ? createPackagedElement(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getURI() {
+ return (String) eDynamicGet(
+ UMLPackage.PACKAGE__URI - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE__URI, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setURI(String newURI) {
+ eDynamicSet(UMLPackage.PACKAGE__URI - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE__URI, newURI);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<PackageMerge> getPackageMerges() {
+ return (EList<PackageMerge>) eDynamicGet(
+ UMLPackage.PACKAGE__PACKAGE_MERGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE__PACKAGE_MERGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageMerge createPackageMerge(
+ org.eclipse.uml2.uml.Package mergedPackage) {
+ PackageMerge newPackageMerge = (PackageMerge) create(
+ UMLPackage.Literals.PACKAGE_MERGE);
+ getPackageMerges().add(newPackageMerge);
+ if (mergedPackage != null)
+ newPackageMerge.setMergedPackage(mergedPackage);
+ return newPackageMerge;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageMerge getPackageMerge(
+ org.eclipse.uml2.uml.Package mergedPackage) {
+ return getPackageMerge(mergedPackage, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageMerge getPackageMerge(
+ org.eclipse.uml2.uml.Package mergedPackage,
+ boolean createOnDemand) {
+ packageMergeLoop : for (PackageMerge packageMerge : getPackageMerges()) {
+ if (mergedPackage != null
+ && !mergedPackage.equals(packageMerge.getMergedPackage()))
+ continue packageMergeLoop;
+ return packageMerge;
+ }
+ return createOnDemand
+ ? createPackageMerge(mergedPackage)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList<Type> getOwnedTypes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Type> ownedTypes = (EList<Type>) cache.get(eResource, this,
+ UMLPackage.Literals.PACKAGE__OWNED_TYPE);
+ if (ownedTypes == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.PACKAGE__OWNED_TYPE,
+ ownedTypes = new DerivedSubsetEObjectEList<Type>(Type.class,
+ this, UMLPackage.PACKAGE__OWNED_TYPE,
+ OWNED_TYPE_ESUPERSETS));
+ }
+ return ownedTypes;
+ }
+ return new DerivedSubsetEObjectEList<Type>(Type.class, this,
+ UMLPackage.PACKAGE__OWNED_TYPE, OWNED_TYPE_ESUPERSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList<org.eclipse.uml2.uml.Package> getNestedPackages() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<org.eclipse.uml2.uml.Package> nestedPackages = (EList<org.eclipse.uml2.uml.Package>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.PACKAGE__NESTED_PACKAGE);
+ if (nestedPackages == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.PACKAGE__NESTED_PACKAGE,
+ nestedPackages = new DerivedSubsetEObjectEList<org.eclipse.uml2.uml.Package>(
+ org.eclipse.uml2.uml.Package.class, this,
+ UMLPackage.PACKAGE__NESTED_PACKAGE,
+ NESTED_PACKAGE_ESUPERSETS));
+ }
+ return nestedPackages;
+ }
+ return new DerivedSubsetEObjectEList<org.eclipse.uml2.uml.Package>(
+ org.eclipse.uml2.uml.Package.class, this,
+ UMLPackage.PACKAGE__NESTED_PACKAGE, NESTED_PACKAGE_ESUPERSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getNestingPackage() {
+ org.eclipse.uml2.uml.Package nestingPackage = basicGetNestingPackage();
+ return nestingPackage != null && nestingPackage.eIsProxy()
+ ? (org.eclipse.uml2.uml.Package) eResolveProxy(
+ (InternalEObject) nestingPackage)
+ : nestingPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public org.eclipse.uml2.uml.Package basicGetNestingPackage() {
+ InternalEObject eInternalContainer = eInternalContainer();
+ return eInternalContainer instanceof org.eclipse.uml2.uml.Package
+ ? (org.eclipse.uml2.uml.Package) eInternalContainer
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void setNestingPackage(
+ org.eclipse.uml2.uml.Package newNestingPackage) {
+ if (newNestingPackage != eInternalContainer()) {
+ if (EcoreUtil.isAncestor(this, newNestingPackage))
+ throw new IllegalArgumentException(
+ "Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newNestingPackage != null)
+ msgs = ((InternalEList<org.eclipse.uml2.uml.Package>) newNestingPackage
+ .getNestedPackages()).basicAdd(this, msgs);
+ msgs = eBasicSetContainer((InternalEObject) newNestingPackage,
+ InternalEObject.EOPPOSITE_FEATURE_BASE
+ - UMLPackage.PACKAGE__PACKAGED_ELEMENT,
+ msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ UMLPackage.PACKAGE__NESTING_PACKAGE, newNestingPackage,
+ newNestingPackage));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList<Stereotype> getOwnedStereotypes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Stereotype> ownedStereotypes = (EList<Stereotype>) cache.get(
+ eResource, this, UMLPackage.Literals.PACKAGE__OWNED_STEREOTYPE);
+ if (ownedStereotypes == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.PACKAGE__OWNED_STEREOTYPE,
+ ownedStereotypes = new DerivedSubsetEObjectEList<Stereotype>(
+ Stereotype.class, this,
+ UMLPackage.PACKAGE__OWNED_STEREOTYPE,
+ OWNED_STEREOTYPE_ESUPERSETS));
+ }
+ return ownedStereotypes;
+ }
+ return new DerivedSubsetEObjectEList<Stereotype>(Stereotype.class, this,
+ UMLPackage.PACKAGE__OWNED_STEREOTYPE, OWNED_STEREOTYPE_ESUPERSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ProfileApplication> getProfileApplications() {
+ return (EList<ProfileApplication>) eDynamicGet(
+ UMLPackage.PACKAGE__PROFILE_APPLICATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE__PROFILE_APPLICATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProfileApplication createProfileApplication() {
+ ProfileApplication newProfileApplication = (ProfileApplication) create(
+ UMLPackage.Literals.PROFILE_APPLICATION);
+ getProfileApplications().add(newProfileApplication);
+ return newProfileApplication;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCompatibleWith(ParameterableElement p) {
+ return ParameterableElementOperations.isCompatibleWith(this, p);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTemplateParameter() {
+ return ParameterableElementOperations.isTemplateParameter(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNamespaceNeedsVisibility(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PackageableElementOperations
+ .validateNamespaceNeedsVisibility(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParameterableElement> parameterableElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<ParameterableElement> result = (EList<ParameterableElement>) cache
+ .get(this,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS,
+ result = TemplateableElementOperations
+ .parameterableElements(this));
+ }
+ return result;
+ }
+ return TemplateableElementOperations.parameterableElements(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTemplate() {
+ return TemplateableElementOperations.isTemplate(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateElementsPublicOrPrivate(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PackageOperations.validateElementsPublicOrPrivate(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class createOwnedClass(String name,
+ boolean isAbstract) {
+ return PackageOperations.createOwnedClass(this, name, isAbstract);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumeration createOwnedEnumeration(String name) {
+ return PackageOperations.createOwnedEnumeration(this, name);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PrimitiveType createOwnedPrimitiveType(String name) {
+ return PackageOperations.createOwnedPrimitiveType(this, name);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype createOwnedStereotype(String name, boolean isAbstract) {
+ return PackageOperations.createOwnedStereotype(this, name, isAbstract);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isProfileApplied(Profile profile) {
+ return PackageOperations.isProfileApplied(this, profile);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> applyProfile(Profile profile) {
+ return PackageOperations.applyProfile(this, profile);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> unapplyProfile(Profile profile) {
+ return PackageOperations.unapplyProfile(this, profile);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> applyProfiles(EList<Profile> profiles) {
+ return PackageOperations.applyProfiles(this, profiles);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Stereotype> allApplicableStereotypes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Stereotype> result = (EList<Stereotype>) cache.get(this,
+ UMLPackage.Literals.PACKAGE___ALL_APPLICABLE_STEREOTYPES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.PACKAGE___ALL_APPLICABLE_STEREOTYPES,
+ result = PackageOperations.allApplicableStereotypes(this));
+ }
+ return result;
+ }
+ return PackageOperations.allApplicableStereotypes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Profile containingProfile() {
+ return PackageOperations.containingProfile(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Profile> getAppliedProfiles() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Profile> result = (EList<Profile>) cache.get(this,
+ UMLPackage.Literals.PACKAGE___GET_APPLIED_PROFILES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.PACKAGE___GET_APPLIED_PROFILES,
+ result = PackageOperations.getAppliedProfiles(this));
+ }
+ return result;
+ }
+ return PackageOperations.getAppliedProfiles(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Profile getAppliedProfile(String qualifiedName) {
+ return PackageOperations.getAppliedProfile(this, qualifiedName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Profile getAppliedProfile(String qualifiedName, boolean recurse) {
+ return PackageOperations.getAppliedProfile(this, qualifiedName,
+ recurse);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ProfileApplication> getAllProfileApplications() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<ProfileApplication> result = (EList<ProfileApplication>) cache
+ .get(this,
+ UMLPackage.Literals.PACKAGE___GET_ALL_PROFILE_APPLICATIONS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.PACKAGE___GET_ALL_PROFILE_APPLICATIONS,
+ result = PackageOperations.getAllProfileApplications(this));
+ }
+ return result;
+ }
+ return PackageOperations.getAllProfileApplications(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProfileApplication getProfileApplication(Profile profile) {
+ return PackageOperations.getProfileApplication(this, profile);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProfileApplication getProfileApplication(Profile profile,
+ boolean recurse) {
+ return PackageOperations.getProfileApplication(this, profile, recurse);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface createOwnedInterface(String name) {
+ return PackageOperations.createOwnedInterface(this, name);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isModelLibrary() {
+ return PackageOperations.isModelLibrary(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Profile> getAllAppliedProfiles() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Profile> result = (EList<Profile>) cache.get(this,
+ UMLPackage.Literals.PACKAGE___GET_ALL_APPLIED_PROFILES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.PACKAGE___GET_ALL_APPLIED_PROFILES,
+ result = PackageOperations.getAllAppliedProfiles(this));
+ }
+ return result;
+ }
+ return PackageOperations.getAllAppliedProfiles(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PackageableElement> visibleMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<PackageableElement> result = (EList<PackageableElement>) cache
+ .get(this, UMLPackage.Literals.PACKAGE___VISIBLE_MEMBERS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.PACKAGE___VISIBLE_MEMBERS,
+ result = PackageOperations.visibleMembers(this));
+ }
+ return result;
+ }
+ return PackageOperations.visibleMembers(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean makesVisible(NamedElement el) {
+ return PackageOperations.makesVisible(this, el);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean mustBeOwned() {
+ return PackageOperations.mustBeOwned(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PACKAGE__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PACKAGE__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PACKAGE__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.PACKAGE__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.PACKAGE__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.PACKAGE__PACKAGE_MERGE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageMerges())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PACKAGE__PROFILE_APPLICATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getProfileApplications())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.PACKAGE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.PACKAGE__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.PACKAGE__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.PACKAGE__PACKAGE_MERGE :
+ return ((InternalEList<?>) getPackageMerges())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGE__PACKAGED_ELEMENT :
+ return ((InternalEList<?>) getPackagedElements())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGE__PROFILE_APPLICATION :
+ return ((InternalEList<?>) getProfileApplications())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PACKAGE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PACKAGE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PACKAGE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PACKAGE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.PACKAGE__NAME :
+ return getName();
+ case UMLPackage.PACKAGE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.PACKAGE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.PACKAGE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PACKAGE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.PACKAGE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.PACKAGE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.PACKAGE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.PACKAGE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.PACKAGE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.PACKAGE__MEMBER :
+ return getMembers();
+ case UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.PACKAGE__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.PACKAGE__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.PACKAGE__URI :
+ return getURI();
+ case UMLPackage.PACKAGE__NESTED_PACKAGE :
+ return getNestedPackages();
+ case UMLPackage.PACKAGE__NESTING_PACKAGE :
+ if (resolve)
+ return getNestingPackage();
+ return basicGetNestingPackage();
+ case UMLPackage.PACKAGE__OWNED_STEREOTYPE :
+ return getOwnedStereotypes();
+ case UMLPackage.PACKAGE__OWNED_TYPE :
+ return getOwnedTypes();
+ case UMLPackage.PACKAGE__PACKAGE_MERGE :
+ return getPackageMerges();
+ case UMLPackage.PACKAGE__PACKAGED_ELEMENT :
+ return getPackagedElements();
+ case UMLPackage.PACKAGE__PROFILE_APPLICATION :
+ return getProfileApplications();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PACKAGE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PACKAGE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.PACKAGE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.PACKAGE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.PACKAGE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.PACKAGE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.PACKAGE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PACKAGE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PACKAGE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.PACKAGE__URI :
+ setURI((String) newValue);
+ return;
+ case UMLPackage.PACKAGE__NESTED_PACKAGE :
+ getNestedPackages().clear();
+ getNestedPackages().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Package>) newValue);
+ return;
+ case UMLPackage.PACKAGE__NESTING_PACKAGE :
+ setNestingPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.PACKAGE__OWNED_TYPE :
+ getOwnedTypes().clear();
+ getOwnedTypes().addAll((Collection<? extends Type>) newValue);
+ return;
+ case UMLPackage.PACKAGE__PACKAGE_MERGE :
+ getPackageMerges().clear();
+ getPackageMerges()
+ .addAll((Collection<? extends PackageMerge>) newValue);
+ return;
+ case UMLPackage.PACKAGE__PACKAGED_ELEMENT :
+ getPackagedElements().clear();
+ getPackagedElements().addAll(
+ (Collection<? extends PackageableElement>) newValue);
+ return;
+ case UMLPackage.PACKAGE__PROFILE_APPLICATION :
+ getProfileApplications().clear();
+ getProfileApplications().addAll(
+ (Collection<? extends ProfileApplication>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PACKAGE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PACKAGE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.PACKAGE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.PACKAGE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.PACKAGE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.PACKAGE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.PACKAGE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PACKAGE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PACKAGE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.PACKAGE__URI :
+ setURI(URI_EDEFAULT);
+ return;
+ case UMLPackage.PACKAGE__NESTED_PACKAGE :
+ getNestedPackages().clear();
+ return;
+ case UMLPackage.PACKAGE__NESTING_PACKAGE :
+ setNestingPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.PACKAGE__OWNED_TYPE :
+ getOwnedTypes().clear();
+ return;
+ case UMLPackage.PACKAGE__PACKAGE_MERGE :
+ getPackageMerges().clear();
+ return;
+ case UMLPackage.PACKAGE__PACKAGED_ELEMENT :
+ getPackagedElements().clear();
+ return;
+ case UMLPackage.PACKAGE__PROFILE_APPLICATION :
+ getProfileApplications().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PACKAGE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PACKAGE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PACKAGE__OWNER :
+ return isSetOwner();
+ case UMLPackage.PACKAGE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.PACKAGE__NAME :
+ return isSetName();
+ case UMLPackage.PACKAGE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.PACKAGE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.PACKAGE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.PACKAGE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.PACKAGE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.PACKAGE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.PACKAGE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.PACKAGE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.PACKAGE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.PACKAGE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.PACKAGE__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.PACKAGE__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE :
+ return basicGetOwnedTemplateSignature() != null;
+ case UMLPackage.PACKAGE__URI :
+ return URI_EDEFAULT == null
+ ? getURI() != null
+ : !URI_EDEFAULT.equals(getURI());
+ case UMLPackage.PACKAGE__NESTED_PACKAGE :
+ return !getNestedPackages().isEmpty();
+ case UMLPackage.PACKAGE__NESTING_PACKAGE :
+ return basicGetNestingPackage() != null;
+ case UMLPackage.PACKAGE__OWNED_STEREOTYPE :
+ return !getOwnedStereotypes().isEmpty();
+ case UMLPackage.PACKAGE__OWNED_TYPE :
+ return !getOwnedTypes().isEmpty();
+ case UMLPackage.PACKAGE__PACKAGE_MERGE :
+ return !getPackageMerges().isEmpty();
+ case UMLPackage.PACKAGE__PACKAGED_ELEMENT :
+ return !getPackagedElements().isEmpty();
+ case UMLPackage.PACKAGE__PROFILE_APPLICATION :
+ return !getProfileApplications().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.PACKAGE__TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == PackageableElement.class) {
+ switch (derivedFeatureID) {
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == TemplateableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.PACKAGE__TEMPLATE_BINDING :
+ return UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING;
+ case UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE :
+ return UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return UMLPackage.PACKAGE__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == PackageableElement.class) {
+ switch (baseFeatureID) {
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == TemplateableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING :
+ return UMLPackage.PACKAGE__TEMPLATE_BINDING;
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE :
+ return UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return UMLPackage.PACKAGE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_TEMPLATE_PARAMETER :
+ return UMLPackage.PACKAGE___IS_TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == PackageableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.PACKAGEABLE_ELEMENT___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.PACKAGE___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == TemplateableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT___IS_TEMPLATE :
+ return UMLPackage.PACKAGE___IS_TEMPLATE;
+ case UMLPackage.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS :
+ return UMLPackage.PACKAGE___PARAMETERABLE_ELEMENTS;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PACKAGE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PACKAGE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PACKAGE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PACKAGE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PACKAGE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PACKAGE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PACKAGE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PACKAGE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PACKAGE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_MODEL :
+ return getModel();
+ case UMLPackage.PACKAGE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PACKAGE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PACKAGE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PACKAGE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PACKAGE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PACKAGE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PACKAGE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PACKAGE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PACKAGE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PACKAGE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PACKAGE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PACKAGE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PACKAGE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PACKAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.PACKAGE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.PACKAGE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.PACKAGE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.PACKAGE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.PACKAGE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.PACKAGE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PACKAGE___SEPARATOR :
+ return separator();
+ case UMLPackage.PACKAGE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.PACKAGE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.PACKAGE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.PACKAGE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.PACKAGE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.PACKAGE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.PACKAGE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.PACKAGE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.PACKAGE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.PACKAGE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.PACKAGE___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.PACKAGE___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGE___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.PACKAGE___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.PACKAGE___VALIDATE_ELEMENTS_PUBLIC_OR_PRIVATE__DIAGNOSTICCHAIN_MAP :
+ return validateElementsPublicOrPrivate(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGE___APPLY_PROFILE__PROFILE :
+ return applyProfile((Profile) arguments.get(0));
+ case UMLPackage.PACKAGE___CREATE_OWNED_CLASS__STRING_BOOLEAN :
+ return createOwnedClass((String) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.PACKAGE___CREATE_OWNED_ENUMERATION__STRING :
+ return createOwnedEnumeration((String) arguments.get(0));
+ case UMLPackage.PACKAGE___CREATE_OWNED_INTERFACE__STRING :
+ return createOwnedInterface((String) arguments.get(0));
+ case UMLPackage.PACKAGE___CREATE_OWNED_PRIMITIVE_TYPE__STRING :
+ return createOwnedPrimitiveType((String) arguments.get(0));
+ case UMLPackage.PACKAGE___CREATE_OWNED_STEREOTYPE__STRING_BOOLEAN :
+ return createOwnedStereotype((String) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.PACKAGE___GET_ALL_APPLIED_PROFILES :
+ return getAllAppliedProfiles();
+ case UMLPackage.PACKAGE___GET_ALL_PROFILE_APPLICATIONS :
+ return getAllProfileApplications();
+ case UMLPackage.PACKAGE___GET_APPLIED_PROFILE__STRING :
+ return getAppliedProfile((String) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_APPLIED_PROFILE__STRING_BOOLEAN :
+ return getAppliedProfile((String) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.PACKAGE___GET_APPLIED_PROFILES :
+ return getAppliedProfiles();
+ case UMLPackage.PACKAGE___GET_PROFILE_APPLICATION__PROFILE :
+ return getProfileApplication((Profile) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_PROFILE_APPLICATION__PROFILE_BOOLEAN :
+ return getProfileApplication((Profile) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.PACKAGE___IS_MODEL_LIBRARY :
+ return isModelLibrary();
+ case UMLPackage.PACKAGE___IS_PROFILE_APPLIED__PROFILE :
+ return isProfileApplied((Profile) arguments.get(0));
+ case UMLPackage.PACKAGE___UNAPPLY_PROFILE__PROFILE :
+ return unapplyProfile((Profile) arguments.get(0));
+ case UMLPackage.PACKAGE___APPLY_PROFILES__ELIST :
+ return applyProfiles((EList<Profile>) arguments.get(0));
+ case UMLPackage.PACKAGE___ALL_APPLICABLE_STEREOTYPES :
+ return allApplicableStereotypes();
+ case UMLPackage.PACKAGE___CONTAINING_PROFILE :
+ return containingProfile();
+ case UMLPackage.PACKAGE___MAKES_VISIBLE__NAMEDELEMENT :
+ return makesVisible((NamedElement) arguments.get(0));
+ case UMLPackage.PACKAGE___GET_NESTED_PACKAGES :
+ return getNestedPackages();
+ case UMLPackage.PACKAGE___GET_OWNED_STEREOTYPES :
+ return getOwnedStereotypes();
+ case UMLPackage.PACKAGE___GET_OWNED_TYPES :
+ return getOwnedTypes();
+ case UMLPackage.PACKAGE___VISIBLE_MEMBERS :
+ return visibleMembers();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null) {
+ return owningTemplateParameter;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.PACKAGE__OWNING_TEMPLATE_PARAMETER);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.PACKAGE__OWNED_COMMENT, UMLPackage.PACKAGE__NAME_EXPRESSION,
+ UMLPackage.PACKAGE__ELEMENT_IMPORT, UMLPackage.PACKAGE__PACKAGE_IMPORT,
+ UMLPackage.PACKAGE__OWNED_MEMBER, UMLPackage.PACKAGE__TEMPLATE_BINDING,
+ UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE,
+ UMLPackage.PACKAGE__PACKAGE_MERGE,
+ UMLPackage.PACKAGE__PROFILE_APPLICATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.PACKAGE__TEMPLATE_BINDING)
+ || eIsSet(UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE)
+ || eIsSet(UMLPackage.PACKAGE__PACKAGE_MERGE)
+ || eIsSet(UMLPackage.PACKAGE__PROFILE_APPLICATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace()
+ || eIsSet(UMLPackage.PACKAGE__NESTING_PACKAGE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.PACKAGE__OWNED_RULE, UMLPackage.PACKAGE__PACKAGED_ELEMENT};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getNestedPackages() <em>Nested Package</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNestedPackages()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] NESTED_PACKAGE_ESUPERSETS = new int[]{
+ UMLPackage.PACKAGE__PACKAGED_ELEMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package createNestedPackage(String name,
+ EClass eClass) {
+ org.eclipse.uml2.uml.Package newNestedPackage = (org.eclipse.uml2.uml.Package) create(
+ eClass);
+ getNestedPackages().add(newNestedPackage);
+ if (name != null)
+ newNestedPackage.setName(name);
+ return newNestedPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package createNestedPackage(String name) {
+ return createNestedPackage(name, UMLPackage.Literals.PACKAGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getNestedPackage(String name) {
+ return getNestedPackage(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getNestedPackage(String name,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ nestedPackageLoop : for (org.eclipse.uml2.uml.Package nestedPackage : getNestedPackages()) {
+ if (eClass != null && !eClass.isInstance(nestedPackage))
+ continue nestedPackageLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(nestedPackage.getName())
+ : name.equals(nestedPackage.getName())))
+ continue nestedPackageLoop;
+ return nestedPackage;
+ }
+ return createOnDemand && eClass != null
+ ? createNestedPackage(name, eClass)
+ : null;
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getOwnedStereotypes() <em>Owned Stereotype</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedStereotypes()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_STEREOTYPE_ESUPERSETS = new int[]{
+ UMLPackage.PACKAGE__PACKAGED_ELEMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype getOwnedStereotype(String name) {
+ return getOwnedStereotype(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype getOwnedStereotype(String name, boolean ignoreCase) {
+ ownedStereotypeLoop : for (Stereotype ownedStereotype : getOwnedStereotypes()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedStereotype.getName())
+ : name.equals(ownedStereotype.getName())))
+ continue ownedStereotypeLoop;
+ return ownedStereotype;
+ }
+ return null;
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getOwnedTypes() <em>Owned Type</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedTypes()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_TYPE_ESUPERSETS = new int[]{
+ UMLPackage.PACKAGE__PACKAGED_ELEMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Type createOwnedType(String name, EClass eClass) {
+ return (Type) createPackagedElement(name, eClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getOwnedType(String name) {
+ return getOwnedType(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getOwnedType(String name, boolean ignoreCase, EClass eClass,
+ boolean createOnDemand) {
+ ownedTypeLoop : for (Type ownedType : getOwnedTypes()) {
+ if (eClass != null && !eClass.isInstance(ownedType))
+ continue ownedTypeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedType.getName())
+ : name.equals(ownedType.getName())))
+ continue ownedTypeLoop;
+ return ownedType;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedType(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.PACKAGE__PACKAGED_ELEMENT);
+ }
+
+} //PackageImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageImportImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageImportImpl.java
new file mode 100644
index 00000000..4671775d
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageImportImpl.java
@@ -0,0 +1,642 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.PackageImportOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Package Import</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImportImpl#getTargets <em>Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImportImpl#getSources <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImportImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImportImpl#getImportedPackage <em>Imported Package</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImportImpl#getImportingNamespace <em>Importing Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageImportImpl#getVisibility <em>Visibility</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PackageImportImpl
+ extends DirectedRelationshipImpl
+ implements PackageImport {
+
+ /**
+ * The default value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVisibility()
+ * @generated
+ * @ordered
+ */
+ protected static final VisibilityKind VISIBILITY_EDEFAULT = VisibilityKind.PUBLIC_LITERAL;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PackageImportImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PACKAGE_IMPORT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getTargets() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> targets = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET);
+ if (targets == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET,
+ targets = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.PACKAGE_IMPORT__TARGET,
+ TARGET_ESUBSETS));
+ }
+ return targets;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PACKAGE_IMPORT__TARGET, TARGET_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getSources() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> sources = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE);
+ if (sources == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE,
+ sources = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.PACKAGE_IMPORT__SOURCE,
+ SOURCE_ESUBSETS));
+ }
+ return sources;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PACKAGE_IMPORT__SOURCE, SOURCE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VisibilityKind getVisibility() {
+ return (VisibilityKind) eDynamicGet(
+ UMLPackage.PACKAGE_IMPORT__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_IMPORT__VISIBILITY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVisibility(VisibilityKind newVisibility) {
+ eDynamicSet(
+ UMLPackage.PACKAGE_IMPORT__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_IMPORT__VISIBILITY, newVisibility);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getImportedPackage() {
+ return (org.eclipse.uml2.uml.Package) eDynamicGet(
+ UMLPackage.PACKAGE_IMPORT__IMPORTED_PACKAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_IMPORT__IMPORTED_PACKAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetImportedPackage() {
+ return (org.eclipse.uml2.uml.Package) eDynamicGet(
+ UMLPackage.PACKAGE_IMPORT__IMPORTED_PACKAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_IMPORT__IMPORTED_PACKAGE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImportedPackage(
+ org.eclipse.uml2.uml.Package newImportedPackage) {
+ eDynamicSet(
+ UMLPackage.PACKAGE_IMPORT__IMPORTED_PACKAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_IMPORT__IMPORTED_PACKAGE,
+ newImportedPackage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Namespace getImportingNamespace() {
+ return (Namespace) eDynamicGet(
+ UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_IMPORT__IMPORTING_NAMESPACE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Namespace basicGetImportingNamespace() {
+ return (Namespace) eDynamicGet(
+ UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_IMPORT__IMPORTING_NAMESPACE, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetImportingNamespace(
+ Namespace newImportingNamespace, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newImportingNamespace,
+ UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImportingNamespace(Namespace newImportingNamespace) {
+ eDynamicSet(
+ UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_IMPORT__IMPORTING_NAMESPACE,
+ newImportingNamespace);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePublicOrPrivate(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PackageImportOperations.validatePublicOrPrivate(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE_IMPORT__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetImportingNamespace((Namespace) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE_IMPORT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGE_IMPORT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE :
+ return basicSetImportingNamespace(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.NAMESPACE__PACKAGE_IMPORT, Namespace.class,
+ msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE_IMPORT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PACKAGE_IMPORT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PACKAGE_IMPORT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PACKAGE_IMPORT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PACKAGE_IMPORT__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.PACKAGE_IMPORT__SOURCE :
+ return getSources();
+ case UMLPackage.PACKAGE_IMPORT__TARGET :
+ return getTargets();
+ case UMLPackage.PACKAGE_IMPORT__IMPORTED_PACKAGE :
+ if (resolve)
+ return getImportedPackage();
+ return basicGetImportedPackage();
+ case UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE :
+ if (resolve)
+ return getImportingNamespace();
+ return basicGetImportingNamespace();
+ case UMLPackage.PACKAGE_IMPORT__VISIBILITY :
+ return getVisibility();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE_IMPORT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PACKAGE_IMPORT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PACKAGE_IMPORT__IMPORTED_PACKAGE :
+ setImportedPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE :
+ setImportingNamespace((Namespace) newValue);
+ return;
+ case UMLPackage.PACKAGE_IMPORT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE_IMPORT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PACKAGE_IMPORT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PACKAGE_IMPORT__IMPORTED_PACKAGE :
+ setImportedPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE :
+ setImportingNamespace((Namespace) null);
+ return;
+ case UMLPackage.PACKAGE_IMPORT__VISIBILITY :
+ setVisibility(VISIBILITY_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE_IMPORT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PACKAGE_IMPORT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PACKAGE_IMPORT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PACKAGE_IMPORT__OWNER :
+ return isSetOwner();
+ case UMLPackage.PACKAGE_IMPORT__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.PACKAGE_IMPORT__SOURCE :
+ return isSetSources();
+ case UMLPackage.PACKAGE_IMPORT__TARGET :
+ return isSetTargets();
+ case UMLPackage.PACKAGE_IMPORT__IMPORTED_PACKAGE :
+ return basicGetImportedPackage() != null;
+ case UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE :
+ return basicGetImportingNamespace() != null;
+ case UMLPackage.PACKAGE_IMPORT__VISIBILITY :
+ return getVisibility() != VISIBILITY_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PACKAGE_IMPORT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGE_IMPORT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGE_IMPORT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PACKAGE_IMPORT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PACKAGE_IMPORT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PACKAGE_IMPORT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PACKAGE_IMPORT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PACKAGE_IMPORT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___GET_MODEL :
+ return getModel();
+ case UMLPackage.PACKAGE_IMPORT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PACKAGE_IMPORT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PACKAGE_IMPORT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PACKAGE_IMPORT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PACKAGE_IMPORT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PACKAGE_IMPORT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PACKAGE_IMPORT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PACKAGE_IMPORT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PACKAGE_IMPORT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PACKAGE_IMPORT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGE_IMPORT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PACKAGE_IMPORT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PACKAGE_IMPORT___VALIDATE_PUBLIC_OR_PRIVATE__DIAGNOSTICCHAIN_MAP :
+ return validatePublicOrPrivate(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getTargets() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] TARGET_ESUBSETS = new int[]{
+ UMLPackage.PACKAGE_IMPORT__IMPORTED_PACKAGE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetTargets() {
+ return super.isSetTargets()
+ || eIsSet(UMLPackage.PACKAGE_IMPORT__IMPORTED_PACKAGE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSources() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSources()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SOURCE_ESUBSETS = new int[]{
+ UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetSources() {
+ return super.isSetSources()
+ || eIsSet(UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ Namespace importingNamespace = basicGetImportingNamespace();
+ if (importingNamespace != null) {
+ return importingNamespace;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE);
+ }
+
+} //PackageImportImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageMergeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageMergeImpl.java
new file mode 100644
index 00000000..a55a6c19
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageMergeImpl.java
@@ -0,0 +1,472 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Package Merge</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageMergeImpl#getTargets <em>Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageMergeImpl#getSources <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageMergeImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageMergeImpl#getMergedPackage <em>Merged Package</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageMergeImpl#getReceivingPackage <em>Receiving Package</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PackageMergeImpl
+ extends DirectedRelationshipImpl
+ implements PackageMerge {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PackageMergeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PACKAGE_MERGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getTargets() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> targets = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET);
+ if (targets == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET,
+ targets = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.PACKAGE_MERGE__TARGET,
+ TARGET_ESUBSETS));
+ }
+ return targets;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PACKAGE_MERGE__TARGET, TARGET_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getSources() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> sources = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE);
+ if (sources == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE,
+ sources = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.PACKAGE_MERGE__SOURCE,
+ SOURCE_ESUBSETS));
+ }
+ return sources;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PACKAGE_MERGE__SOURCE, SOURCE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getMergedPackage() {
+ return (org.eclipse.uml2.uml.Package) eDynamicGet(
+ UMLPackage.PACKAGE_MERGE__MERGED_PACKAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_MERGE__MERGED_PACKAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetMergedPackage() {
+ return (org.eclipse.uml2.uml.Package) eDynamicGet(
+ UMLPackage.PACKAGE_MERGE__MERGED_PACKAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_MERGE__MERGED_PACKAGE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMergedPackage(
+ org.eclipse.uml2.uml.Package newMergedPackage) {
+ eDynamicSet(
+ UMLPackage.PACKAGE_MERGE__MERGED_PACKAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_MERGE__MERGED_PACKAGE,
+ newMergedPackage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getReceivingPackage() {
+ return (org.eclipse.uml2.uml.Package) eDynamicGet(
+ UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_MERGE__RECEIVING_PACKAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetReceivingPackage() {
+ return (org.eclipse.uml2.uml.Package) eDynamicGet(
+ UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_MERGE__RECEIVING_PACKAGE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetReceivingPackage(
+ org.eclipse.uml2.uml.Package newReceivingPackage,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newReceivingPackage,
+ UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReceivingPackage(
+ org.eclipse.uml2.uml.Package newReceivingPackage) {
+ eDynamicSet(
+ UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PACKAGE_MERGE__RECEIVING_PACKAGE,
+ newReceivingPackage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE_MERGE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetReceivingPackage(
+ (org.eclipse.uml2.uml.Package) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE_MERGE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGE_MERGE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE :
+ return basicSetReceivingPackage(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.PACKAGE__PACKAGE_MERGE,
+ org.eclipse.uml2.uml.Package.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE_MERGE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PACKAGE_MERGE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PACKAGE_MERGE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PACKAGE_MERGE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PACKAGE_MERGE__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.PACKAGE_MERGE__SOURCE :
+ return getSources();
+ case UMLPackage.PACKAGE_MERGE__TARGET :
+ return getTargets();
+ case UMLPackage.PACKAGE_MERGE__MERGED_PACKAGE :
+ if (resolve)
+ return getMergedPackage();
+ return basicGetMergedPackage();
+ case UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE :
+ if (resolve)
+ return getReceivingPackage();
+ return basicGetReceivingPackage();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE_MERGE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PACKAGE_MERGE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PACKAGE_MERGE__MERGED_PACKAGE :
+ setMergedPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE :
+ setReceivingPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE_MERGE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PACKAGE_MERGE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PACKAGE_MERGE__MERGED_PACKAGE :
+ setMergedPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE :
+ setReceivingPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PACKAGE_MERGE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PACKAGE_MERGE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PACKAGE_MERGE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PACKAGE_MERGE__OWNER :
+ return isSetOwner();
+ case UMLPackage.PACKAGE_MERGE__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.PACKAGE_MERGE__SOURCE :
+ return isSetSources();
+ case UMLPackage.PACKAGE_MERGE__TARGET :
+ return isSetTargets();
+ case UMLPackage.PACKAGE_MERGE__MERGED_PACKAGE :
+ return basicGetMergedPackage() != null;
+ case UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE :
+ return basicGetReceivingPackage() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getTargets() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] TARGET_ESUBSETS = new int[]{
+ UMLPackage.PACKAGE_MERGE__MERGED_PACKAGE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetTargets() {
+ return super.isSetTargets()
+ || eIsSet(UMLPackage.PACKAGE_MERGE__MERGED_PACKAGE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSources() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSources()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SOURCE_ESUBSETS = new int[]{
+ UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetSources() {
+ return super.isSetSources()
+ || eIsSet(UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ org.eclipse.uml2.uml.Package receivingPackage = basicGetReceivingPackage();
+ if (receivingPackage != null) {
+ return receivingPackage;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.PACKAGE_MERGE__RECEIVING_PACKAGE);
+ }
+
+} //PackageMergeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageableElementImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageableElementImpl.java
new file mode 100644
index 00000000..22313c00
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PackageableElementImpl.java
@@ -0,0 +1,769 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 454400, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.PackageableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.ParameterableElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Packageable Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageableElementImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageableElementImpl#getTemplateParameter <em>Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageableElementImpl#getOwningTemplateParameter <em>Owning Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PackageableElementImpl#getVisibility <em>Visibility</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class PackageableElementImpl
+ extends NamedElementImpl
+ implements PackageableElement {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PackageableElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PACKAGEABLE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemplateParameter(
+ TemplateParameter newTemplateParameter, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newTemplateParameter,
+ UMLPackage.PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null
+ && owningTemplateParameter != newTemplateParameter) {
+ setOwningTemplateParameter(null);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemplateParameter(TemplateParameter newTemplateParameter) {
+ eDynamicSet(
+ UMLPackage.PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ newTemplateParameter);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null
+ && owningTemplateParameter != newTemplateParameter) {
+ setOwningTemplateParameter(null);
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newOwningTemplateParameter,
+ UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter) {
+ eDynamicSet(
+ UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ newOwningTemplateParameter);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public VisibilityKind getVisibility() {
+ return (VisibilityKind) eDynamicGet(
+ UMLPackage.PACKAGEABLE_ELEMENT__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setVisibility(VisibilityKind newVisibility) {
+ eDynamicSet(
+ UMLPackage.PACKAGEABLE_ELEMENT__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY, newVisibility);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void unsetVisibility() {
+ eDynamicUnset(
+ UMLPackage.PACKAGEABLE_ELEMENT__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetVisibility() {
+ return eDynamicIsSet(
+ UMLPackage.PACKAGEABLE_ELEMENT__VISIBILITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCompatibleWith(ParameterableElement p) {
+ return ParameterableElementOperations.isCompatibleWith(this, p);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTemplateParameter() {
+ return ParameterableElementOperations.isTemplateParameter(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNamespaceNeedsVisibility(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PackageableElementOperations
+ .validateNamespaceNeedsVisibility(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PACKAGEABLE_ELEMENT__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PACKAGEABLE_ELEMENT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PACKAGEABLE_ELEMENT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PACKAGEABLE_ELEMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PACKAGEABLE_ELEMENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.PACKAGEABLE_ELEMENT__NAME :
+ return getName();
+ case UMLPackage.PACKAGEABLE_ELEMENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.PACKAGEABLE_ELEMENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.PACKAGEABLE_ELEMENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PACKAGEABLE_ELEMENT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PACKAGEABLE_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PACKAGEABLE_ELEMENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.PACKAGEABLE_ELEMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.PACKAGEABLE_ELEMENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PACKAGEABLE_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PACKAGEABLE_ELEMENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.PACKAGEABLE_ELEMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.PACKAGEABLE_ELEMENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PACKAGEABLE_ELEMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.PACKAGEABLE_ELEMENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.PACKAGEABLE_ELEMENT__NAME :
+ return isSetName();
+ case UMLPackage.PACKAGEABLE_ELEMENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.PACKAGEABLE_ELEMENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.PACKAGEABLE_ELEMENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.PACKAGEABLE_ELEMENT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return UMLPackage.PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return UMLPackage.PACKAGEABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_TEMPLATE_PARAMETER :
+ return UMLPackage.PACKAGEABLE_ELEMENT___IS_TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGEABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGEABLE_ELEMENT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_MODEL :
+ return getModel();
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PACKAGEABLE_ELEMENT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PACKAGEABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PACKAGEABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PACKAGEABLE_ELEMENT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGEABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGEABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PACKAGEABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.PACKAGEABLE_ELEMENT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.PACKAGEABLE_ELEMENT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.PACKAGEABLE_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PACKAGEABLE_ELEMENT___SEPARATOR :
+ return separator();
+ case UMLPackage.PACKAGEABLE_ELEMENT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.PACKAGEABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.PACKAGEABLE_ELEMENT___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.PACKAGEABLE_ELEMENT___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null) {
+ return owningTemplateParameter;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner() || eIsSet(
+ UMLPackage.PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER);
+ }
+
+} //PackageableElementImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ParameterImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ParameterImpl.java
new file mode 100644
index 00000000..cc3e12c7
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ParameterImpl.java
@@ -0,0 +1,1761 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterDirectionKind;
+import org.eclipse.uml2.uml.ParameterEffectKind;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.MultiplicityElementOperations;
+import org.eclipse.uml2.uml.internal.operations.ParameterOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#isOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#isUnique <em>Is Unique</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#getLower <em>Lower</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#getLowerValue <em>Lower Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#getUpperValue <em>Upper Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#getDefault <em>Default</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#getDirection <em>Direction</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#getEffect <em>Effect</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#isException <em>Is Exception</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#isStream <em>Is Stream</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#getOperation <em>Operation</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterImpl#getParameterSets <em>Parameter Set</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ParameterImpl
+ extends ConnectableElementImpl
+ implements Parameter {
+
+ /**
+ * The default value of the '{@link #isOrdered() <em>Is Ordered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOrdered()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ORDERED_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isUnique() <em>Is Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnique()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_UNIQUE_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLower()
+ * @generated
+ * @ordered
+ */
+ protected static final int LOWER_EDEFAULT = 1;
+
+ /**
+ * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpper()
+ * @generated
+ * @ordered
+ */
+ protected static final int UPPER_EDEFAULT = 1;
+
+ /**
+ * The default value of the '{@link #getDefault() <em>Default</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefault()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEFAULT_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDirection()
+ * @generated
+ * @ordered
+ */
+ protected static final ParameterDirectionKind DIRECTION_EDEFAULT = ParameterDirectionKind.IN_LITERAL;
+
+ /**
+ * The default value of the '{@link #getEffect() <em>Effect</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEffect()
+ * @generated
+ * @ordered
+ */
+ protected static final ParameterEffectKind EFFECT_EDEFAULT = ParameterEffectKind.CREATE_LITERAL;
+
+ /**
+ * The default value of the '{@link #isException() <em>Is Exception</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isException()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_EXCEPTION_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isStream() <em>Is Stream</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isStream()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_STREAM_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PARAMETER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.PARAMETER__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PARAMETER__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOrdered() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PARAMETER__IS_ORDERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_ORDERED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsOrdered(boolean newIsOrdered) {
+ eDynamicSet(UMLPackage.PARAMETER__IS_ORDERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_ORDERED, newIsOrdered);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnique() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PARAMETER__IS_UNIQUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_UNIQUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsUnique(boolean newIsUnique) {
+ eDynamicSet(UMLPackage.PARAMETER__IS_UNIQUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_UNIQUE, newIsUnique);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getUpper() {
+ return MultiplicityElementOperations.getUpper(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpper(int newUpper) {
+ MultiplicityElementOperations.setUpper(this, newUpper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLower() {
+ return MultiplicityElementOperations.getLower(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLower(int newLower) {
+ MultiplicityElementOperations.setLower(this, newLower);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getUpperValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.PARAMETER__UPPER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetUpperValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.PARAMETER__UPPER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetUpperValue(
+ ValueSpecification newUpperValue, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newUpperValue,
+ UMLPackage.PARAMETER__UPPER_VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpperValue(ValueSpecification newUpperValue) {
+ eDynamicSet(UMLPackage.PARAMETER__UPPER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE,
+ newUpperValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createUpperValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newUpperValue = (ValueSpecification) create(eClass);
+ setUpperValue(newUpperValue);
+ if (name != null)
+ newUpperValue.setName(name);
+ if (type != null)
+ newUpperValue.setType(type);
+ return newUpperValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ Operation operation = basicGetOperation();
+ if (operation != null) {
+ return operation;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getLowerValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.PARAMETER__LOWER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetLowerValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.PARAMETER__LOWER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLowerValue(
+ ValueSpecification newLowerValue, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newLowerValue,
+ UMLPackage.PARAMETER__LOWER_VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLowerValue(ValueSpecification newLowerValue) {
+ eDynamicSet(UMLPackage.PARAMETER__LOWER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE,
+ newLowerValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createLowerValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newLowerValue = (ValueSpecification) create(eClass);
+ setLowerValue(newLowerValue);
+ if (name != null)
+ newLowerValue.setName(name);
+ if (type != null)
+ newLowerValue.setType(type);
+ return newLowerValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ParameterSet> getParameterSets() {
+ return (EList<ParameterSet>) eDynamicGet(
+ UMLPackage.PARAMETER__PARAMETER_SET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__PARAMETER_SET, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet getParameterSet(String name) {
+ return getParameterSet(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet getParameterSet(String name, boolean ignoreCase) {
+ parameterSetLoop : for (ParameterSet parameterSet : getParameterSets()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(parameterSet.getName())
+ : name.equals(parameterSet.getName())))
+ continue parameterSetLoop;
+ return parameterSet;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOperation() {
+ Operation operation = basicGetOperation();
+ return operation != null && operation.eIsProxy()
+ ? (Operation) eResolveProxy((InternalEObject) operation)
+ : operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Operation basicGetOperation() {
+ InternalEObject eInternalContainer = eInternalContainer();
+ return eInternalContainer instanceof Operation
+ ? (Operation) eInternalContainer
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void setOperation(Operation newOperation) {
+ if (newOperation != eInternalContainer()) {
+ if (EcoreUtil.isAncestor(this, newOperation))
+ throw new IllegalArgumentException(
+ "Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newOperation != null)
+ msgs = ((InternalEList<Parameter>) newOperation
+ .getOwnedParameters()).basicAdd(this, msgs);
+ msgs = eBasicSetContainer((InternalEObject) newOperation,
+ InternalEObject.EOPPOSITE_FEATURE_BASE
+ - UMLPackage.OPERATION__OWNED_PARAMETER,
+ msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ UMLPackage.PARAMETER__OPERATION, newOperation, newOperation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterDirectionKind getDirection() {
+ return (ParameterDirectionKind) eDynamicGet(
+ UMLPackage.PARAMETER__DIRECTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__DIRECTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDirection(ParameterDirectionKind newDirection) {
+ eDynamicSet(UMLPackage.PARAMETER__DIRECTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__DIRECTION, newDirection);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDefault() {
+ return ParameterOperations.getDefault(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefault(String newDefault) {
+ ParameterOperations.setDefault(this, newDefault);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetDefault() {
+ ParameterOperations.unsetDefault(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetDefault() {
+ return ParameterOperations.isSetDefault(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getDefaultValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.PARAMETER__DEFAULT_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__DEFAULT_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetDefaultValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.PARAMETER__DEFAULT_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__DEFAULT_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDefaultValue(
+ ValueSpecification newDefaultValue, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newDefaultValue,
+ UMLPackage.PARAMETER__DEFAULT_VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefaultValue(ValueSpecification newDefaultValue) {
+ eDynamicSet(UMLPackage.PARAMETER__DEFAULT_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__DEFAULT_VALUE, newDefaultValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createDefaultValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newDefaultValue = (ValueSpecification) create(
+ eClass);
+ setDefaultValue(newDefaultValue);
+ if (name != null)
+ newDefaultValue.setName(name);
+ if (type != null)
+ newDefaultValue.setType(type);
+ return newDefaultValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isException() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PARAMETER__IS_EXCEPTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__IS_EXCEPTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsException(boolean newIsException) {
+ eDynamicSet(UMLPackage.PARAMETER__IS_EXCEPTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__IS_EXCEPTION, newIsException);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isStream() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PARAMETER__IS_STREAM - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__IS_STREAM, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsStream(boolean newIsStream) {
+ eDynamicSet(UMLPackage.PARAMETER__IS_STREAM - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__IS_STREAM, newIsStream);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterEffectKind getEffect() {
+ return (ParameterEffectKind) eDynamicGet(
+ UMLPackage.PARAMETER__EFFECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__EFFECT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEffect(ParameterEffectKind newEffect) {
+ eDynamicSet(UMLPackage.PARAMETER__EFFECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__EFFECT, newEffect);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetEffect() {
+ eDynamicUnset(UMLPackage.PARAMETER__EFFECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__EFFECT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetEffect() {
+ return eDynamicIsSet(
+ UMLPackage.PARAMETER__EFFECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER__EFFECT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLowerGe0(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateLowerGe0(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUpperGeLower(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateUpperGeLower(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateValueSpecificationNoSideEffects(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateValueSpecificationNoSideEffects(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateValueSpecificationConstant(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateValueSpecificationConstant(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLowerIsInteger(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateLowerIsInteger(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUpperIsUnlimitedNatural(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateUpperIsUnlimitedNatural(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMultivalued() {
+ return MultiplicityElementOperations.isMultivalued(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean includesMultiplicity(MultiplicityElement M) {
+ return MultiplicityElementOperations.includesMultiplicity(this, M);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int lowerBound() {
+ return MultiplicityElementOperations.lowerBound(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int upperBound() {
+ return MultiplicityElementOperations.upperBound(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean compatibleWith(MultiplicityElement other) {
+ return MultiplicityElementOperations.compatibleWith(this, other);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean is(int lowerbound, int upperbound) {
+ return MultiplicityElementOperations.is(this, lowerbound, upperbound);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConnectorEnd(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ParameterOperations.validateConnectorEnd(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateStreamAndException(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ParameterOperations.validateStreamAndException(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateObjectEffect(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ParameterOperations.validateObjectEffect(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNotException(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ParameterOperations.validateNotException(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateReentrantBehaviors(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ParameterOperations.validateReentrantBehaviors(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInAndOut(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ParameterOperations.validateInAndOut(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBooleanDefaultValue(boolean value) {
+ ParameterOperations.setBooleanDefaultValue(this, value);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIntegerDefaultValue(int value) {
+ ParameterOperations.setIntegerDefaultValue(this, value);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStringDefaultValue(String value) {
+ ParameterOperations.setStringDefaultValue(this, value);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnlimitedNaturalDefaultValue(int value) {
+ ParameterOperations.setUnlimitedNaturalDefaultValue(this, value);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNullDefaultValue() {
+ ParameterOperations.setNullDefaultValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRealDefaultValue(double value) {
+ ParameterOperations.setRealDefaultValue(this, value);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PARAMETER__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PARAMETER__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.PARAMETER__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.PARAMETER__PARAMETER_SET :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getParameterSets())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PARAMETER__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PARAMETER__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PARAMETER__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.PARAMETER__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.PARAMETER__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.PARAMETER__LOWER_VALUE :
+ return basicSetLowerValue(null, msgs);
+ case UMLPackage.PARAMETER__UPPER_VALUE :
+ return basicSetUpperValue(null, msgs);
+ case UMLPackage.PARAMETER__DEFAULT_VALUE :
+ return basicSetDefaultValue(null, msgs);
+ case UMLPackage.PARAMETER__PARAMETER_SET :
+ return ((InternalEList<?>) getParameterSets())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PARAMETER__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PARAMETER__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PARAMETER__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PARAMETER__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PARAMETER__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.PARAMETER__NAME :
+ return getName();
+ case UMLPackage.PARAMETER__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.PARAMETER__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.PARAMETER__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PARAMETER__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.PARAMETER__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.PARAMETER__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.PARAMETER__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.PARAMETER__END :
+ return getEnds();
+ case UMLPackage.PARAMETER__IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.PARAMETER__IS_UNIQUE :
+ return isUnique();
+ case UMLPackage.PARAMETER__LOWER :
+ return getLower();
+ case UMLPackage.PARAMETER__LOWER_VALUE :
+ if (resolve)
+ return getLowerValue();
+ return basicGetLowerValue();
+ case UMLPackage.PARAMETER__UPPER :
+ return getUpper();
+ case UMLPackage.PARAMETER__UPPER_VALUE :
+ if (resolve)
+ return getUpperValue();
+ return basicGetUpperValue();
+ case UMLPackage.PARAMETER__DEFAULT :
+ return getDefault();
+ case UMLPackage.PARAMETER__DEFAULT_VALUE :
+ if (resolve)
+ return getDefaultValue();
+ return basicGetDefaultValue();
+ case UMLPackage.PARAMETER__DIRECTION :
+ return getDirection();
+ case UMLPackage.PARAMETER__EFFECT :
+ return getEffect();
+ case UMLPackage.PARAMETER__IS_EXCEPTION :
+ return isException();
+ case UMLPackage.PARAMETER__IS_STREAM :
+ return isStream();
+ case UMLPackage.PARAMETER__OPERATION :
+ if (resolve)
+ return getOperation();
+ return basicGetOperation();
+ case UMLPackage.PARAMETER__PARAMETER_SET :
+ return getParameterSets();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PARAMETER__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PARAMETER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PARAMETER__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.PARAMETER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.PARAMETER__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.PARAMETER__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.PARAMETER__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PARAMETER__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PARAMETER__IS_ORDERED :
+ setIsOrdered((Boolean) newValue);
+ return;
+ case UMLPackage.PARAMETER__IS_UNIQUE :
+ setIsUnique((Boolean) newValue);
+ return;
+ case UMLPackage.PARAMETER__LOWER :
+ setLower((Integer) newValue);
+ return;
+ case UMLPackage.PARAMETER__LOWER_VALUE :
+ setLowerValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.PARAMETER__UPPER :
+ setUpper((Integer) newValue);
+ return;
+ case UMLPackage.PARAMETER__UPPER_VALUE :
+ setUpperValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.PARAMETER__DEFAULT :
+ setDefault((String) newValue);
+ return;
+ case UMLPackage.PARAMETER__DEFAULT_VALUE :
+ setDefaultValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.PARAMETER__DIRECTION :
+ setDirection((ParameterDirectionKind) newValue);
+ return;
+ case UMLPackage.PARAMETER__EFFECT :
+ setEffect((ParameterEffectKind) newValue);
+ return;
+ case UMLPackage.PARAMETER__IS_EXCEPTION :
+ setIsException((Boolean) newValue);
+ return;
+ case UMLPackage.PARAMETER__IS_STREAM :
+ setIsStream((Boolean) newValue);
+ return;
+ case UMLPackage.PARAMETER__PARAMETER_SET :
+ getParameterSets().clear();
+ getParameterSets()
+ .addAll((Collection<? extends ParameterSet>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ @Override
+ public void eDynamicSet(int featureID, Object newValue) {
+
+ if (featureID == UMLPackage.PARAMETER__OPERATION) {
+ setOperation((Operation) newValue);
+ return;
+ }
+
+ super.eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PARAMETER__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PARAMETER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PARAMETER__NAME :
+ unsetName();
+ return;
+ case UMLPackage.PARAMETER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.PARAMETER__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.PARAMETER__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.PARAMETER__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PARAMETER__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PARAMETER__IS_ORDERED :
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case UMLPackage.PARAMETER__IS_UNIQUE :
+ setIsUnique(IS_UNIQUE_EDEFAULT);
+ return;
+ case UMLPackage.PARAMETER__LOWER :
+ setLower(LOWER_EDEFAULT);
+ return;
+ case UMLPackage.PARAMETER__LOWER_VALUE :
+ setLowerValue((ValueSpecification) null);
+ return;
+ case UMLPackage.PARAMETER__UPPER :
+ setUpper(UPPER_EDEFAULT);
+ return;
+ case UMLPackage.PARAMETER__UPPER_VALUE :
+ setUpperValue((ValueSpecification) null);
+ return;
+ case UMLPackage.PARAMETER__DEFAULT :
+ unsetDefault();
+ return;
+ case UMLPackage.PARAMETER__DEFAULT_VALUE :
+ setDefaultValue((ValueSpecification) null);
+ return;
+ case UMLPackage.PARAMETER__DIRECTION :
+ setDirection(DIRECTION_EDEFAULT);
+ return;
+ case UMLPackage.PARAMETER__EFFECT :
+ unsetEffect();
+ return;
+ case UMLPackage.PARAMETER__IS_EXCEPTION :
+ setIsException(IS_EXCEPTION_EDEFAULT);
+ return;
+ case UMLPackage.PARAMETER__IS_STREAM :
+ setIsStream(IS_STREAM_EDEFAULT);
+ return;
+ case UMLPackage.PARAMETER__PARAMETER_SET :
+ getParameterSets().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PARAMETER__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PARAMETER__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PARAMETER__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PARAMETER__OWNER :
+ return isSetOwner();
+ case UMLPackage.PARAMETER__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.PARAMETER__NAME :
+ return isSetName();
+ case UMLPackage.PARAMETER__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.PARAMETER__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.PARAMETER__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.PARAMETER__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.PARAMETER__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.PARAMETER__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.PARAMETER__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.PARAMETER__END :
+ return !getEnds().isEmpty();
+ case UMLPackage.PARAMETER__IS_ORDERED :
+ return isOrdered() != IS_ORDERED_EDEFAULT;
+ case UMLPackage.PARAMETER__IS_UNIQUE :
+ return isUnique() != IS_UNIQUE_EDEFAULT;
+ case UMLPackage.PARAMETER__LOWER :
+ return getLower() != LOWER_EDEFAULT;
+ case UMLPackage.PARAMETER__LOWER_VALUE :
+ return basicGetLowerValue() != null;
+ case UMLPackage.PARAMETER__UPPER :
+ return getUpper() != UPPER_EDEFAULT;
+ case UMLPackage.PARAMETER__UPPER_VALUE :
+ return basicGetUpperValue() != null;
+ case UMLPackage.PARAMETER__DEFAULT :
+ return isSetDefault();
+ case UMLPackage.PARAMETER__DEFAULT_VALUE :
+ return basicGetDefaultValue() != null;
+ case UMLPackage.PARAMETER__DIRECTION :
+ return getDirection() != DIRECTION_EDEFAULT;
+ case UMLPackage.PARAMETER__EFFECT :
+ return isSetEffect();
+ case UMLPackage.PARAMETER__IS_EXCEPTION :
+ return isException() != IS_EXCEPTION_EDEFAULT;
+ case UMLPackage.PARAMETER__IS_STREAM :
+ return isStream() != IS_STREAM_EDEFAULT;
+ case UMLPackage.PARAMETER__OPERATION :
+ return basicGetOperation() != null;
+ case UMLPackage.PARAMETER__PARAMETER_SET :
+ return !getParameterSets().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == MultiplicityElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.PARAMETER__IS_ORDERED :
+ return UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED;
+ case UMLPackage.PARAMETER__IS_UNIQUE :
+ return UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE;
+ case UMLPackage.PARAMETER__LOWER :
+ return UMLPackage.MULTIPLICITY_ELEMENT__LOWER;
+ case UMLPackage.PARAMETER__LOWER_VALUE :
+ return UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE;
+ case UMLPackage.PARAMETER__UPPER :
+ return UMLPackage.MULTIPLICITY_ELEMENT__UPPER;
+ case UMLPackage.PARAMETER__UPPER_VALUE :
+ return UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == MultiplicityElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED :
+ return UMLPackage.PARAMETER__IS_ORDERED;
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE :
+ return UMLPackage.PARAMETER__IS_UNIQUE;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER :
+ return UMLPackage.PARAMETER__LOWER;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE :
+ return UMLPackage.PARAMETER__LOWER_VALUE;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER :
+ return UMLPackage.PARAMETER__UPPER;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE :
+ return UMLPackage.PARAMETER__UPPER_VALUE;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MultiplicityElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.PARAMETER___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.PARAMETER___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.PARAMETER___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.PARAMETER___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.PARAMETER___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.PARAMETER___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___SET_LOWER__INT :
+ return UMLPackage.PARAMETER___SET_LOWER__INT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___SET_UPPER__INT :
+ return UMLPackage.PARAMETER___SET_UPPER__INT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return UMLPackage.PARAMETER___COMPATIBLE_WITH__MULTIPLICITYELEMENT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return UMLPackage.PARAMETER___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___IS__INT_INT :
+ return UMLPackage.PARAMETER___IS__INT_INT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___IS_MULTIVALUED :
+ return UMLPackage.PARAMETER___IS_MULTIVALUED;
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_LOWER :
+ return UMLPackage.PARAMETER___GET_LOWER;
+ case UMLPackage.MULTIPLICITY_ELEMENT___LOWER_BOUND :
+ return UMLPackage.PARAMETER___LOWER_BOUND;
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_UPPER :
+ return UMLPackage.PARAMETER___GET_UPPER;
+ case UMLPackage.MULTIPLICITY_ELEMENT___UPPER_BOUND :
+ return UMLPackage.PARAMETER___UPPER_BOUND;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PARAMETER___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PARAMETER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PARAMETER___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PARAMETER___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PARAMETER___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PARAMETER___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PARAMETER___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PARAMETER___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PARAMETER___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PARAMETER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PARAMETER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER___GET_MODEL :
+ return getModel();
+ case UMLPackage.PARAMETER___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PARAMETER___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PARAMETER___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PARAMETER___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PARAMETER___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PARAMETER___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PARAMETER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PARAMETER___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PARAMETER___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PARAMETER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PARAMETER___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PARAMETER___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PARAMETER___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PARAMETER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PARAMETER___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PARAMETER___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PARAMETER___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PARAMETER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.PARAMETER___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.PARAMETER___GET_LABEL :
+ return getLabel();
+ case UMLPackage.PARAMETER___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.PARAMETER___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.PARAMETER___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.PARAMETER___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.PARAMETER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.PARAMETER___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PARAMETER___SEPARATOR :
+ return separator();
+ case UMLPackage.PARAMETER___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.PARAMETER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.PARAMETER___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.PARAMETER___GET_ENDS :
+ return getEnds();
+ case UMLPackage.PARAMETER___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return validateUpperGeLower((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return validateLowerGe0((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationNoSideEffects(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationConstant(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return validateLowerIsInteger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return validateUpperIsUnlimitedNatural(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PARAMETER___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PARAMETER___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return compatibleWith((MultiplicityElement) arguments.get(0));
+ case UMLPackage.PARAMETER___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return includesMultiplicity(
+ (MultiplicityElement) arguments.get(0));
+ case UMLPackage.PARAMETER___IS__INT_INT :
+ return is((Integer) arguments.get(0),
+ (Integer) arguments.get(1));
+ case UMLPackage.PARAMETER___IS_MULTIVALUED :
+ return isMultivalued();
+ case UMLPackage.PARAMETER___GET_LOWER :
+ return getLower();
+ case UMLPackage.PARAMETER___LOWER_BOUND :
+ return lowerBound();
+ case UMLPackage.PARAMETER___GET_UPPER :
+ return getUpper();
+ case UMLPackage.PARAMETER___UPPER_BOUND :
+ return upperBound();
+ case UMLPackage.PARAMETER___VALIDATE_IN_AND_OUT__DIAGNOSTICCHAIN_MAP :
+ return validateInAndOut((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___VALIDATE_NOT_EXCEPTION__DIAGNOSTICCHAIN_MAP :
+ return validateNotException((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___VALIDATE_CONNECTOR_END__DIAGNOSTICCHAIN_MAP :
+ return validateConnectorEnd((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___VALIDATE_REENTRANT_BEHAVIORS__DIAGNOSTICCHAIN_MAP :
+ return validateReentrantBehaviors(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___VALIDATE_STREAM_AND_EXCEPTION__DIAGNOSTICCHAIN_MAP :
+ return validateStreamAndException(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___VALIDATE_OBJECT_EFFECT__DIAGNOSTICCHAIN_MAP :
+ return validateObjectEffect((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER___IS_SET_DEFAULT :
+ return isSetDefault();
+ case UMLPackage.PARAMETER___SET_BOOLEAN_DEFAULT_VALUE__BOOLEAN :
+ setBooleanDefaultValue((Boolean) arguments.get(0));
+ return null;
+ case UMLPackage.PARAMETER___SET_DEFAULT__STRING :
+ setDefault((String) arguments.get(0));
+ return null;
+ case UMLPackage.PARAMETER___SET_INTEGER_DEFAULT_VALUE__INT :
+ setIntegerDefaultValue((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PARAMETER___SET_NULL_DEFAULT_VALUE :
+ setNullDefaultValue();
+ return null;
+ case UMLPackage.PARAMETER___SET_REAL_DEFAULT_VALUE__DOUBLE :
+ setRealDefaultValue((Double) arguments.get(0));
+ return null;
+ case UMLPackage.PARAMETER___SET_STRING_DEFAULT_VALUE__STRING :
+ setStringDefaultValue((String) arguments.get(0));
+ return null;
+ case UMLPackage.PARAMETER___SET_UNLIMITED_NATURAL_DEFAULT_VALUE__INT :
+ setUnlimitedNaturalDefaultValue((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PARAMETER___UNSET_DEFAULT :
+ unsetDefault();
+ return null;
+ case UMLPackage.PARAMETER___GET_DEFAULT :
+ return getDefault();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.PARAMETER__OWNED_COMMENT,
+ UMLPackage.PARAMETER__NAME_EXPRESSION,
+ UMLPackage.PARAMETER__LOWER_VALUE, UMLPackage.PARAMETER__UPPER_VALUE,
+ UMLPackage.PARAMETER__DEFAULT_VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.PARAMETER__LOWER_VALUE)
+ || eIsSet(UMLPackage.PARAMETER__UPPER_VALUE)
+ || eIsSet(UMLPackage.PARAMETER__DEFAULT_VALUE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace()
+ || eIsSet(UMLPackage.PARAMETER__OPERATION);
+ }
+
+} //ParameterImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ParameterSetImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ParameterSetImpl.java
new file mode 100644
index 00000000..a47c1c8e
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ParameterSetImpl.java
@@ -0,0 +1,622 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ParameterSetOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Parameter Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterSetImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterSetImpl#getConditions <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterSetImpl#getParameters <em>Parameter</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ParameterSetImpl
+ extends NamedElementImpl
+ implements ParameterSet {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParameterSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PARAMETER_SET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.PARAMETER_SET__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PARAMETER_SET__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Parameter> getParameters() {
+ return (EList<Parameter>) eDynamicGet(
+ UMLPackage.PARAMETER_SET__PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER_SET__PARAMETER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter getParameter(String name, Type type) {
+ return getParameter(name, type, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter getParameter(String name, Type type, boolean ignoreCase) {
+ parameterLoop : for (Parameter parameter : getParameters()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(parameter.getName())
+ : name.equals(parameter.getName())))
+ continue parameterLoop;
+ if (type != null && !type.equals(parameter.getType()))
+ continue parameterLoop;
+ return parameter;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getConditions() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.PARAMETER_SET__CONDITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETER_SET__CONDITION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createCondition(String name, EClass eClass) {
+ Constraint newCondition = (Constraint) create(eClass);
+ getConditions().add(newCondition);
+ if (name != null)
+ newCondition.setName(name);
+ return newCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createCondition(String name) {
+ return createCondition(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getCondition(String name) {
+ return getCondition(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getCondition(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ conditionLoop : for (Constraint condition : getConditions()) {
+ if (eClass != null && !eClass.isInstance(condition))
+ continue conditionLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(condition.getName())
+ : name.equals(condition.getName())))
+ continue conditionLoop;
+ return condition;
+ }
+ return createOnDemand && eClass != null
+ ? createCondition(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSameParameterizedEntity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ParameterSetOperations.validateSameParameterizedEntity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInput(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ParameterSetOperations.validateInput(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTwoParameterSets(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ParameterSetOperations.validateTwoParameterSets(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PARAMETER_SET__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PARAMETER_SET__PARAMETER :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getParameters())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PARAMETER_SET__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PARAMETER_SET__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PARAMETER_SET__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.PARAMETER_SET__CONDITION :
+ return ((InternalEList<?>) getConditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PARAMETER_SET__PARAMETER :
+ return ((InternalEList<?>) getParameters())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PARAMETER_SET__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PARAMETER_SET__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PARAMETER_SET__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PARAMETER_SET__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PARAMETER_SET__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.PARAMETER_SET__NAME :
+ return getName();
+ case UMLPackage.PARAMETER_SET__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.PARAMETER_SET__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.PARAMETER_SET__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PARAMETER_SET__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.PARAMETER_SET__CONDITION :
+ return getConditions();
+ case UMLPackage.PARAMETER_SET__PARAMETER :
+ return getParameters();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PARAMETER_SET__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PARAMETER_SET__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PARAMETER_SET__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.PARAMETER_SET__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.PARAMETER_SET__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.PARAMETER_SET__CONDITION :
+ getConditions().clear();
+ getConditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.PARAMETER_SET__PARAMETER :
+ getParameters().clear();
+ getParameters()
+ .addAll((Collection<? extends Parameter>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PARAMETER_SET__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PARAMETER_SET__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PARAMETER_SET__NAME :
+ unsetName();
+ return;
+ case UMLPackage.PARAMETER_SET__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.PARAMETER_SET__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.PARAMETER_SET__CONDITION :
+ getConditions().clear();
+ return;
+ case UMLPackage.PARAMETER_SET__PARAMETER :
+ getParameters().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PARAMETER_SET__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PARAMETER_SET__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PARAMETER_SET__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PARAMETER_SET__OWNER :
+ return isSetOwner();
+ case UMLPackage.PARAMETER_SET__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.PARAMETER_SET__NAME :
+ return isSetName();
+ case UMLPackage.PARAMETER_SET__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.PARAMETER_SET__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.PARAMETER_SET__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.PARAMETER_SET__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.PARAMETER_SET__CONDITION :
+ return !getConditions().isEmpty();
+ case UMLPackage.PARAMETER_SET__PARAMETER :
+ return !getParameters().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PARAMETER_SET___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER_SET___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER_SET___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PARAMETER_SET___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PARAMETER_SET___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PARAMETER_SET___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PARAMETER_SET___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PARAMETER_SET___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___GET_MODEL :
+ return getModel();
+ case UMLPackage.PARAMETER_SET___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PARAMETER_SET___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PARAMETER_SET___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PARAMETER_SET___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PARAMETER_SET___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PARAMETER_SET___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PARAMETER_SET___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PARAMETER_SET___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PARAMETER_SET___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PARAMETER_SET___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PARAMETER_SET___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PARAMETER_SET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER_SET___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER_SET___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER_SET___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___GET_LABEL :
+ return getLabel();
+ case UMLPackage.PARAMETER_SET___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.PARAMETER_SET___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.PARAMETER_SET___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.PARAMETER_SET___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.PARAMETER_SET___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.PARAMETER_SET___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PARAMETER_SET___SEPARATOR :
+ return separator();
+ case UMLPackage.PARAMETER_SET___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.PARAMETER_SET___VALIDATE_SAME_PARAMETERIZED_ENTITY__DIAGNOSTICCHAIN_MAP :
+ return validateSameParameterizedEntity(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER_SET___VALIDATE_INPUT__DIAGNOSTICCHAIN_MAP :
+ return validateInput((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETER_SET___VALIDATE_TWO_PARAMETER_SETS__DIAGNOSTICCHAIN_MAP :
+ return validateTwoParameterSets(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.PARAMETER_SET__OWNED_COMMENT,
+ UMLPackage.PARAMETER_SET__NAME_EXPRESSION,
+ UMLPackage.PARAMETER_SET__CONDITION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.PARAMETER_SET__CONDITION);
+ }
+
+} //ParameterSetImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ParameterableElementImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ParameterableElementImpl.java
new file mode 100644
index 00000000..1446d3fc
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ParameterableElementImpl.java
@@ -0,0 +1,551 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.ParameterableElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Parameterable Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterableElementImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterableElementImpl#getTemplateParameter <em>Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ParameterableElementImpl#getOwningTemplateParameter <em>Owning Template Parameter</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ParameterableElementImpl
+ extends ElementImpl
+ implements ParameterableElement {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParameterableElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PARAMETERABLE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemplateParameter(
+ TemplateParameter newTemplateParameter, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newTemplateParameter,
+ UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null
+ && owningTemplateParameter != newTemplateParameter) {
+ setOwningTemplateParameter(null);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemplateParameter(TemplateParameter newTemplateParameter) {
+ eDynamicSet(
+ UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ newTemplateParameter);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null
+ && owningTemplateParameter != newTemplateParameter) {
+ setOwningTemplateParameter(null);
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newOwningTemplateParameter,
+ UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter) {
+ eDynamicSet(
+ UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ newOwningTemplateParameter);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCompatibleWith(ParameterableElement p) {
+ return ParameterableElementOperations.isCompatibleWith(this, p);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTemplateParameter() {
+ return ParameterableElementOperations.isTemplateParameter(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETERABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PARAMETERABLE_ELEMENT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_MODEL :
+ return getModel();
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PARAMETERABLE_ELEMENT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PARAMETERABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PARAMETERABLE_ELEMENT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null) {
+ return owningTemplateParameter;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner() || eIsSet(
+ UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER);
+ }
+
+} //ParameterableElementImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PartDecompositionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PartDecompositionImpl.java
new file mode 100644
index 00000000..01e2b667
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PartDecompositionImpl.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.PartDecompositionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Part Decomposition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PartDecompositionImpl
+ extends InteractionUseImpl
+ implements PartDecomposition {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PartDecompositionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PART_DECOMPOSITION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePartsOfInternalStructures(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return PartDecompositionOperations
+ .validatePartsOfInternalStructures(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAssume(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PartDecompositionOperations.validateAssume(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCommutativityOfDecomposition(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return PartDecompositionOperations
+ .validateCommutativityOfDecomposition(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PART_DECOMPOSITION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PART_DECOMPOSITION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PART_DECOMPOSITION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PART_DECOMPOSITION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PART_DECOMPOSITION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___GET_MODEL :
+ return getModel();
+ case UMLPackage.PART_DECOMPOSITION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PART_DECOMPOSITION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PART_DECOMPOSITION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PART_DECOMPOSITION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PART_DECOMPOSITION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PART_DECOMPOSITION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PART_DECOMPOSITION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PART_DECOMPOSITION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PART_DECOMPOSITION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.PART_DECOMPOSITION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.PART_DECOMPOSITION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.PART_DECOMPOSITION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.PART_DECOMPOSITION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.PART_DECOMPOSITION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PART_DECOMPOSITION___SEPARATOR :
+ return separator();
+ case UMLPackage.PART_DECOMPOSITION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_GATES_MATCH__DIAGNOSTICCHAIN_MAP :
+ return validateGatesMatch((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_ARGUMENTS_ARE_CONSTANTS__DIAGNOSTICCHAIN_MAP :
+ return validateArgumentsAreConstants(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_RETURN_VALUE_RECIPIENT_COVERAGE__DIAGNOSTICCHAIN_MAP :
+ return validateReturnValueRecipientCoverage(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_ARGUMENTS_CORRESPOND_TO_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+ return validateArgumentsCorrespondToParameters(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_RETURN_VALUE_TYPE_RECIPIENT_CORRESPONDENCE__DIAGNOSTICCHAIN_MAP :
+ return validateReturnValueTypeRecipientCorrespondence(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_ALL_LIFELINES__DIAGNOSTICCHAIN_MAP :
+ return validateAllLifelines((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_COMMUTATIVITY_OF_DECOMPOSITION__DIAGNOSTICCHAIN_MAP :
+ return validateCommutativityOfDecomposition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_ASSUME__DIAGNOSTICCHAIN_MAP :
+ return validateAssume((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PART_DECOMPOSITION___VALIDATE_PARTS_OF_INTERNAL_STRUCTURES__DIAGNOSTICCHAIN_MAP :
+ return validatePartsOfInternalStructures(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //PartDecompositionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PinImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PinImpl.java
new file mode 100644
index 00000000..1ba29636
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PinImpl.java
@@ -0,0 +1,1310 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ObjectNodeOrderingKind;
+import org.eclipse.uml2.uml.Pin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.MultiplicityElementOperations;
+import org.eclipse.uml2.uml.internal.operations.PinOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Pin</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PinImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PinImpl#isOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PinImpl#isUnique <em>Is Unique</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PinImpl#getLower <em>Lower</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PinImpl#getLowerValue <em>Lower Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PinImpl#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PinImpl#getUpperValue <em>Upper Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PinImpl#isControl <em>Is Control</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class PinImpl
+ extends ObjectNodeImpl
+ implements Pin {
+
+ /**
+ * The default value of the '{@link #isOrdered() <em>Is Ordered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOrdered()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ORDERED_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isUnique() <em>Is Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnique()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_UNIQUE_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLower()
+ * @generated
+ * @ordered
+ */
+ protected static final int LOWER_EDEFAULT = 1;
+
+ /**
+ * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpper()
+ * @generated
+ * @ordered
+ */
+ protected static final int UPPER_EDEFAULT = 1;
+
+ /**
+ * The default value of the '{@link #isControl() <em>Is Control</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isControl()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_CONTROL_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PinImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PIN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.PIN__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PIN__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOrdered() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PIN__IS_ORDERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_ORDERED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsOrdered(boolean newIsOrdered) {
+ eDynamicSet(UMLPackage.PIN__IS_ORDERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_ORDERED, newIsOrdered);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnique() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PIN__IS_UNIQUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_UNIQUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsUnique(boolean newIsUnique) {
+ eDynamicSet(UMLPackage.PIN__IS_UNIQUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_UNIQUE, newIsUnique);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getUpper() {
+ return MultiplicityElementOperations.getUpper(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpper(int newUpper) {
+ MultiplicityElementOperations.setUpper(this, newUpper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLower() {
+ return MultiplicityElementOperations.getLower(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLower(int newLower) {
+ MultiplicityElementOperations.setLower(this, newLower);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getUpperValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.PIN__UPPER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetUpperValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.PIN__UPPER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetUpperValue(
+ ValueSpecification newUpperValue, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newUpperValue,
+ UMLPackage.PIN__UPPER_VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpperValue(ValueSpecification newUpperValue) {
+ eDynamicSet(UMLPackage.PIN__UPPER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE,
+ newUpperValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createUpperValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newUpperValue = (ValueSpecification) create(eClass);
+ setUpperValue(newUpperValue);
+ if (name != null)
+ newUpperValue.setName(name);
+ if (type != null)
+ newUpperValue.setType(type);
+ return newUpperValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getLowerValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.PIN__LOWER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetLowerValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.PIN__LOWER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLowerValue(
+ ValueSpecification newLowerValue, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newLowerValue,
+ UMLPackage.PIN__LOWER_VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLowerValue(ValueSpecification newLowerValue) {
+ eDynamicSet(UMLPackage.PIN__LOWER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE,
+ newLowerValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createLowerValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newLowerValue = (ValueSpecification) create(eClass);
+ setLowerValue(newLowerValue);
+ if (name != null)
+ newLowerValue.setName(name);
+ if (type != null)
+ newLowerValue.setType(type);
+ return newLowerValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isControl() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PIN__IS_CONTROL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PIN__IS_CONTROL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsControl(boolean newIsControl) {
+ eDynamicSet(UMLPackage.PIN__IS_CONTROL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PIN__IS_CONTROL, newIsControl);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLowerGe0(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateLowerGe0(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUpperGeLower(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateUpperGeLower(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateValueSpecificationNoSideEffects(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateValueSpecificationNoSideEffects(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateValueSpecificationConstant(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateValueSpecificationConstant(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLowerIsInteger(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateLowerIsInteger(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUpperIsUnlimitedNatural(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateUpperIsUnlimitedNatural(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMultivalued() {
+ return MultiplicityElementOperations.isMultivalued(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean includesMultiplicity(MultiplicityElement M) {
+ return MultiplicityElementOperations.includesMultiplicity(this, M);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int lowerBound() {
+ return MultiplicityElementOperations.lowerBound(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int upperBound() {
+ return MultiplicityElementOperations.upperBound(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean compatibleWith(MultiplicityElement other) {
+ return MultiplicityElementOperations.compatibleWith(this, other);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean is(int lowerbound, int upperbound) {
+ return MultiplicityElementOperations.is(this, lowerbound, upperbound);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateControlPins(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PinOperations.validateControlPins(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNotUnique(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PinOperations.validateNotUnique(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PIN__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PIN__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PIN__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.PIN__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PIN__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.PIN__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.PIN__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.PIN__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PIN__UPPER_BOUND :
+ return basicSetUpperBound(null, msgs);
+ case UMLPackage.PIN__LOWER_VALUE :
+ return basicSetLowerValue(null, msgs);
+ case UMLPackage.PIN__UPPER_VALUE :
+ return basicSetUpperValue(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PIN__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PIN__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PIN__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PIN__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PIN__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.PIN__NAME :
+ return getName();
+ case UMLPackage.PIN__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.PIN__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.PIN__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PIN__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.PIN__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.PIN__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.PIN__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.PIN__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.PIN__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.PIN__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.PIN__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.PIN__INCOMING :
+ return getIncomings();
+ case UMLPackage.PIN__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.PIN__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.PIN__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.PIN__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.PIN__IN_STATE :
+ return getInStates();
+ case UMLPackage.PIN__IS_CONTROL_TYPE :
+ return isControlType();
+ case UMLPackage.PIN__ORDERING :
+ return getOrdering();
+ case UMLPackage.PIN__SELECTION :
+ if (resolve)
+ return getSelection();
+ return basicGetSelection();
+ case UMLPackage.PIN__UPPER_BOUND :
+ if (resolve)
+ return getUpperBound();
+ return basicGetUpperBound();
+ case UMLPackage.PIN__IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.PIN__IS_UNIQUE :
+ return isUnique();
+ case UMLPackage.PIN__LOWER :
+ return getLower();
+ case UMLPackage.PIN__LOWER_VALUE :
+ if (resolve)
+ return getLowerValue();
+ return basicGetLowerValue();
+ case UMLPackage.PIN__UPPER :
+ return getUpper();
+ case UMLPackage.PIN__UPPER_VALUE :
+ if (resolve)
+ return getUpperValue();
+ return basicGetUpperValue();
+ case UMLPackage.PIN__IS_CONTROL :
+ return isControl();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PIN__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PIN__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PIN__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.PIN__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.PIN__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.PIN__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.PIN__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.PIN__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.PIN__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.PIN__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.PIN__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.PIN__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.PIN__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.PIN__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.PIN__IN_STATE :
+ getInStates().clear();
+ getInStates().addAll((Collection<? extends State>) newValue);
+ return;
+ case UMLPackage.PIN__IS_CONTROL_TYPE :
+ setIsControlType((Boolean) newValue);
+ return;
+ case UMLPackage.PIN__ORDERING :
+ setOrdering((ObjectNodeOrderingKind) newValue);
+ return;
+ case UMLPackage.PIN__SELECTION :
+ setSelection((Behavior) newValue);
+ return;
+ case UMLPackage.PIN__UPPER_BOUND :
+ setUpperBound((ValueSpecification) newValue);
+ return;
+ case UMLPackage.PIN__IS_ORDERED :
+ setIsOrdered((Boolean) newValue);
+ return;
+ case UMLPackage.PIN__IS_UNIQUE :
+ setIsUnique((Boolean) newValue);
+ return;
+ case UMLPackage.PIN__LOWER :
+ setLower((Integer) newValue);
+ return;
+ case UMLPackage.PIN__LOWER_VALUE :
+ setLowerValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.PIN__UPPER :
+ setUpper((Integer) newValue);
+ return;
+ case UMLPackage.PIN__UPPER_VALUE :
+ setUpperValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.PIN__IS_CONTROL :
+ setIsControl((Boolean) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PIN__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PIN__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PIN__NAME :
+ unsetName();
+ return;
+ case UMLPackage.PIN__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.PIN__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.PIN__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.PIN__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.PIN__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.PIN__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.PIN__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.PIN__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.PIN__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.PIN__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.PIN__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.PIN__IN_STATE :
+ getInStates().clear();
+ return;
+ case UMLPackage.PIN__IS_CONTROL_TYPE :
+ setIsControlType(IS_CONTROL_TYPE_EDEFAULT);
+ return;
+ case UMLPackage.PIN__ORDERING :
+ setOrdering(ORDERING_EDEFAULT);
+ return;
+ case UMLPackage.PIN__SELECTION :
+ setSelection((Behavior) null);
+ return;
+ case UMLPackage.PIN__UPPER_BOUND :
+ setUpperBound((ValueSpecification) null);
+ return;
+ case UMLPackage.PIN__IS_ORDERED :
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case UMLPackage.PIN__IS_UNIQUE :
+ setIsUnique(IS_UNIQUE_EDEFAULT);
+ return;
+ case UMLPackage.PIN__LOWER :
+ setLower(LOWER_EDEFAULT);
+ return;
+ case UMLPackage.PIN__LOWER_VALUE :
+ setLowerValue((ValueSpecification) null);
+ return;
+ case UMLPackage.PIN__UPPER :
+ setUpper(UPPER_EDEFAULT);
+ return;
+ case UMLPackage.PIN__UPPER_VALUE :
+ setUpperValue((ValueSpecification) null);
+ return;
+ case UMLPackage.PIN__IS_CONTROL :
+ setIsControl(IS_CONTROL_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PIN__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PIN__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PIN__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PIN__OWNER :
+ return isSetOwner();
+ case UMLPackage.PIN__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.PIN__NAME :
+ return isSetName();
+ case UMLPackage.PIN__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.PIN__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.PIN__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.PIN__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.PIN__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.PIN__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.PIN__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.PIN__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.PIN__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.PIN__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.PIN__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.PIN__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.PIN__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.PIN__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.PIN__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.PIN__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.PIN__IN_STATE :
+ return !getInStates().isEmpty();
+ case UMLPackage.PIN__IS_CONTROL_TYPE :
+ return isControlType() != IS_CONTROL_TYPE_EDEFAULT;
+ case UMLPackage.PIN__ORDERING :
+ return getOrdering() != ORDERING_EDEFAULT;
+ case UMLPackage.PIN__SELECTION :
+ return basicGetSelection() != null;
+ case UMLPackage.PIN__UPPER_BOUND :
+ return basicGetUpperBound() != null;
+ case UMLPackage.PIN__IS_ORDERED :
+ return isOrdered() != IS_ORDERED_EDEFAULT;
+ case UMLPackage.PIN__IS_UNIQUE :
+ return isUnique() != IS_UNIQUE_EDEFAULT;
+ case UMLPackage.PIN__LOWER :
+ return getLower() != LOWER_EDEFAULT;
+ case UMLPackage.PIN__LOWER_VALUE :
+ return basicGetLowerValue() != null;
+ case UMLPackage.PIN__UPPER :
+ return getUpper() != UPPER_EDEFAULT;
+ case UMLPackage.PIN__UPPER_VALUE :
+ return basicGetUpperValue() != null;
+ case UMLPackage.PIN__IS_CONTROL :
+ return isControl() != IS_CONTROL_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == MultiplicityElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.PIN__IS_ORDERED :
+ return UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED;
+ case UMLPackage.PIN__IS_UNIQUE :
+ return UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE;
+ case UMLPackage.PIN__LOWER :
+ return UMLPackage.MULTIPLICITY_ELEMENT__LOWER;
+ case UMLPackage.PIN__LOWER_VALUE :
+ return UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE;
+ case UMLPackage.PIN__UPPER :
+ return UMLPackage.MULTIPLICITY_ELEMENT__UPPER;
+ case UMLPackage.PIN__UPPER_VALUE :
+ return UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == MultiplicityElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED :
+ return UMLPackage.PIN__IS_ORDERED;
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE :
+ return UMLPackage.PIN__IS_UNIQUE;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER :
+ return UMLPackage.PIN__LOWER;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE :
+ return UMLPackage.PIN__LOWER_VALUE;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER :
+ return UMLPackage.PIN__UPPER;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE :
+ return UMLPackage.PIN__UPPER_VALUE;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MultiplicityElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.PIN___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.PIN___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___SET_LOWER__INT :
+ return UMLPackage.PIN___SET_LOWER__INT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___SET_UPPER__INT :
+ return UMLPackage.PIN___SET_UPPER__INT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return UMLPackage.PIN___COMPATIBLE_WITH__MULTIPLICITYELEMENT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return UMLPackage.PIN___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___IS__INT_INT :
+ return UMLPackage.PIN___IS__INT_INT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___IS_MULTIVALUED :
+ return UMLPackage.PIN___IS_MULTIVALUED;
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_LOWER :
+ return UMLPackage.PIN___GET_LOWER;
+ case UMLPackage.MULTIPLICITY_ELEMENT___LOWER_BOUND :
+ return UMLPackage.PIN___LOWER_BOUND;
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_UPPER :
+ return UMLPackage.PIN___GET_UPPER;
+ case UMLPackage.MULTIPLICITY_ELEMENT___UPPER_BOUND :
+ return UMLPackage.PIN___UPPER_BOUND;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PIN___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PIN___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PIN___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PIN___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PIN___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PIN___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PIN___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PIN___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PIN___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PIN___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PIN___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PIN___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PIN___GET_MODEL :
+ return getModel();
+ case UMLPackage.PIN___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PIN___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PIN___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PIN___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PIN___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PIN___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PIN___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PIN___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PIN___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PIN___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PIN___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PIN___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PIN___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PIN___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PIN___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PIN___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PIN___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PIN___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PIN___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PIN___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PIN___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PIN___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.PIN___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.PIN___GET_LABEL :
+ return getLabel();
+ case UMLPackage.PIN___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.PIN___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.PIN___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.PIN___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.PIN___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.PIN___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PIN___SEPARATOR :
+ return separator();
+ case UMLPackage.PIN___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.PIN___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.PIN___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.PIN___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validateInputOutputParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateSelectionBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateObjectFlowEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return validateUpperGeLower((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return validateLowerGe0((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationNoSideEffects(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationConstant(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return validateLowerIsInteger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return validateUpperIsUnlimitedNatural(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PIN___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PIN___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return compatibleWith((MultiplicityElement) arguments.get(0));
+ case UMLPackage.PIN___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return includesMultiplicity(
+ (MultiplicityElement) arguments.get(0));
+ case UMLPackage.PIN___IS__INT_INT :
+ return is((Integer) arguments.get(0),
+ (Integer) arguments.get(1));
+ case UMLPackage.PIN___IS_MULTIVALUED :
+ return isMultivalued();
+ case UMLPackage.PIN___GET_LOWER :
+ return getLower();
+ case UMLPackage.PIN___LOWER_BOUND :
+ return lowerBound();
+ case UMLPackage.PIN___GET_UPPER :
+ return getUpper();
+ case UMLPackage.PIN___UPPER_BOUND :
+ return upperBound();
+ case UMLPackage.PIN___VALIDATE_CONTROL_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateControlPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PIN___VALIDATE_NOT_UNIQUE__DIAGNOSTICCHAIN_MAP :
+ return validateNotUnique((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.PIN__OWNED_COMMENT, UMLPackage.PIN__NAME_EXPRESSION,
+ UMLPackage.PIN__UPPER_BOUND, UMLPackage.PIN__LOWER_VALUE,
+ UMLPackage.PIN__UPPER_VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements() || eIsSet(UMLPackage.PIN__LOWER_VALUE)
+ || eIsSet(UMLPackage.PIN__UPPER_VALUE);
+ }
+
+} //PinImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PortImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PortImpl.java
new file mode 100644
index 00000000..b36a2d3f
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PortImpl.java
@@ -0,0 +1,1357 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.PortOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PortImpl#getRedefinedProperties <em>Redefined Property</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PortImpl#isBehavior <em>Is Behavior</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PortImpl#isConjugated <em>Is Conjugated</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PortImpl#isService <em>Is Service</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PortImpl#getProtocol <em>Protocol</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PortImpl#getProvideds <em>Provided</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PortImpl#getRedefinedPorts <em>Redefined Port</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PortImpl#getRequireds <em>Required</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PortImpl
+ extends PropertyImpl
+ implements Port {
+
+ /**
+ * The default value of the '{@link #isBehavior() <em>Is Behavior</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isBehavior()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_BEHAVIOR_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isConjugated() <em>Is Conjugated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isConjugated()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_CONJUGATED_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isService() <em>Is Service</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isService()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_SERVICE_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PortImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PORT;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.PORT__REDEFINED_PORT) {
+ return createRedefinedPortsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.PROPERTY__REDEFINED_PROPERTY) {
+ return createRedefinedPropertiesList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Property> getRedefinedProperties() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.PORT__REDEFINED_PROPERTY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__REDEFINED_PROPERTY, true, true);
+ }
+
+ private EList<Property> createRedefinedPropertiesList() {
+ return new SubsetSupersetEObjectResolvingEList<Property>(Property.class,
+ this, UMLPackage.PORT__REDEFINED_PROPERTY, null,
+ REDEFINED_PROPERTY_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedProperties() <em>Redefined Property</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedProperties()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_PROPERTY_ESUBSETS = new int[]{
+ UMLPackage.PORT__REDEFINED_PORT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isBehavior() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PORT__IS_BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PORT__IS_BEHAVIOR, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsBehavior(boolean newIsBehavior) {
+ eDynamicSet(UMLPackage.PORT__IS_BEHAVIOR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PORT__IS_BEHAVIOR, newIsBehavior);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isConjugated() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PORT__IS_CONJUGATED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PORT__IS_CONJUGATED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsConjugated(boolean newIsConjugated) {
+ eDynamicSet(UMLPackage.PORT__IS_CONJUGATED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PORT__IS_CONJUGATED, newIsConjugated);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isService() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PORT__IS_SERVICE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PORT__IS_SERVICE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsService(boolean newIsService) {
+ eDynamicSet(UMLPackage.PORT__IS_SERVICE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PORT__IS_SERVICE, newIsService);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> getRequireds() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.PORT__REQUIRED);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.PORT__REQUIRED,
+ result = PortOperations.getRequireds(this));
+ }
+ return result;
+ }
+ return PortOperations.getRequireds(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getRequired(String name) {
+ return getRequired(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getRequired(String name, boolean ignoreCase) {
+ requiredLoop : for (Interface required : getRequireds()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(required.getName())
+ : name.equals(required.getName())))
+ continue requiredLoop;
+ return required;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Port> getRedefinedPorts() {
+ return (EList<Port>) eDynamicGet(
+ UMLPackage.PORT__REDEFINED_PORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PORT__REDEFINED_PORT, true, true);
+ }
+
+ private EList<Port> createRedefinedPortsList() {
+ return new SubsetSupersetEObjectResolvingEList<Port>(Port.class, this,
+ UMLPackage.PORT__REDEFINED_PORT, REDEFINED_PORT_ESUPERSETS, null);
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getRedefinedPorts() <em>Redefined Port</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedPorts()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_PORT_ESUPERSETS = new int[]{
+ UMLPackage.PORT__REDEFINED_PROPERTY};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port getRedefinedPort(String name, Type type) {
+ return getRedefinedPort(name, type, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port getRedefinedPort(String name, Type type, boolean ignoreCase) {
+ redefinedPortLoop : for (Port redefinedPort : getRedefinedPorts()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedPort.getName())
+ : name.equals(redefinedPort.getName())))
+ continue redefinedPortLoop;
+ if (type != null && !type.equals(redefinedPort.getType()))
+ continue redefinedPortLoop;
+ return redefinedPort;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> getProvideds() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.PORT__PROVIDED);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.PORT__PROVIDED,
+ result = PortOperations.getProvideds(this));
+ }
+ return result;
+ }
+ return PortOperations.getProvideds(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getProvided(String name) {
+ return getProvided(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getProvided(String name, boolean ignoreCase) {
+ providedLoop : for (Interface provided : getProvideds()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(provided.getName())
+ : name.equals(provided.getName())))
+ continue providedLoop;
+ return provided;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolStateMachine getProtocol() {
+ return (ProtocolStateMachine) eDynamicGet(
+ UMLPackage.PORT__PROTOCOL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PORT__PROTOCOL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolStateMachine basicGetProtocol() {
+ return (ProtocolStateMachine) eDynamicGet(
+ UMLPackage.PORT__PROTOCOL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PORT__PROTOCOL, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProtocol(ProtocolStateMachine newProtocol) {
+ eDynamicSet(UMLPackage.PORT__PROTOCOL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PORT__PROTOCOL, newProtocol);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePortAggregation(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PortOperations.validatePortAggregation(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDefaultValue(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PortOperations.validateDefaultValue(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEncapsulatedOwner(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PortOperations.validateEncapsulatedOwner(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> basicProvided() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.PORT___BASIC_PROVIDED);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.PORT___BASIC_PROVIDED,
+ result = PortOperations.basicProvided(this));
+ }
+ return result;
+ }
+ return PortOperations.basicProvided(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Interface> basicRequired() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Interface> result = (EList<Interface>) cache.get(this,
+ UMLPackage.Literals.PORT___BASIC_REQUIRED);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.PORT___BASIC_REQUIRED,
+ result = PortOperations.basicRequired(this));
+ }
+ return result;
+ }
+ return PortOperations.basicRequired(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PORT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PORT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PORT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PORT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PORT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.PORT__NAME :
+ return getName();
+ case UMLPackage.PORT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.PORT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.PORT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PORT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.PORT__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.PORT__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.PORT__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.PORT__FEATURING_CLASSIFIER :
+ return getFeaturingClassifiers();
+ case UMLPackage.PORT__IS_STATIC :
+ return isStatic();
+ case UMLPackage.PORT__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.PORT__IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.PORT__IS_UNIQUE :
+ return isUnique();
+ case UMLPackage.PORT__LOWER :
+ return getLower();
+ case UMLPackage.PORT__LOWER_VALUE :
+ if (resolve)
+ return getLowerValue();
+ return basicGetLowerValue();
+ case UMLPackage.PORT__UPPER :
+ return getUpper();
+ case UMLPackage.PORT__UPPER_VALUE :
+ if (resolve)
+ return getUpperValue();
+ return basicGetUpperValue();
+ case UMLPackage.PORT__IS_READ_ONLY :
+ return isReadOnly();
+ case UMLPackage.PORT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.PORT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.PORT__END :
+ return getEnds();
+ case UMLPackage.PORT__DEPLOYED_ELEMENT :
+ return getDeployedElements();
+ case UMLPackage.PORT__DEPLOYMENT :
+ return getDeployments();
+ case UMLPackage.PORT__DATATYPE :
+ if (resolve)
+ return getDatatype();
+ return basicGetDatatype();
+ case UMLPackage.PORT__INTERFACE :
+ if (resolve)
+ return getInterface();
+ return basicGetInterface();
+ case UMLPackage.PORT__DEFAULT :
+ return getDefault();
+ case UMLPackage.PORT__AGGREGATION :
+ return getAggregation();
+ case UMLPackage.PORT__ASSOCIATION_END :
+ if (resolve)
+ return getAssociationEnd();
+ return basicGetAssociationEnd();
+ case UMLPackage.PORT__QUALIFIER :
+ return getQualifiers();
+ case UMLPackage.PORT__CLASS :
+ if (resolve)
+ return getClass_();
+ return basicGetClass_();
+ case UMLPackage.PORT__DEFAULT_VALUE :
+ if (resolve)
+ return getDefaultValue();
+ return basicGetDefaultValue();
+ case UMLPackage.PORT__IS_COMPOSITE :
+ return isComposite();
+ case UMLPackage.PORT__IS_DERIVED :
+ return isDerived();
+ case UMLPackage.PORT__IS_DERIVED_UNION :
+ return isDerivedUnion();
+ case UMLPackage.PORT__IS_ID :
+ return isID();
+ case UMLPackage.PORT__OPPOSITE :
+ if (resolve)
+ return getOpposite();
+ return basicGetOpposite();
+ case UMLPackage.PORT__OWNING_ASSOCIATION :
+ if (resolve)
+ return getOwningAssociation();
+ return basicGetOwningAssociation();
+ case UMLPackage.PORT__REDEFINED_PROPERTY :
+ return getRedefinedProperties();
+ case UMLPackage.PORT__SUBSETTED_PROPERTY :
+ return getSubsettedProperties();
+ case UMLPackage.PORT__ASSOCIATION :
+ if (resolve)
+ return getAssociation();
+ return basicGetAssociation();
+ case UMLPackage.PORT__IS_BEHAVIOR :
+ return isBehavior();
+ case UMLPackage.PORT__IS_CONJUGATED :
+ return isConjugated();
+ case UMLPackage.PORT__IS_SERVICE :
+ return isService();
+ case UMLPackage.PORT__PROTOCOL :
+ if (resolve)
+ return getProtocol();
+ return basicGetProtocol();
+ case UMLPackage.PORT__PROVIDED :
+ return getProvideds();
+ case UMLPackage.PORT__REDEFINED_PORT :
+ return getRedefinedPorts();
+ case UMLPackage.PORT__REQUIRED :
+ return getRequireds();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PORT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PORT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PORT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.PORT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.PORT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.PORT__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.PORT__IS_STATIC :
+ setIsStatic((Boolean) newValue);
+ return;
+ case UMLPackage.PORT__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.PORT__IS_ORDERED :
+ setIsOrdered((Boolean) newValue);
+ return;
+ case UMLPackage.PORT__IS_UNIQUE :
+ setIsUnique((Boolean) newValue);
+ return;
+ case UMLPackage.PORT__LOWER :
+ setLower((Integer) newValue);
+ return;
+ case UMLPackage.PORT__LOWER_VALUE :
+ setLowerValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.PORT__UPPER :
+ setUpper((Integer) newValue);
+ return;
+ case UMLPackage.PORT__UPPER_VALUE :
+ setUpperValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.PORT__IS_READ_ONLY :
+ setIsReadOnly((Boolean) newValue);
+ return;
+ case UMLPackage.PORT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PORT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PORT__DEPLOYMENT :
+ getDeployments().clear();
+ getDeployments()
+ .addAll((Collection<? extends Deployment>) newValue);
+ return;
+ case UMLPackage.PORT__DATATYPE :
+ setDatatype((DataType) newValue);
+ return;
+ case UMLPackage.PORT__INTERFACE :
+ setInterface((Interface) newValue);
+ return;
+ case UMLPackage.PORT__DEFAULT :
+ setDefault((String) newValue);
+ return;
+ case UMLPackage.PORT__AGGREGATION :
+ setAggregation((AggregationKind) newValue);
+ return;
+ case UMLPackage.PORT__ASSOCIATION_END :
+ setAssociationEnd((Property) newValue);
+ return;
+ case UMLPackage.PORT__QUALIFIER :
+ getQualifiers().clear();
+ getQualifiers()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.PORT__DEFAULT_VALUE :
+ setDefaultValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.PORT__IS_COMPOSITE :
+ setIsComposite((Boolean) newValue);
+ return;
+ case UMLPackage.PORT__IS_DERIVED :
+ setIsDerived((Boolean) newValue);
+ return;
+ case UMLPackage.PORT__IS_DERIVED_UNION :
+ setIsDerivedUnion((Boolean) newValue);
+ return;
+ case UMLPackage.PORT__IS_ID :
+ setIsID((Boolean) newValue);
+ return;
+ case UMLPackage.PORT__OPPOSITE :
+ setOpposite((Property) newValue);
+ return;
+ case UMLPackage.PORT__OWNING_ASSOCIATION :
+ setOwningAssociation((Association) newValue);
+ return;
+ case UMLPackage.PORT__REDEFINED_PROPERTY :
+ getRedefinedProperties().clear();
+ getRedefinedProperties()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.PORT__SUBSETTED_PROPERTY :
+ getSubsettedProperties().clear();
+ getSubsettedProperties()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.PORT__ASSOCIATION :
+ setAssociation((Association) newValue);
+ return;
+ case UMLPackage.PORT__IS_BEHAVIOR :
+ setIsBehavior((Boolean) newValue);
+ return;
+ case UMLPackage.PORT__IS_CONJUGATED :
+ setIsConjugated((Boolean) newValue);
+ return;
+ case UMLPackage.PORT__IS_SERVICE :
+ setIsService((Boolean) newValue);
+ return;
+ case UMLPackage.PORT__PROTOCOL :
+ setProtocol((ProtocolStateMachine) newValue);
+ return;
+ case UMLPackage.PORT__REDEFINED_PORT :
+ getRedefinedPorts().clear();
+ getRedefinedPorts()
+ .addAll((Collection<? extends Port>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ @Override
+ public void eDynamicSet(int featureID, Object newValue) {
+
+ if (featureID == UMLPackage.PORT__CLASS) {
+ setClass_((org.eclipse.uml2.uml.Class) newValue);
+ return;
+ }
+
+ super.eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PORT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PORT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PORT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.PORT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.PORT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.PORT__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.PORT__IS_STATIC :
+ setIsStatic(IS_STATIC_EDEFAULT);
+ return;
+ case UMLPackage.PORT__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.PORT__IS_ORDERED :
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case UMLPackage.PORT__IS_UNIQUE :
+ setIsUnique(IS_UNIQUE_EDEFAULT);
+ return;
+ case UMLPackage.PORT__LOWER :
+ setLower(LOWER_EDEFAULT);
+ return;
+ case UMLPackage.PORT__LOWER_VALUE :
+ setLowerValue((ValueSpecification) null);
+ return;
+ case UMLPackage.PORT__UPPER :
+ setUpper(UPPER_EDEFAULT);
+ return;
+ case UMLPackage.PORT__UPPER_VALUE :
+ setUpperValue((ValueSpecification) null);
+ return;
+ case UMLPackage.PORT__IS_READ_ONLY :
+ setIsReadOnly(IS_READ_ONLY_EDEFAULT);
+ return;
+ case UMLPackage.PORT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PORT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PORT__DEPLOYMENT :
+ getDeployments().clear();
+ return;
+ case UMLPackage.PORT__DATATYPE :
+ setDatatype((DataType) null);
+ return;
+ case UMLPackage.PORT__INTERFACE :
+ setInterface((Interface) null);
+ return;
+ case UMLPackage.PORT__DEFAULT :
+ unsetDefault();
+ return;
+ case UMLPackage.PORT__AGGREGATION :
+ setAggregation(AGGREGATION_EDEFAULT);
+ return;
+ case UMLPackage.PORT__ASSOCIATION_END :
+ setAssociationEnd((Property) null);
+ return;
+ case UMLPackage.PORT__QUALIFIER :
+ getQualifiers().clear();
+ return;
+ case UMLPackage.PORT__DEFAULT_VALUE :
+ setDefaultValue((ValueSpecification) null);
+ return;
+ case UMLPackage.PORT__IS_COMPOSITE :
+ setIsComposite(IS_COMPOSITE_EDEFAULT);
+ return;
+ case UMLPackage.PORT__IS_DERIVED :
+ setIsDerived(IS_DERIVED_EDEFAULT);
+ return;
+ case UMLPackage.PORT__IS_DERIVED_UNION :
+ setIsDerivedUnion(IS_DERIVED_UNION_EDEFAULT);
+ return;
+ case UMLPackage.PORT__IS_ID :
+ setIsID(IS_ID_EDEFAULT);
+ return;
+ case UMLPackage.PORT__OPPOSITE :
+ setOpposite((Property) null);
+ return;
+ case UMLPackage.PORT__OWNING_ASSOCIATION :
+ setOwningAssociation((Association) null);
+ return;
+ case UMLPackage.PORT__REDEFINED_PROPERTY :
+ getRedefinedProperties().clear();
+ return;
+ case UMLPackage.PORT__SUBSETTED_PROPERTY :
+ getSubsettedProperties().clear();
+ return;
+ case UMLPackage.PORT__ASSOCIATION :
+ setAssociation((Association) null);
+ return;
+ case UMLPackage.PORT__IS_BEHAVIOR :
+ setIsBehavior(IS_BEHAVIOR_EDEFAULT);
+ return;
+ case UMLPackage.PORT__IS_CONJUGATED :
+ setIsConjugated(IS_CONJUGATED_EDEFAULT);
+ return;
+ case UMLPackage.PORT__IS_SERVICE :
+ setIsService(IS_SERVICE_EDEFAULT);
+ return;
+ case UMLPackage.PORT__PROTOCOL :
+ setProtocol((ProtocolStateMachine) null);
+ return;
+ case UMLPackage.PORT__REDEFINED_PORT :
+ getRedefinedPorts().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PORT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PORT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PORT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PORT__OWNER :
+ return isSetOwner();
+ case UMLPackage.PORT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.PORT__NAME :
+ return isSetName();
+ case UMLPackage.PORT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.PORT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.PORT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.PORT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.PORT__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.PORT__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.PORT__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.PORT__FEATURING_CLASSIFIER :
+ return isSetFeaturingClassifiers();
+ case UMLPackage.PORT__IS_STATIC :
+ return isStatic() != IS_STATIC_EDEFAULT;
+ case UMLPackage.PORT__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.PORT__IS_ORDERED :
+ return isOrdered() != IS_ORDERED_EDEFAULT;
+ case UMLPackage.PORT__IS_UNIQUE :
+ return isUnique() != IS_UNIQUE_EDEFAULT;
+ case UMLPackage.PORT__LOWER :
+ return getLower() != LOWER_EDEFAULT;
+ case UMLPackage.PORT__LOWER_VALUE :
+ return basicGetLowerValue() != null;
+ case UMLPackage.PORT__UPPER :
+ return getUpper() != UPPER_EDEFAULT;
+ case UMLPackage.PORT__UPPER_VALUE :
+ return basicGetUpperValue() != null;
+ case UMLPackage.PORT__IS_READ_ONLY :
+ return isReadOnly() != IS_READ_ONLY_EDEFAULT;
+ case UMLPackage.PORT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.PORT__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.PORT__END :
+ return !getEnds().isEmpty();
+ case UMLPackage.PORT__DEPLOYED_ELEMENT :
+ return !getDeployedElements().isEmpty();
+ case UMLPackage.PORT__DEPLOYMENT :
+ return !getDeployments().isEmpty();
+ case UMLPackage.PORT__DATATYPE :
+ return basicGetDatatype() != null;
+ case UMLPackage.PORT__INTERFACE :
+ return basicGetInterface() != null;
+ case UMLPackage.PORT__DEFAULT :
+ return isSetDefault();
+ case UMLPackage.PORT__AGGREGATION :
+ return getAggregation() != AGGREGATION_EDEFAULT;
+ case UMLPackage.PORT__ASSOCIATION_END :
+ return basicGetAssociationEnd() != null;
+ case UMLPackage.PORT__QUALIFIER :
+ return !getQualifiers().isEmpty();
+ case UMLPackage.PORT__CLASS :
+ return basicGetClass_() != null;
+ case UMLPackage.PORT__DEFAULT_VALUE :
+ return basicGetDefaultValue() != null;
+ case UMLPackage.PORT__IS_COMPOSITE :
+ return isComposite() != IS_COMPOSITE_EDEFAULT;
+ case UMLPackage.PORT__IS_DERIVED :
+ return isDerived() != IS_DERIVED_EDEFAULT;
+ case UMLPackage.PORT__IS_DERIVED_UNION :
+ return isDerivedUnion() != IS_DERIVED_UNION_EDEFAULT;
+ case UMLPackage.PORT__IS_ID :
+ return isID() != IS_ID_EDEFAULT;
+ case UMLPackage.PORT__OPPOSITE :
+ return basicGetOpposite() != null;
+ case UMLPackage.PORT__OWNING_ASSOCIATION :
+ return basicGetOwningAssociation() != null;
+ case UMLPackage.PORT__REDEFINED_PROPERTY :
+ return !getRedefinedProperties().isEmpty();
+ case UMLPackage.PORT__SUBSETTED_PROPERTY :
+ return !getSubsettedProperties().isEmpty();
+ case UMLPackage.PORT__ASSOCIATION :
+ return basicGetAssociation() != null;
+ case UMLPackage.PORT__IS_BEHAVIOR :
+ return isBehavior() != IS_BEHAVIOR_EDEFAULT;
+ case UMLPackage.PORT__IS_CONJUGATED :
+ return isConjugated() != IS_CONJUGATED_EDEFAULT;
+ case UMLPackage.PORT__IS_SERVICE :
+ return isService() != IS_SERVICE_EDEFAULT;
+ case UMLPackage.PORT__PROTOCOL :
+ return basicGetProtocol() != null;
+ case UMLPackage.PORT__PROVIDED :
+ return !getProvideds().isEmpty();
+ case UMLPackage.PORT__REDEFINED_PORT :
+ return !getRedefinedPorts().isEmpty();
+ case UMLPackage.PORT__REQUIRED :
+ return !getRequireds().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PORT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PORT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PORT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PORT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PORT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PORT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PORT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PORT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PORT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PORT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PORT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PORT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PORT___GET_MODEL :
+ return getModel();
+ case UMLPackage.PORT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PORT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PORT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PORT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PORT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PORT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PORT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PORT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PORT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PORT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PORT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PORT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PORT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PORT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PORT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PORT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PORT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PORT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PORT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PORT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PORT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PORT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PORT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.PORT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.PORT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.PORT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.PORT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.PORT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.PORT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.PORT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.PORT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PORT___SEPARATOR :
+ return separator();
+ case UMLPackage.PORT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.PORT___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.PORT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.PORT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return validateUpperGeLower((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return validateLowerGe0((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationNoSideEffects(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationConstant(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return validateLowerIsInteger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return validateUpperIsUnlimitedNatural(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PORT___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PORT___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return compatibleWith((MultiplicityElement) arguments.get(0));
+ case UMLPackage.PORT___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return includesMultiplicity(
+ (MultiplicityElement) arguments.get(0));
+ case UMLPackage.PORT___IS__INT_INT :
+ return is((Integer) arguments.get(0),
+ (Integer) arguments.get(1));
+ case UMLPackage.PORT___IS_MULTIVALUED :
+ return isMultivalued();
+ case UMLPackage.PORT___GET_LOWER :
+ return getLower();
+ case UMLPackage.PORT___LOWER_BOUND :
+ return lowerBound();
+ case UMLPackage.PORT___GET_UPPER :
+ return getUpper();
+ case UMLPackage.PORT___UPPER_BOUND :
+ return upperBound();
+ case UMLPackage.PORT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.PORT___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.PORT___GET_ENDS :
+ return getEnds();
+ case UMLPackage.PORT___GET_DEPLOYED_ELEMENTS :
+ return getDeployedElements();
+ case UMLPackage.PORT___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP :
+ return validateSubsettingContextConforms(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP :
+ return validateDerivedUnionIsReadOnly(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfComposite(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinedPropertyInherited(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_SUBSETTING_RULES__DIAGNOSTICCHAIN_MAP :
+ return validateSubsettingRules(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_BINDING_TO_ATTRIBUTE__DIAGNOSTICCHAIN_MAP :
+ return validateBindingToAttribute(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP :
+ return validateDerivedUnionIsDerived(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP :
+ return validateDeploymentTarget(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP :
+ return validateSubsettedPropertyNames(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_TYPE_OF_OPPOSITE_END__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfOppositeEnd(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_QUALIFIED_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP :
+ return validateQualifiedIsAssociationEnd(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___GET_DEFAULT :
+ return getDefault();
+ case UMLPackage.PORT___GET_OTHER_END :
+ return getOtherEnd();
+ case UMLPackage.PORT___IS_SET_DEFAULT :
+ return isSetDefault();
+ case UMLPackage.PORT___SET_BOOLEAN_DEFAULT_VALUE__BOOLEAN :
+ setBooleanDefaultValue((Boolean) arguments.get(0));
+ return null;
+ case UMLPackage.PORT___SET_DEFAULT__STRING :
+ setDefault((String) arguments.get(0));
+ return null;
+ case UMLPackage.PORT___SET_INTEGER_DEFAULT_VALUE__INT :
+ setIntegerDefaultValue((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PORT___SET_IS_COMPOSITE__BOOLEAN :
+ setIsComposite((Boolean) arguments.get(0));
+ return null;
+ case UMLPackage.PORT___SET_IS_NAVIGABLE__BOOLEAN :
+ setIsNavigable((Boolean) arguments.get(0));
+ return null;
+ case UMLPackage.PORT___SET_NULL_DEFAULT_VALUE :
+ setNullDefaultValue();
+ return null;
+ case UMLPackage.PORT___SET_OPPOSITE__PROPERTY :
+ setOpposite((Property) arguments.get(0));
+ return null;
+ case UMLPackage.PORT___SET_REAL_DEFAULT_VALUE__DOUBLE :
+ setRealDefaultValue((Double) arguments.get(0));
+ return null;
+ case UMLPackage.PORT___SET_STRING_DEFAULT_VALUE__STRING :
+ setStringDefaultValue((String) arguments.get(0));
+ return null;
+ case UMLPackage.PORT___SET_UNLIMITED_NATURAL_DEFAULT_VALUE__INT :
+ setUnlimitedNaturalDefaultValue((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PORT___UNSET_DEFAULT :
+ unsetDefault();
+ return null;
+ case UMLPackage.PORT___IS_ATTRIBUTE :
+ return isAttribute();
+ case UMLPackage.PORT___IS_COMPOSITE :
+ return isComposite();
+ case UMLPackage.PORT___IS_NAVIGABLE :
+ return isNavigable();
+ case UMLPackage.PORT___GET_OPPOSITE :
+ return getOpposite();
+ case UMLPackage.PORT___SUBSETTING_CONTEXT :
+ return subsettingContext();
+ case UMLPackage.PORT___VALIDATE_PORT_AGGREGATION__DIAGNOSTICCHAIN_MAP :
+ return validatePortAggregation(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_DEFAULT_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateDefaultValue((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___VALIDATE_ENCAPSULATED_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateEncapsulatedOwner(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PORT___GET_PROVIDEDS :
+ return getProvideds();
+ case UMLPackage.PORT___GET_REQUIREDS :
+ return getRequireds();
+ case UMLPackage.PORT___BASIC_PROVIDED :
+ return basicProvided();
+ case UMLPackage.PORT___BASIC_REQUIRED :
+ return basicRequired();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //PortImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PrimitiveTypeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PrimitiveTypeImpl.java
new file mode 100644
index 00000000..568430e8
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PrimitiveTypeImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Primitive Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PrimitiveTypeImpl
+ extends DataTypeImpl
+ implements PrimitiveType {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PrimitiveTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PRIMITIVE_TYPE;
+ }
+
+} //PrimitiveTypeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProfileApplicationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProfileApplicationImpl.java
new file mode 100644
index 00000000..057c7dee
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProfileApplicationImpl.java
@@ -0,0 +1,658 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.ProfileApplicationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Profile Application</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProfileApplicationImpl#getTargets <em>Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProfileApplicationImpl#getSources <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProfileApplicationImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProfileApplicationImpl#getAppliedProfile <em>Applied Profile</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProfileApplicationImpl#isStrict <em>Is Strict</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProfileApplicationImpl#getApplyingPackage <em>Applying Package</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ProfileApplicationImpl
+ extends DirectedRelationshipImpl
+ implements ProfileApplication {
+
+ /**
+ * The default value of the '{@link #isStrict() <em>Is Strict</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isStrict()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_STRICT_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProfileApplicationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PROFILE_APPLICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getTargets() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> targets = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET);
+ if (targets == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET,
+ targets = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.PROFILE_APPLICATION__TARGET,
+ TARGET_ESUBSETS));
+ }
+ return targets;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PROFILE_APPLICATION__TARGET, TARGET_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getSources() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> sources = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE);
+ if (sources == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE,
+ sources = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.PROFILE_APPLICATION__SOURCE,
+ SOURCE_ESUBSETS));
+ }
+ return sources;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PROFILE_APPLICATION__SOURCE, SOURCE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Profile getAppliedProfile() {
+ return (Profile) eDynamicGet(
+ UMLPackage.PROFILE_APPLICATION__APPLIED_PROFILE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROFILE_APPLICATION__APPLIED_PROFILE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Profile basicGetAppliedProfile() {
+ return (Profile) eDynamicGet(
+ UMLPackage.PROFILE_APPLICATION__APPLIED_PROFILE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROFILE_APPLICATION__APPLIED_PROFILE, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAppliedProfile(Profile newAppliedProfile) {
+ eDynamicSet(
+ UMLPackage.PROFILE_APPLICATION__APPLIED_PROFILE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROFILE_APPLICATION__APPLIED_PROFILE,
+ newAppliedProfile);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isStrict() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PROFILE_APPLICATION__IS_STRICT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROFILE_APPLICATION__IS_STRICT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsStrict(boolean newIsStrict) {
+ eDynamicSet(
+ UMLPackage.PROFILE_APPLICATION__IS_STRICT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROFILE_APPLICATION__IS_STRICT, newIsStrict);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getApplyingPackage() {
+ return (org.eclipse.uml2.uml.Package) eDynamicGet(
+ UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROFILE_APPLICATION__APPLYING_PACKAGE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetApplyingPackage() {
+ return (org.eclipse.uml2.uml.Package) eDynamicGet(
+ UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROFILE_APPLICATION__APPLYING_PACKAGE, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetApplyingPackage(
+ org.eclipse.uml2.uml.Package newApplyingPackage,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newApplyingPackage,
+ UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setApplyingPackage(
+ org.eclipse.uml2.uml.Package newApplyingPackage) {
+ eDynamicSet(
+ UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROFILE_APPLICATION__APPLYING_PACKAGE,
+ newApplyingPackage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EPackage getAppliedDefinition() {
+ return ProfileApplicationOperations.getAppliedDefinition(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ENamedElement getAppliedDefinition(NamedElement namedElement) {
+ return ProfileApplicationOperations.getAppliedDefinition(this,
+ namedElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PROFILE_APPLICATION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetApplyingPackage(
+ (org.eclipse.uml2.uml.Package) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PROFILE_APPLICATION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROFILE_APPLICATION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE :
+ return basicSetApplyingPackage(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.PACKAGE__PROFILE_APPLICATION,
+ org.eclipse.uml2.uml.Package.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PROFILE_APPLICATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PROFILE_APPLICATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PROFILE_APPLICATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PROFILE_APPLICATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PROFILE_APPLICATION__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.PROFILE_APPLICATION__SOURCE :
+ return getSources();
+ case UMLPackage.PROFILE_APPLICATION__TARGET :
+ return getTargets();
+ case UMLPackage.PROFILE_APPLICATION__APPLIED_PROFILE :
+ if (resolve)
+ return getAppliedProfile();
+ return basicGetAppliedProfile();
+ case UMLPackage.PROFILE_APPLICATION__IS_STRICT :
+ return isStrict();
+ case UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE :
+ if (resolve)
+ return getApplyingPackage();
+ return basicGetApplyingPackage();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PROFILE_APPLICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PROFILE_APPLICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PROFILE_APPLICATION__APPLIED_PROFILE :
+ setAppliedProfile((Profile) newValue);
+ return;
+ case UMLPackage.PROFILE_APPLICATION__IS_STRICT :
+ setIsStrict((Boolean) newValue);
+ return;
+ case UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE :
+ setApplyingPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PROFILE_APPLICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PROFILE_APPLICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PROFILE_APPLICATION__APPLIED_PROFILE :
+ setAppliedProfile((Profile) null);
+ return;
+ case UMLPackage.PROFILE_APPLICATION__IS_STRICT :
+ setIsStrict(IS_STRICT_EDEFAULT);
+ return;
+ case UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE :
+ setApplyingPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PROFILE_APPLICATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PROFILE_APPLICATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PROFILE_APPLICATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PROFILE_APPLICATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.PROFILE_APPLICATION__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.PROFILE_APPLICATION__SOURCE :
+ return isSetSources();
+ case UMLPackage.PROFILE_APPLICATION__TARGET :
+ return isSetTargets();
+ case UMLPackage.PROFILE_APPLICATION__APPLIED_PROFILE :
+ return basicGetAppliedProfile() != null;
+ case UMLPackage.PROFILE_APPLICATION__IS_STRICT :
+ return isStrict() != IS_STRICT_EDEFAULT;
+ case UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE :
+ return basicGetApplyingPackage() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PROFILE_APPLICATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE_APPLICATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE_APPLICATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PROFILE_APPLICATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PROFILE_APPLICATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PROFILE_APPLICATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PROFILE_APPLICATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROFILE_APPLICATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.PROFILE_APPLICATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PROFILE_APPLICATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PROFILE_APPLICATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PROFILE_APPLICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PROFILE_APPLICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PROFILE_APPLICATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PROFILE_APPLICATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROFILE_APPLICATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROFILE_APPLICATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PROFILE_APPLICATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE_APPLICATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PROFILE_APPLICATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PROFILE_APPLICATION___GET_APPLIED_DEFINITION :
+ return getAppliedDefinition();
+ case UMLPackage.PROFILE_APPLICATION___GET_APPLIED_DEFINITION__NAMEDELEMENT :
+ return getAppliedDefinition((NamedElement) arguments.get(0));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getTargets() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] TARGET_ESUBSETS = new int[]{
+ UMLPackage.PROFILE_APPLICATION__APPLIED_PROFILE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetTargets() {
+ return super.isSetTargets()
+ || eIsSet(UMLPackage.PROFILE_APPLICATION__APPLIED_PROFILE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSources() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSources()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SOURCE_ESUBSETS = new int[]{
+ UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetSources() {
+ return super.isSetSources()
+ || eIsSet(UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ org.eclipse.uml2.uml.Package applyingPackage = basicGetApplyingPackage();
+ if (applyingPackage != null) {
+ return applyingPackage;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE);
+ }
+
+} //ProfileApplicationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProfileImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProfileImpl.java
new file mode 100644
index 00000000..2cb4866e
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProfileImpl.java
@@ -0,0 +1,1177 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentWithInverseEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.ProfileOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Profile</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProfileImpl#getElementImports <em>Element Import</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProfileImpl#getPackageImports <em>Package Import</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProfileImpl#getMetaclassReferences <em>Metaclass Reference</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProfileImpl#getMetamodelReferences <em>Metamodel Reference</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ProfileImpl
+ extends PackageImpl
+ implements Profile {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProfileImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PROFILE;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.NAMESPACE__ELEMENT_IMPORT) {
+ return createElementImportsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.PROFILE__METACLASS_REFERENCE) {
+ return createMetaclassReferencesList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.PROFILE__METAMODEL_REFERENCE) {
+ return createMetamodelReferencesList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.NAMESPACE__PACKAGE_IMPORT) {
+ return createPackageImportsList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<ElementImport> getElementImports() {
+ return (EList<ElementImport>) eDynamicGet(
+ UMLPackage.PROFILE__ELEMENT_IMPORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMESPACE__ELEMENT_IMPORT, true, true);
+ }
+
+ private EList<ElementImport> createElementImportsList() {
+ return new SubsetSupersetEObjectContainmentWithInverseEList.Resolving<ElementImport>(
+ ElementImport.class, this, UMLPackage.PROFILE__ELEMENT_IMPORT, null,
+ ELEMENT_IMPORT_ESUBSETS,
+ UMLPackage.ELEMENT_IMPORT__IMPORTING_NAMESPACE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getElementImports() <em>Element Import</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementImports()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] ELEMENT_IMPORT_ESUBSETS = new int[]{
+ UMLPackage.PROFILE__METACLASS_REFERENCE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<PackageImport> getPackageImports() {
+ return (EList<PackageImport>) eDynamicGet(
+ UMLPackage.PROFILE__PACKAGE_IMPORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMESPACE__PACKAGE_IMPORT, true, true);
+ }
+
+ private EList<PackageImport> createPackageImportsList() {
+ return new SubsetSupersetEObjectContainmentWithInverseEList.Resolving<PackageImport>(
+ PackageImport.class, this, UMLPackage.PROFILE__PACKAGE_IMPORT, null,
+ PACKAGE_IMPORT_ESUBSETS,
+ UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getPackageImports() <em>Package Import</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPackageImports()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] PACKAGE_IMPORT_ESUBSETS = new int[]{
+ UMLPackage.PROFILE__METAMODEL_REFERENCE};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getMetaclassReferences() <em>Metaclass Reference</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetaclassReferences()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] METACLASS_REFERENCE_ESUPERSETS = new int[]{
+ UMLPackage.PROFILE__ELEMENT_IMPORT};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getMetamodelReferences() <em>Metamodel Reference</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetamodelReferences()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] METAMODEL_REFERENCE_ESUPERSETS = new int[]{
+ UMLPackage.PROFILE__PACKAGE_IMPORT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementImport> getMetaclassReferences() {
+ return (EList<ElementImport>) eDynamicGet(
+ UMLPackage.PROFILE__METACLASS_REFERENCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROFILE__METACLASS_REFERENCE, true, true);
+ }
+
+ private EList<ElementImport> createMetaclassReferencesList() {
+ return new SubsetSupersetEObjectResolvingEList<ElementImport>(
+ ElementImport.class, this, UMLPackage.PROFILE__METACLASS_REFERENCE,
+ METACLASS_REFERENCE_ESUPERSETS, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementImport createMetaclassReference(
+ PackageableElement importedElement) {
+ ElementImport newMetaclassReference = (ElementImport) create(
+ UMLPackage.Literals.ELEMENT_IMPORT);
+ getMetaclassReferences().add(newMetaclassReference);
+ if (importedElement != null)
+ newMetaclassReference.setImportedElement(importedElement);
+ return newMetaclassReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementImport getMetaclassReference(
+ PackageableElement importedElement) {
+ return getMetaclassReference(importedElement, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementImport getMetaclassReference(
+ PackageableElement importedElement, boolean createOnDemand) {
+ metaclassReferenceLoop : for (ElementImport metaclassReference : getMetaclassReferences()) {
+ if (importedElement != null && !importedElement
+ .equals(metaclassReference.getImportedElement()))
+ continue metaclassReferenceLoop;
+ return metaclassReference;
+ }
+ return createOnDemand
+ ? createMetaclassReference(importedElement)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<PackageImport> getMetamodelReferences() {
+ return (EList<PackageImport>) eDynamicGet(
+ UMLPackage.PROFILE__METAMODEL_REFERENCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROFILE__METAMODEL_REFERENCE, true, true);
+ }
+
+ private EList<PackageImport> createMetamodelReferencesList() {
+ return new SubsetSupersetEObjectResolvingEList<PackageImport>(
+ PackageImport.class, this, UMLPackage.PROFILE__METAMODEL_REFERENCE,
+ METAMODEL_REFERENCE_ESUPERSETS, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport createMetamodelReference(
+ org.eclipse.uml2.uml.Package importedPackage) {
+ PackageImport newMetamodelReference = (PackageImport) create(
+ UMLPackage.Literals.PACKAGE_IMPORT);
+ getMetamodelReferences().add(newMetamodelReference);
+ if (importedPackage != null)
+ newMetamodelReference.setImportedPackage(importedPackage);
+ return newMetamodelReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport getMetamodelReference(
+ org.eclipse.uml2.uml.Package importedPackage) {
+ return getMetamodelReference(importedPackage, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport getMetamodelReference(
+ org.eclipse.uml2.uml.Package importedPackage,
+ boolean createOnDemand) {
+ metamodelReferenceLoop : for (PackageImport metamodelReference : getMetamodelReferences()) {
+ if (importedPackage != null && !importedPackage
+ .equals(metamodelReference.getImportedPackage()))
+ continue metamodelReferenceLoop;
+ return metamodelReference;
+ }
+ return createOnDemand
+ ? createMetamodelReference(importedPackage)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMetaclassReferenceNotSpecialized(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ProfileOperations.validateMetaclassReferenceNotSpecialized(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateReferencesSameMetamodel(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ProfileOperations.validateReferencesSameMetamodel(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject create(Classifier classifier) {
+ return ProfileOperations.create(this, classifier);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDefined() {
+ return ProfileOperations.isDefined(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EPackage define() {
+ return ProfileOperations.define(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+
+ public EPackage define(Map<String, String> options,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ProfileOperations.define(this, options, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EPackage getDefinition() {
+ return ProfileOperations.getDefinition(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ENamedElement getDefinition(NamedElement namedElement) {
+ return ProfileOperations.getDefinition(this, namedElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<org.eclipse.uml2.uml.Class> getReferencedMetaclasses() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<org.eclipse.uml2.uml.Class> result = (EList<org.eclipse.uml2.uml.Class>) cache
+ .get(this,
+ UMLPackage.Literals.PROFILE___GET_REFERENCED_METACLASSES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.PROFILE___GET_REFERENCED_METACLASSES,
+ result = ProfileOperations.getReferencedMetaclasses(this));
+ }
+ return result;
+ }
+ return ProfileOperations.getReferencedMetaclasses(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Model> getReferencedMetamodels() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Model> result = (EList<Model>) cache.get(this,
+ UMLPackage.Literals.PROFILE___GET_REFERENCED_METAMODELS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.PROFILE___GET_REFERENCED_METAMODELS,
+ result = ProfileOperations.getReferencedMetamodels(this));
+ }
+ return result;
+ }
+ return ProfileOperations.getReferencedMetamodels(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Extension> getOwnedExtensions(boolean requiredOnly) {
+ return ProfileOperations.getOwnedExtensions(this, requiredOnly);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PROFILE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROFILE__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROFILE__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROFILE__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROFILE__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.PROFILE__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.PROFILE__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROFILE__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - UMLPackage.PROFILE__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.PROFILE__PACKAGE_MERGE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageMerges())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROFILE__PROFILE_APPLICATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getProfileApplications())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PROFILE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROFILE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROFILE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.PROFILE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROFILE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROFILE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROFILE__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.PROFILE__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.PROFILE__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROFILE__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.PROFILE__PACKAGE_MERGE :
+ return ((InternalEList<?>) getPackageMerges())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROFILE__PACKAGED_ELEMENT :
+ return ((InternalEList<?>) getPackagedElements())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROFILE__PROFILE_APPLICATION :
+ return ((InternalEList<?>) getProfileApplications())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PROFILE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PROFILE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PROFILE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PROFILE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PROFILE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.PROFILE__NAME :
+ return getName();
+ case UMLPackage.PROFILE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.PROFILE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.PROFILE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PROFILE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.PROFILE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.PROFILE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.PROFILE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.PROFILE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.PROFILE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.PROFILE__MEMBER :
+ return getMembers();
+ case UMLPackage.PROFILE__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.PROFILE__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.PROFILE__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.PROFILE__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.PROFILE__URI :
+ return getURI();
+ case UMLPackage.PROFILE__NESTED_PACKAGE :
+ return getNestedPackages();
+ case UMLPackage.PROFILE__NESTING_PACKAGE :
+ if (resolve)
+ return getNestingPackage();
+ return basicGetNestingPackage();
+ case UMLPackage.PROFILE__OWNED_STEREOTYPE :
+ return getOwnedStereotypes();
+ case UMLPackage.PROFILE__OWNED_TYPE :
+ return getOwnedTypes();
+ case UMLPackage.PROFILE__PACKAGE_MERGE :
+ return getPackageMerges();
+ case UMLPackage.PROFILE__PACKAGED_ELEMENT :
+ return getPackagedElements();
+ case UMLPackage.PROFILE__PROFILE_APPLICATION :
+ return getProfileApplications();
+ case UMLPackage.PROFILE__METACLASS_REFERENCE :
+ return getMetaclassReferences();
+ case UMLPackage.PROFILE__METAMODEL_REFERENCE :
+ return getMetamodelReferences();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PROFILE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PROFILE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PROFILE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.PROFILE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.PROFILE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.PROFILE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.PROFILE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.PROFILE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.PROFILE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PROFILE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PROFILE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.PROFILE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.PROFILE__URI :
+ setURI((String) newValue);
+ return;
+ case UMLPackage.PROFILE__NESTED_PACKAGE :
+ getNestedPackages().clear();
+ getNestedPackages().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Package>) newValue);
+ return;
+ case UMLPackage.PROFILE__NESTING_PACKAGE :
+ setNestingPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.PROFILE__OWNED_TYPE :
+ getOwnedTypes().clear();
+ getOwnedTypes().addAll((Collection<? extends Type>) newValue);
+ return;
+ case UMLPackage.PROFILE__PACKAGE_MERGE :
+ getPackageMerges().clear();
+ getPackageMerges()
+ .addAll((Collection<? extends PackageMerge>) newValue);
+ return;
+ case UMLPackage.PROFILE__PACKAGED_ELEMENT :
+ getPackagedElements().clear();
+ getPackagedElements().addAll(
+ (Collection<? extends PackageableElement>) newValue);
+ return;
+ case UMLPackage.PROFILE__PROFILE_APPLICATION :
+ getProfileApplications().clear();
+ getProfileApplications().addAll(
+ (Collection<? extends ProfileApplication>) newValue);
+ return;
+ case UMLPackage.PROFILE__METACLASS_REFERENCE :
+ getMetaclassReferences().clear();
+ getMetaclassReferences()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.PROFILE__METAMODEL_REFERENCE :
+ getMetamodelReferences().clear();
+ getMetamodelReferences()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PROFILE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PROFILE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PROFILE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.PROFILE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.PROFILE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.PROFILE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.PROFILE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.PROFILE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.PROFILE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PROFILE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PROFILE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.PROFILE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.PROFILE__URI :
+ setURI(URI_EDEFAULT);
+ return;
+ case UMLPackage.PROFILE__NESTED_PACKAGE :
+ getNestedPackages().clear();
+ return;
+ case UMLPackage.PROFILE__NESTING_PACKAGE :
+ setNestingPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.PROFILE__OWNED_TYPE :
+ getOwnedTypes().clear();
+ return;
+ case UMLPackage.PROFILE__PACKAGE_MERGE :
+ getPackageMerges().clear();
+ return;
+ case UMLPackage.PROFILE__PACKAGED_ELEMENT :
+ getPackagedElements().clear();
+ return;
+ case UMLPackage.PROFILE__PROFILE_APPLICATION :
+ getProfileApplications().clear();
+ return;
+ case UMLPackage.PROFILE__METACLASS_REFERENCE :
+ getMetaclassReferences().clear();
+ return;
+ case UMLPackage.PROFILE__METAMODEL_REFERENCE :
+ getMetamodelReferences().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PROFILE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PROFILE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PROFILE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PROFILE__OWNER :
+ return isSetOwner();
+ case UMLPackage.PROFILE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.PROFILE__NAME :
+ return isSetName();
+ case UMLPackage.PROFILE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.PROFILE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.PROFILE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.PROFILE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.PROFILE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.PROFILE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.PROFILE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.PROFILE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.PROFILE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.PROFILE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.PROFILE__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.PROFILE__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.PROFILE__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.PROFILE__OWNED_TEMPLATE_SIGNATURE :
+ return basicGetOwnedTemplateSignature() != null;
+ case UMLPackage.PROFILE__URI :
+ return URI_EDEFAULT == null
+ ? getURI() != null
+ : !URI_EDEFAULT.equals(getURI());
+ case UMLPackage.PROFILE__NESTED_PACKAGE :
+ return !getNestedPackages().isEmpty();
+ case UMLPackage.PROFILE__NESTING_PACKAGE :
+ return basicGetNestingPackage() != null;
+ case UMLPackage.PROFILE__OWNED_STEREOTYPE :
+ return !getOwnedStereotypes().isEmpty();
+ case UMLPackage.PROFILE__OWNED_TYPE :
+ return !getOwnedTypes().isEmpty();
+ case UMLPackage.PROFILE__PACKAGE_MERGE :
+ return !getPackageMerges().isEmpty();
+ case UMLPackage.PROFILE__PACKAGED_ELEMENT :
+ return !getPackagedElements().isEmpty();
+ case UMLPackage.PROFILE__PROFILE_APPLICATION :
+ return !getProfileApplications().isEmpty();
+ case UMLPackage.PROFILE__METACLASS_REFERENCE :
+ return !getMetaclassReferences().isEmpty();
+ case UMLPackage.PROFILE__METAMODEL_REFERENCE :
+ return !getMetamodelReferences().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PROFILE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PROFILE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PROFILE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PROFILE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PROFILE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PROFILE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PROFILE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PROFILE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PROFILE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PROFILE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROFILE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE___GET_MODEL :
+ return getModel();
+ case UMLPackage.PROFILE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PROFILE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PROFILE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PROFILE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PROFILE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PROFILE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PROFILE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PROFILE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PROFILE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PROFILE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PROFILE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROFILE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PROFILE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROFILE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PROFILE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PROFILE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PROFILE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PROFILE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PROFILE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.PROFILE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.PROFILE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.PROFILE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.PROFILE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.PROFILE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.PROFILE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.PROFILE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.PROFILE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PROFILE___SEPARATOR :
+ return separator();
+ case UMLPackage.PROFILE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.PROFILE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.PROFILE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.PROFILE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.PROFILE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.PROFILE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.PROFILE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.PROFILE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.PROFILE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.PROFILE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.PROFILE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.PROFILE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.PROFILE___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.PROFILE___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.PROFILE___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.PROFILE___VALIDATE_ELEMENTS_PUBLIC_OR_PRIVATE__DIAGNOSTICCHAIN_MAP :
+ return validateElementsPublicOrPrivate(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE___APPLY_PROFILE__PROFILE :
+ return applyProfile((Profile) arguments.get(0));
+ case UMLPackage.PROFILE___CREATE_OWNED_CLASS__STRING_BOOLEAN :
+ return createOwnedClass((String) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.PROFILE___CREATE_OWNED_ENUMERATION__STRING :
+ return createOwnedEnumeration((String) arguments.get(0));
+ case UMLPackage.PROFILE___CREATE_OWNED_INTERFACE__STRING :
+ return createOwnedInterface((String) arguments.get(0));
+ case UMLPackage.PROFILE___CREATE_OWNED_PRIMITIVE_TYPE__STRING :
+ return createOwnedPrimitiveType((String) arguments.get(0));
+ case UMLPackage.PROFILE___CREATE_OWNED_STEREOTYPE__STRING_BOOLEAN :
+ return createOwnedStereotype((String) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.PROFILE___GET_ALL_APPLIED_PROFILES :
+ return getAllAppliedProfiles();
+ case UMLPackage.PROFILE___GET_ALL_PROFILE_APPLICATIONS :
+ return getAllProfileApplications();
+ case UMLPackage.PROFILE___GET_APPLIED_PROFILE__STRING :
+ return getAppliedProfile((String) arguments.get(0));
+ case UMLPackage.PROFILE___GET_APPLIED_PROFILE__STRING_BOOLEAN :
+ return getAppliedProfile((String) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.PROFILE___GET_APPLIED_PROFILES :
+ return getAppliedProfiles();
+ case UMLPackage.PROFILE___GET_PROFILE_APPLICATION__PROFILE :
+ return getProfileApplication((Profile) arguments.get(0));
+ case UMLPackage.PROFILE___GET_PROFILE_APPLICATION__PROFILE_BOOLEAN :
+ return getProfileApplication((Profile) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.PROFILE___IS_MODEL_LIBRARY :
+ return isModelLibrary();
+ case UMLPackage.PROFILE___IS_PROFILE_APPLIED__PROFILE :
+ return isProfileApplied((Profile) arguments.get(0));
+ case UMLPackage.PROFILE___UNAPPLY_PROFILE__PROFILE :
+ return unapplyProfile((Profile) arguments.get(0));
+ case UMLPackage.PROFILE___APPLY_PROFILES__ELIST :
+ return applyProfiles((EList<Profile>) arguments.get(0));
+ case UMLPackage.PROFILE___ALL_APPLICABLE_STEREOTYPES :
+ return allApplicableStereotypes();
+ case UMLPackage.PROFILE___CONTAINING_PROFILE :
+ return containingProfile();
+ case UMLPackage.PROFILE___MAKES_VISIBLE__NAMEDELEMENT :
+ return makesVisible((NamedElement) arguments.get(0));
+ case UMLPackage.PROFILE___GET_NESTED_PACKAGES :
+ return getNestedPackages();
+ case UMLPackage.PROFILE___GET_OWNED_STEREOTYPES :
+ return getOwnedStereotypes();
+ case UMLPackage.PROFILE___GET_OWNED_TYPES :
+ return getOwnedTypes();
+ case UMLPackage.PROFILE___VISIBLE_MEMBERS :
+ return visibleMembers();
+ case UMLPackage.PROFILE___VALIDATE_METACLASS_REFERENCE_NOT_SPECIALIZED__DIAGNOSTICCHAIN_MAP :
+ return validateMetaclassReferenceNotSpecialized(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE___VALIDATE_REFERENCES_SAME_METAMODEL__DIAGNOSTICCHAIN_MAP :
+ return validateReferencesSameMetamodel(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROFILE___CREATE__CLASSIFIER :
+ return create((Classifier) arguments.get(0));
+ case UMLPackage.PROFILE___DEFINE :
+ return define();
+ case UMLPackage.PROFILE___DEFINE__MAP_DIAGNOSTICCHAIN_MAP :
+ return define((Map<String, String>) arguments.get(0),
+ (DiagnosticChain) arguments.get(1),
+ (Map<Object, Object>) arguments.get(2));
+ case UMLPackage.PROFILE___GET_DEFINITION :
+ return getDefinition();
+ case UMLPackage.PROFILE___GET_DEFINITION__NAMEDELEMENT :
+ return getDefinition((NamedElement) arguments.get(0));
+ case UMLPackage.PROFILE___GET_OWNED_EXTENSIONS__BOOLEAN :
+ return getOwnedExtensions((Boolean) arguments.get(0));
+ case UMLPackage.PROFILE___GET_REFERENCED_METACLASSES :
+ return getReferencedMetaclasses();
+ case UMLPackage.PROFILE___GET_REFERENCED_METAMODELS :
+ return getReferencedMetamodels();
+ case UMLPackage.PROFILE___IS_DEFINED :
+ return isDefined();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ProfileImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PropertyImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PropertyImpl.java
new file mode 100644
index 00000000..d4912987
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PropertyImpl.java
@@ -0,0 +1,2764 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 208353, 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentTarget;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ConnectableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.DeploymentTargetOperations;
+import org.eclipse.uml2.uml.internal.operations.ParameterableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.PropertyOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getTemplateParameter <em>Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getOwningTemplateParameter <em>Owning Template Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getEnds <em>End</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getDeployedElements <em>Deployed Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getDeployments <em>Deployment</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getFeaturingClassifiers <em>Featuring Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getRedefinitionContexts <em>Redefinition Context</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getRedefinedElements <em>Redefined Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getAssociation <em>Association</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getDatatype <em>Datatype</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getInterface <em>Interface</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getDefault <em>Default</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getAggregation <em>Aggregation</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getAssociationEnd <em>Association End</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getQualifiers <em>Qualifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getClass_ <em>Class</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#isComposite <em>Is Composite</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#isDerived <em>Is Derived</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#isDerivedUnion <em>Is Derived Union</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#isID <em>Is ID</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getOpposite <em>Opposite</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getOwningAssociation <em>Owning Association</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getRedefinedProperties <em>Redefined Property</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PropertyImpl#getSubsettedProperties <em>Subsetted Property</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PropertyImpl
+ extends StructuralFeatureImpl
+ implements Property {
+
+ /**
+ * The default value of the '{@link #getDefault() <em>Default</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefault()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEFAULT_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getAggregation() <em>Aggregation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAggregation()
+ * @generated
+ * @ordered
+ */
+ protected static final AggregationKind AGGREGATION_EDEFAULT = AggregationKind.NONE_LITERAL;
+
+ /**
+ * The default value of the '{@link #isComposite() <em>Is Composite</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isComposite()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_COMPOSITE_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isDerived() <em>Is Derived</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDerived()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DERIVED_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isDerivedUnion() <em>Is Derived Union</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDerivedUnion()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DERIVED_UNION_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isID() <em>Is ID</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isID()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ID_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PropertyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PROPERTY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PROPERTY__TEMPLATE_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PROPERTY__TEMPLATE_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemplateParameterGen(
+ TemplateParameter newTemplateParameter, NotificationChain msgs) {
+ if (newTemplateParameter != null
+ && !(newTemplateParameter instanceof ConnectableElementTemplateParameter)) {
+ throw new IllegalArgumentException(
+ "newTemplateParameter must be an instance of ConnectableElementTemplateParameter"); //$NON-NLS-1$
+ }
+ msgs = eDynamicInverseAdd((InternalEObject) newTemplateParameter,
+ UMLPackage.PROPERTY__TEMPLATE_PARAMETER, msgs);
+ return msgs;
+ }
+
+ public NotificationChain basicSetTemplateParameter(
+ TemplateParameter newTemplateParameter, NotificationChain msgs) {
+ msgs = basicSetTemplateParameterGen(newTemplateParameter, msgs);
+
+ Resource.Internal eInternalResource = eInternalResource();
+
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+
+ if (owningTemplateParameter != null
+ && owningTemplateParameter != newTemplateParameter) {
+
+ setOwningTemplateParameter(null);
+ }
+ }
+
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemplateParameter(TemplateParameter newTemplateParameter) {
+ if (newTemplateParameter != null
+ && !(newTemplateParameter instanceof ConnectableElementTemplateParameter)) {
+ throw new IllegalArgumentException(
+ "newTemplateParameter must be an instance of ConnectableElementTemplateParameter"); //$NON-NLS-1$
+ }
+ eDynamicSet(
+ UMLPackage.PROPERTY__TEMPLATE_PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ newTemplateParameter);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetTemplateParameter() {
+ return basicGetTemplateParameter() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetOwningTemplateParameter() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newOwningTemplateParameter,
+ UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwningTemplateParameter(
+ TemplateParameter newOwningTemplateParameter) {
+ eDynamicSet(
+ UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER,
+ newOwningTemplateParameter);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningTemplateParameter != null) {
+ if (newOwningTemplateParameter != getTemplateParameter()) {
+ setTemplateParameter(newOwningTemplateParameter);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConnectorEnd> getEnds() {
+ return ConnectableElementOperations.getEnds(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.PROPERTY__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PROPERTY__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Deployment> getDeployments() {
+ return (EList<Deployment>) eDynamicGet(
+ UMLPackage.PROPERTY__DEPLOYMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPLOYMENT_TARGET__DEPLOYMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PackageableElement> getDeployedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<PackageableElement> result = (EList<PackageableElement>) cache
+ .get(this,
+ UMLPackage.Literals.DEPLOYMENT_TARGET__DEPLOYED_ELEMENT);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.DEPLOYMENT_TARGET__DEPLOYED_ELEMENT,
+ result = DeploymentTargetOperations
+ .getDeployedElements(this));
+ }
+ return result;
+ }
+ return DeploymentTargetOperations.getDeployedElements(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getDeployedElement(String name) {
+ return getDeployedElement(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getDeployedElement(String name,
+ boolean ignoreCase, EClass eClass) {
+ deployedElementLoop : for (PackageableElement deployedElement : getDeployedElements()) {
+ if (eClass != null && !eClass.isInstance(deployedElement))
+ continue deployedElementLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(deployedElement.getName())
+ : name.equals(deployedElement.getName())))
+ continue deployedElementLoop;
+ return deployedElement;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Classifier> getFeaturingClassifiers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> featuringClassifiers = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.FEATURE__FEATURING_CLASSIFIER);
+ if (featuringClassifiers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.FEATURE__FEATURING_CLASSIFIER,
+ featuringClassifiers = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.PROPERTY__FEATURING_CLASSIFIER,
+ FEATURING_CLASSIFIER_ESUBSETS));
+ }
+ return featuringClassifiers;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.PROPERTY__FEATURING_CLASSIFIER,
+ FEATURING_CLASSIFIER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<RedefinableElement> getRedefinedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<RedefinableElement> redefinedElements = (EList<RedefinableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT);
+ if (redefinedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT,
+ redefinedElements = new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.PROPERTY__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS));
+ }
+ return redefinedElements;
+ }
+ return new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.PROPERTY__REDEFINED_ELEMENT, REDEFINED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Association getAssociation() {
+ return (Association) eDynamicGet(
+ UMLPackage.PROPERTY__ASSOCIATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__ASSOCIATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Association basicGetAssociation() {
+ return (Association) eDynamicGet(
+ UMLPackage.PROPERTY__ASSOCIATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__ASSOCIATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAssociation(Association newAssociation,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newAssociation,
+ UMLPackage.PROPERTY__ASSOCIATION, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ Association owningAssociation = basicGetOwningAssociation();
+ if (owningAssociation != null
+ && owningAssociation != newAssociation) {
+ setOwningAssociation(null);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAssociation(Association newAssociation) {
+ eDynamicSet(UMLPackage.PROPERTY__ASSOCIATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__ASSOCIATION, newAssociation);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ Association owningAssociation = basicGetOwningAssociation();
+ if (owningAssociation != null
+ && owningAssociation != newAssociation) {
+ setOwningAssociation(null);
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType getDatatype() {
+ return (DataType) eDynamicGet(
+ UMLPackage.PROPERTY__DATATYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__DATATYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType basicGetDatatype() {
+ return (DataType) eDynamicGet(
+ UMLPackage.PROPERTY__DATATYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__DATATYPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDatatype(DataType newDatatype,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newDatatype,
+ UMLPackage.PROPERTY__DATATYPE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDatatype(DataType newDatatype) {
+ eDynamicSet(UMLPackage.PROPERTY__DATATYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__DATATYPE, newDatatype);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getInterface() {
+ return (Interface) eDynamicGet(
+ UMLPackage.PROPERTY__INTERFACE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__INTERFACE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface basicGetInterface() {
+ return (Interface) eDynamicGet(
+ UMLPackage.PROPERTY__INTERFACE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__INTERFACE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInterface(Interface newInterface,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newInterface,
+ UMLPackage.PROPERTY__INTERFACE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInterface(Interface newInterface) {
+ eDynamicSet(UMLPackage.PROPERTY__INTERFACE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__INTERFACE, newInterface);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDerived() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PROPERTY__IS_DERIVED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__IS_DERIVED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDerived(boolean newIsDerived) {
+ eDynamicSet(UMLPackage.PROPERTY__IS_DERIVED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__IS_DERIVED, newIsDerived);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDerivedUnion() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PROPERTY__IS_DERIVED_UNION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__IS_DERIVED_UNION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDerivedUnion(boolean newIsDerivedUnion) {
+ eDynamicSet(
+ UMLPackage.PROPERTY__IS_DERIVED_UNION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__IS_DERIVED_UNION, newIsDerivedUnion);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isID() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.PROPERTY__IS_ID - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__IS_ID, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsID(boolean newIsID) {
+ eDynamicSet(UMLPackage.PROPERTY__IS_ID - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__IS_ID, newIsID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDefault() {
+ return PropertyOperations.getDefault(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefault(String newDefault) {
+ PropertyOperations.setDefault(this, newDefault);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AggregationKind getAggregation() {
+ return (AggregationKind) eDynamicGet(
+ UMLPackage.PROPERTY__AGGREGATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__AGGREGATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAggregation(AggregationKind newAggregation) {
+ eDynamicSet(UMLPackage.PROPERTY__AGGREGATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__AGGREGATION, newAggregation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isComposite() {
+ return PropertyOperations.isComposite(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsComposite(boolean newIsComposite) {
+ PropertyOperations.setIsComposite(this, newIsComposite);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getClass_() {
+ org.eclipse.uml2.uml.Class class_ = basicGetClass_();
+ return class_ != null && class_.eIsProxy()
+ ? (org.eclipse.uml2.uml.Class) eResolveProxy(
+ (InternalEObject) class_)
+ : class_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public org.eclipse.uml2.uml.Class basicGetClass_() {
+ InternalEObject eInternalContainer = eInternalContainer();
+ return eInternalContainer instanceof org.eclipse.uml2.uml.Class
+ ? (org.eclipse.uml2.uml.Class) eInternalContainer
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void setClass_(org.eclipse.uml2.uml.Class newClass) {
+ if (newClass != eInternalContainer()) {
+ if (EcoreUtil.isAncestor(this, newClass))
+ throw new IllegalArgumentException(
+ "Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newClass != null)
+ msgs = ((InternalEList<Property>) newClass.getOwnedAttributes())
+ .basicAdd(this, msgs);
+ msgs = eBasicSetContainer((InternalEObject) newClass,
+ InternalEObject.EOPPOSITE_FEATURE_BASE
+ - UMLPackage.CLASS__OWNED_ATTRIBUTE,
+ msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ UMLPackage.PROPERTY__CLASS, newClass, newClass));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getRedefinedProperties() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.PROPERTY__REDEFINED_PROPERTY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__REDEFINED_PROPERTY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getRedefinedProperty(String name, Type type) {
+ return getRedefinedProperty(name, type, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getRedefinedProperty(String name, Type type,
+ boolean ignoreCase, EClass eClass) {
+ redefinedPropertyLoop : for (Property redefinedProperty : getRedefinedProperties()) {
+ if (eClass != null && !eClass.isInstance(redefinedProperty))
+ continue redefinedPropertyLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedProperty.getName())
+ : name.equals(redefinedProperty.getName())))
+ continue redefinedPropertyLoop;
+ if (type != null && !type.equals(redefinedProperty.getType()))
+ continue redefinedPropertyLoop;
+ return redefinedProperty;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Association getOwningAssociation() {
+ return (Association) eDynamicGet(
+ UMLPackage.PROPERTY__OWNING_ASSOCIATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__OWNING_ASSOCIATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Association basicGetOwningAssociation() {
+ return (Association) eDynamicGet(
+ UMLPackage.PROPERTY__OWNING_ASSOCIATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__OWNING_ASSOCIATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwningAssociation(
+ Association newOwningAssociation, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newOwningAssociation,
+ UMLPackage.PROPERTY__OWNING_ASSOCIATION, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningAssociation != null) {
+ if (newOwningAssociation != getAssociation()) {
+ setAssociation(newOwningAssociation);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwningAssociation(Association newOwningAssociation) {
+ eDynamicSet(
+ UMLPackage.PROPERTY__OWNING_ASSOCIATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__OWNING_ASSOCIATION,
+ newOwningAssociation);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwningAssociation != null) {
+ if (newOwningAssociation != getAssociation()) {
+ setAssociation(newOwningAssociation);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getDefaultValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.PROPERTY__DEFAULT_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__DEFAULT_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetDefaultValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.PROPERTY__DEFAULT_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__DEFAULT_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDefaultValue(
+ ValueSpecification newDefaultValue, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newDefaultValue,
+ UMLPackage.PROPERTY__DEFAULT_VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefaultValue(ValueSpecification newDefaultValue) {
+ eDynamicSet(UMLPackage.PROPERTY__DEFAULT_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__DEFAULT_VALUE, newDefaultValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createDefaultValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newDefaultValue = (ValueSpecification) create(
+ eClass);
+ setDefaultValue(newDefaultValue);
+ if (name != null)
+ newDefaultValue.setName(name);
+ if (type != null)
+ newDefaultValue.setType(type);
+ return newDefaultValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOpposite() {
+ Property opposite = basicGetOpposite();
+ return opposite != null && opposite.eIsProxy()
+ ? (Property) eResolveProxy((InternalEObject) opposite)
+ : opposite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetOpposite() {
+ return PropertyOperations.getOpposite(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOpposite(Property newOpposite) {
+ PropertyOperations.setOpposite(this, newOpposite);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getSubsettedProperties() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.PROPERTY__SUBSETTED_PROPERTY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__SUBSETTED_PROPERTY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getSubsettedProperty(String name, Type type) {
+ return getSubsettedProperty(name, type, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getSubsettedProperty(String name, Type type,
+ boolean ignoreCase, EClass eClass) {
+ subsettedPropertyLoop : for (Property subsettedProperty : getSubsettedProperties()) {
+ if (eClass != null && !eClass.isInstance(subsettedProperty))
+ continue subsettedPropertyLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(subsettedProperty.getName())
+ : name.equals(subsettedProperty.getName())))
+ continue subsettedPropertyLoop;
+ if (type != null && !type.equals(subsettedProperty.getType()))
+ continue subsettedPropertyLoop;
+ return subsettedProperty;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getQualifiers() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.PROPERTY__QUALIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__QUALIFIER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createQualifier(String name, Type type, EClass eClass) {
+ Property newQualifier = (Property) create(eClass);
+ getQualifiers().add(newQualifier);
+ if (name != null)
+ newQualifier.setName(name);
+ if (type != null)
+ newQualifier.setType(type);
+ return newQualifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createQualifier(String name, Type type) {
+ return createQualifier(name, type, UMLPackage.Literals.PROPERTY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getQualifier(String name, Type type) {
+ return getQualifier(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getQualifier(String name, Type type, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ qualifierLoop : for (Property qualifier : getQualifiers()) {
+ if (eClass != null && !eClass.isInstance(qualifier))
+ continue qualifierLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(qualifier.getName())
+ : name.equals(qualifier.getName())))
+ continue qualifierLoop;
+ if (type != null && !type.equals(qualifier.getType()))
+ continue qualifierLoop;
+ return qualifier;
+ }
+ return createOnDemand && eClass != null
+ ? createQualifier(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getAssociationEnd() {
+ return (Property) eDynamicGet(
+ UMLPackage.PROPERTY__ASSOCIATION_END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__ASSOCIATION_END, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetAssociationEnd() {
+ return (Property) eDynamicGet(
+ UMLPackage.PROPERTY__ASSOCIATION_END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__ASSOCIATION_END, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAssociationEnd(Property newAssociationEnd,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newAssociationEnd,
+ UMLPackage.PROPERTY__ASSOCIATION_END, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAssociationEnd(Property newAssociationEnd) {
+ eDynamicSet(
+ UMLPackage.PROPERTY__ASSOCIATION_END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROPERTY__ASSOCIATION_END, newAssociationEnd);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCompatibleWith(ParameterableElement p) {
+ return PropertyOperations.isCompatibleWith(this, p);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTemplateParameter() {
+ return ParameterableElementOperations.isTemplateParameter(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfComposite(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PropertyOperations.validateMultiplicityOfComposite(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSubsettingContextConforms(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return PropertyOperations.validateSubsettingContextConforms(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinedPropertyInherited(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return PropertyOperations.validateRedefinedPropertyInherited(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSubsettingRules(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PropertyOperations.validateSubsettingRules(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDerivedUnionIsDerived(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PropertyOperations.validateDerivedUnionIsDerived(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDerivedUnionIsReadOnly(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PropertyOperations.validateDerivedUnionIsReadOnly(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSubsettedPropertyNames(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PropertyOperations.validateSubsettedPropertyNames(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeOfOppositeEnd(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PropertyOperations.validateTypeOfOppositeEnd(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateQualifiedIsAssociationEnd(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return PropertyOperations.validateQualifiedIsAssociationEnd(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDeploymentTarget(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PropertyOperations.validateDeploymentTarget(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBindingToAttribute(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PropertyOperations.validateBindingToAttribute(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsNavigable(boolean isNavigable) {
+ PropertyOperations.setIsNavigable(this, isNavigable);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOtherEnd() {
+ return PropertyOperations.getOtherEnd(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetDefault() {
+ return PropertyOperations.isSetDefault(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBooleanDefaultValue(boolean value) {
+ PropertyOperations.setBooleanDefaultValue(this, value);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIntegerDefaultValue(int value) {
+ PropertyOperations.setIntegerDefaultValue(this, value);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStringDefaultValue(String value) {
+ PropertyOperations.setStringDefaultValue(this, value);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnlimitedNaturalDefaultValue(int value) {
+ PropertyOperations.setUnlimitedNaturalDefaultValue(this, value);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetDefault() {
+ PropertyOperations.unsetDefault(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isAttribute() {
+ return PropertyOperations.isAttribute(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNullDefaultValue() {
+ PropertyOperations.setNullDefaultValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRealDefaultValue(double value) {
+ PropertyOperations.setRealDefaultValue(this, value);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Type> subsettingContext() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Type> result = (EList<Type>) cache.get(this,
+ UMLPackage.Literals.PROPERTY___SUBSETTING_CONTEXT);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.PROPERTY___SUBSETTING_CONTEXT,
+ result = PropertyOperations.subsettingContext(this));
+ }
+ return result;
+ }
+ return PropertyOperations.subsettingContext(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isNavigable() {
+ return PropertyOperations.isNavigable(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isConsistentWith(RedefinableElement redefiningElement) {
+ return PropertyOperations.isConsistentWith(this, redefiningElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PROPERTY__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.PROPERTY__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.PROPERTY__DEPLOYMENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getDeployments())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROPERTY__DATATYPE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetDatatype((DataType) otherEnd, msgs);
+ case UMLPackage.PROPERTY__INTERFACE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetInterface((Interface) otherEnd, msgs);
+ case UMLPackage.PROPERTY__ASSOCIATION_END :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetAssociationEnd((Property) otherEnd, msgs);
+ case UMLPackage.PROPERTY__QUALIFIER :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getQualifiers())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROPERTY__OWNING_ASSOCIATION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningAssociation((Association) otherEnd, msgs);
+ case UMLPackage.PROPERTY__ASSOCIATION :
+ Association association = basicGetAssociation();
+ if (association != null)
+ msgs = ((InternalEObject) association).eInverseRemove(this,
+ UMLPackage.ASSOCIATION__MEMBER_END, Association.class,
+ msgs);
+ return basicSetAssociation((Association) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PROPERTY__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROPERTY__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROPERTY__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.PROPERTY__LOWER_VALUE :
+ return basicSetLowerValue(null, msgs);
+ case UMLPackage.PROPERTY__UPPER_VALUE :
+ return basicSetUpperValue(null, msgs);
+ case UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.PROPERTY__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.PROPERTY__DEPLOYMENT :
+ return ((InternalEList<?>) getDeployments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROPERTY__DATATYPE :
+ return basicSetDatatype(null, msgs);
+ case UMLPackage.PROPERTY__INTERFACE :
+ return basicSetInterface(null, msgs);
+ case UMLPackage.PROPERTY__ASSOCIATION_END :
+ return basicSetAssociationEnd(null, msgs);
+ case UMLPackage.PROPERTY__QUALIFIER :
+ return ((InternalEList<?>) getQualifiers())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROPERTY__DEFAULT_VALUE :
+ return basicSetDefaultValue(null, msgs);
+ case UMLPackage.PROPERTY__OWNING_ASSOCIATION :
+ return basicSetOwningAssociation(null, msgs);
+ case UMLPackage.PROPERTY__ASSOCIATION :
+ return basicSetAssociation(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ case UMLPackage.PROPERTY__DATATYPE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE, DataType.class,
+ msgs);
+ case UMLPackage.PROPERTY__INTERFACE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.INTERFACE__OWNED_ATTRIBUTE, Interface.class,
+ msgs);
+ case UMLPackage.PROPERTY__ASSOCIATION_END :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.PROPERTY__QUALIFIER, Property.class, msgs);
+ case UMLPackage.PROPERTY__OWNING_ASSOCIATION :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.ASSOCIATION__OWNED_END, Association.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PROPERTY__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PROPERTY__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PROPERTY__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PROPERTY__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PROPERTY__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.PROPERTY__NAME :
+ return getName();
+ case UMLPackage.PROPERTY__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.PROPERTY__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.PROPERTY__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PROPERTY__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.PROPERTY__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.PROPERTY__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.PROPERTY__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.PROPERTY__FEATURING_CLASSIFIER :
+ return getFeaturingClassifiers();
+ case UMLPackage.PROPERTY__IS_STATIC :
+ return isStatic();
+ case UMLPackage.PROPERTY__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.PROPERTY__IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.PROPERTY__IS_UNIQUE :
+ return isUnique();
+ case UMLPackage.PROPERTY__LOWER :
+ return getLower();
+ case UMLPackage.PROPERTY__LOWER_VALUE :
+ if (resolve)
+ return getLowerValue();
+ return basicGetLowerValue();
+ case UMLPackage.PROPERTY__UPPER :
+ return getUpper();
+ case UMLPackage.PROPERTY__UPPER_VALUE :
+ if (resolve)
+ return getUpperValue();
+ return basicGetUpperValue();
+ case UMLPackage.PROPERTY__IS_READ_ONLY :
+ return isReadOnly();
+ case UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.PROPERTY__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.PROPERTY__END :
+ return getEnds();
+ case UMLPackage.PROPERTY__DEPLOYED_ELEMENT :
+ return getDeployedElements();
+ case UMLPackage.PROPERTY__DEPLOYMENT :
+ return getDeployments();
+ case UMLPackage.PROPERTY__DATATYPE :
+ if (resolve)
+ return getDatatype();
+ return basicGetDatatype();
+ case UMLPackage.PROPERTY__INTERFACE :
+ if (resolve)
+ return getInterface();
+ return basicGetInterface();
+ case UMLPackage.PROPERTY__DEFAULT :
+ return getDefault();
+ case UMLPackage.PROPERTY__AGGREGATION :
+ return getAggregation();
+ case UMLPackage.PROPERTY__ASSOCIATION_END :
+ if (resolve)
+ return getAssociationEnd();
+ return basicGetAssociationEnd();
+ case UMLPackage.PROPERTY__QUALIFIER :
+ return getQualifiers();
+ case UMLPackage.PROPERTY__CLASS :
+ if (resolve)
+ return getClass_();
+ return basicGetClass_();
+ case UMLPackage.PROPERTY__DEFAULT_VALUE :
+ if (resolve)
+ return getDefaultValue();
+ return basicGetDefaultValue();
+ case UMLPackage.PROPERTY__IS_COMPOSITE :
+ return isComposite();
+ case UMLPackage.PROPERTY__IS_DERIVED :
+ return isDerived();
+ case UMLPackage.PROPERTY__IS_DERIVED_UNION :
+ return isDerivedUnion();
+ case UMLPackage.PROPERTY__IS_ID :
+ return isID();
+ case UMLPackage.PROPERTY__OPPOSITE :
+ if (resolve)
+ return getOpposite();
+ return basicGetOpposite();
+ case UMLPackage.PROPERTY__OWNING_ASSOCIATION :
+ if (resolve)
+ return getOwningAssociation();
+ return basicGetOwningAssociation();
+ case UMLPackage.PROPERTY__REDEFINED_PROPERTY :
+ return getRedefinedProperties();
+ case UMLPackage.PROPERTY__SUBSETTED_PROPERTY :
+ return getSubsettedProperties();
+ case UMLPackage.PROPERTY__ASSOCIATION :
+ if (resolve)
+ return getAssociation();
+ return basicGetAssociation();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PROPERTY__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PROPERTY__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PROPERTY__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.PROPERTY__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.PROPERTY__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.PROPERTY__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.PROPERTY__IS_STATIC :
+ setIsStatic((Boolean) newValue);
+ return;
+ case UMLPackage.PROPERTY__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.PROPERTY__IS_ORDERED :
+ setIsOrdered((Boolean) newValue);
+ return;
+ case UMLPackage.PROPERTY__IS_UNIQUE :
+ setIsUnique((Boolean) newValue);
+ return;
+ case UMLPackage.PROPERTY__LOWER :
+ setLower((Integer) newValue);
+ return;
+ case UMLPackage.PROPERTY__LOWER_VALUE :
+ setLowerValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.PROPERTY__UPPER :
+ setUpper((Integer) newValue);
+ return;
+ case UMLPackage.PROPERTY__UPPER_VALUE :
+ setUpperValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.PROPERTY__IS_READ_ONLY :
+ setIsReadOnly((Boolean) newValue);
+ return;
+ case UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PROPERTY__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PROPERTY__DEPLOYMENT :
+ getDeployments().clear();
+ getDeployments()
+ .addAll((Collection<? extends Deployment>) newValue);
+ return;
+ case UMLPackage.PROPERTY__DATATYPE :
+ setDatatype((DataType) newValue);
+ return;
+ case UMLPackage.PROPERTY__INTERFACE :
+ setInterface((Interface) newValue);
+ return;
+ case UMLPackage.PROPERTY__DEFAULT :
+ setDefault((String) newValue);
+ return;
+ case UMLPackage.PROPERTY__AGGREGATION :
+ setAggregation((AggregationKind) newValue);
+ return;
+ case UMLPackage.PROPERTY__ASSOCIATION_END :
+ setAssociationEnd((Property) newValue);
+ return;
+ case UMLPackage.PROPERTY__QUALIFIER :
+ getQualifiers().clear();
+ getQualifiers()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.PROPERTY__DEFAULT_VALUE :
+ setDefaultValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.PROPERTY__IS_COMPOSITE :
+ setIsComposite((Boolean) newValue);
+ return;
+ case UMLPackage.PROPERTY__IS_DERIVED :
+ setIsDerived((Boolean) newValue);
+ return;
+ case UMLPackage.PROPERTY__IS_DERIVED_UNION :
+ setIsDerivedUnion((Boolean) newValue);
+ return;
+ case UMLPackage.PROPERTY__IS_ID :
+ setIsID((Boolean) newValue);
+ return;
+ case UMLPackage.PROPERTY__OPPOSITE :
+ setOpposite((Property) newValue);
+ return;
+ case UMLPackage.PROPERTY__OWNING_ASSOCIATION :
+ setOwningAssociation((Association) newValue);
+ return;
+ case UMLPackage.PROPERTY__REDEFINED_PROPERTY :
+ getRedefinedProperties().clear();
+ getRedefinedProperties()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.PROPERTY__SUBSETTED_PROPERTY :
+ getSubsettedProperties().clear();
+ getSubsettedProperties()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.PROPERTY__ASSOCIATION :
+ setAssociation((Association) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ @Override
+ public void eDynamicSet(int featureID, Object newValue) {
+
+ if (featureID == UMLPackage.PROPERTY__CLASS) {
+ setClass_((org.eclipse.uml2.uml.Class) newValue);
+ return;
+ }
+
+ super.eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PROPERTY__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PROPERTY__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PROPERTY__NAME :
+ unsetName();
+ return;
+ case UMLPackage.PROPERTY__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.PROPERTY__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.PROPERTY__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.PROPERTY__IS_STATIC :
+ setIsStatic(IS_STATIC_EDEFAULT);
+ return;
+ case UMLPackage.PROPERTY__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.PROPERTY__IS_ORDERED :
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case UMLPackage.PROPERTY__IS_UNIQUE :
+ setIsUnique(IS_UNIQUE_EDEFAULT);
+ return;
+ case UMLPackage.PROPERTY__LOWER :
+ setLower(LOWER_EDEFAULT);
+ return;
+ case UMLPackage.PROPERTY__LOWER_VALUE :
+ setLowerValue((ValueSpecification) null);
+ return;
+ case UMLPackage.PROPERTY__UPPER :
+ setUpper(UPPER_EDEFAULT);
+ return;
+ case UMLPackage.PROPERTY__UPPER_VALUE :
+ setUpperValue((ValueSpecification) null);
+ return;
+ case UMLPackage.PROPERTY__IS_READ_ONLY :
+ setIsReadOnly(IS_READ_ONLY_EDEFAULT);
+ return;
+ case UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PROPERTY__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PROPERTY__DEPLOYMENT :
+ getDeployments().clear();
+ return;
+ case UMLPackage.PROPERTY__DATATYPE :
+ setDatatype((DataType) null);
+ return;
+ case UMLPackage.PROPERTY__INTERFACE :
+ setInterface((Interface) null);
+ return;
+ case UMLPackage.PROPERTY__DEFAULT :
+ unsetDefault();
+ return;
+ case UMLPackage.PROPERTY__AGGREGATION :
+ setAggregation(AGGREGATION_EDEFAULT);
+ return;
+ case UMLPackage.PROPERTY__ASSOCIATION_END :
+ setAssociationEnd((Property) null);
+ return;
+ case UMLPackage.PROPERTY__QUALIFIER :
+ getQualifiers().clear();
+ return;
+ case UMLPackage.PROPERTY__DEFAULT_VALUE :
+ setDefaultValue((ValueSpecification) null);
+ return;
+ case UMLPackage.PROPERTY__IS_COMPOSITE :
+ setIsComposite(IS_COMPOSITE_EDEFAULT);
+ return;
+ case UMLPackage.PROPERTY__IS_DERIVED :
+ setIsDerived(IS_DERIVED_EDEFAULT);
+ return;
+ case UMLPackage.PROPERTY__IS_DERIVED_UNION :
+ setIsDerivedUnion(IS_DERIVED_UNION_EDEFAULT);
+ return;
+ case UMLPackage.PROPERTY__IS_ID :
+ setIsID(IS_ID_EDEFAULT);
+ return;
+ case UMLPackage.PROPERTY__OPPOSITE :
+ setOpposite((Property) null);
+ return;
+ case UMLPackage.PROPERTY__OWNING_ASSOCIATION :
+ setOwningAssociation((Association) null);
+ return;
+ case UMLPackage.PROPERTY__REDEFINED_PROPERTY :
+ getRedefinedProperties().clear();
+ return;
+ case UMLPackage.PROPERTY__SUBSETTED_PROPERTY :
+ getSubsettedProperties().clear();
+ return;
+ case UMLPackage.PROPERTY__ASSOCIATION :
+ setAssociation((Association) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PROPERTY__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PROPERTY__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PROPERTY__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PROPERTY__OWNER :
+ return isSetOwner();
+ case UMLPackage.PROPERTY__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.PROPERTY__NAME :
+ return isSetName();
+ case UMLPackage.PROPERTY__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.PROPERTY__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.PROPERTY__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.PROPERTY__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.PROPERTY__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.PROPERTY__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.PROPERTY__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.PROPERTY__FEATURING_CLASSIFIER :
+ return isSetFeaturingClassifiers();
+ case UMLPackage.PROPERTY__IS_STATIC :
+ return isStatic() != IS_STATIC_EDEFAULT;
+ case UMLPackage.PROPERTY__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.PROPERTY__IS_ORDERED :
+ return isOrdered() != IS_ORDERED_EDEFAULT;
+ case UMLPackage.PROPERTY__IS_UNIQUE :
+ return isUnique() != IS_UNIQUE_EDEFAULT;
+ case UMLPackage.PROPERTY__LOWER :
+ return getLower() != LOWER_EDEFAULT;
+ case UMLPackage.PROPERTY__LOWER_VALUE :
+ return basicGetLowerValue() != null;
+ case UMLPackage.PROPERTY__UPPER :
+ return getUpper() != UPPER_EDEFAULT;
+ case UMLPackage.PROPERTY__UPPER_VALUE :
+ return basicGetUpperValue() != null;
+ case UMLPackage.PROPERTY__IS_READ_ONLY :
+ return isReadOnly() != IS_READ_ONLY_EDEFAULT;
+ case UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.PROPERTY__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.PROPERTY__END :
+ return !getEnds().isEmpty();
+ case UMLPackage.PROPERTY__DEPLOYED_ELEMENT :
+ return !getDeployedElements().isEmpty();
+ case UMLPackage.PROPERTY__DEPLOYMENT :
+ return !getDeployments().isEmpty();
+ case UMLPackage.PROPERTY__DATATYPE :
+ return basicGetDatatype() != null;
+ case UMLPackage.PROPERTY__INTERFACE :
+ return basicGetInterface() != null;
+ case UMLPackage.PROPERTY__DEFAULT :
+ return isSetDefault();
+ case UMLPackage.PROPERTY__AGGREGATION :
+ return getAggregation() != AGGREGATION_EDEFAULT;
+ case UMLPackage.PROPERTY__ASSOCIATION_END :
+ return basicGetAssociationEnd() != null;
+ case UMLPackage.PROPERTY__QUALIFIER :
+ return !getQualifiers().isEmpty();
+ case UMLPackage.PROPERTY__CLASS :
+ return basicGetClass_() != null;
+ case UMLPackage.PROPERTY__DEFAULT_VALUE :
+ return basicGetDefaultValue() != null;
+ case UMLPackage.PROPERTY__IS_COMPOSITE :
+ return isComposite() != IS_COMPOSITE_EDEFAULT;
+ case UMLPackage.PROPERTY__IS_DERIVED :
+ return isDerived() != IS_DERIVED_EDEFAULT;
+ case UMLPackage.PROPERTY__IS_DERIVED_UNION :
+ return isDerivedUnion() != IS_DERIVED_UNION_EDEFAULT;
+ case UMLPackage.PROPERTY__IS_ID :
+ return isID() != IS_ID_EDEFAULT;
+ case UMLPackage.PROPERTY__OPPOSITE :
+ return basicGetOpposite() != null;
+ case UMLPackage.PROPERTY__OWNING_ASSOCIATION :
+ return basicGetOwningAssociation() != null;
+ case UMLPackage.PROPERTY__REDEFINED_PROPERTY :
+ return !getRedefinedProperties().isEmpty();
+ case UMLPackage.PROPERTY__SUBSETTED_PROPERTY :
+ return !getSubsettedProperties().isEmpty();
+ case UMLPackage.PROPERTY__ASSOCIATION :
+ return basicGetAssociation() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.PROPERTY__TEMPLATE_PARAMETER :
+ return UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == ConnectableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.PROPERTY__END :
+ return UMLPackage.CONNECTABLE_ELEMENT__END;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DeploymentTarget.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.PROPERTY__DEPLOYED_ELEMENT :
+ return UMLPackage.DEPLOYMENT_TARGET__DEPLOYED_ELEMENT;
+ case UMLPackage.PROPERTY__DEPLOYMENT :
+ return UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER :
+ return UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER;
+ case UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER :
+ return UMLPackage.PROPERTY__TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == ConnectableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.CONNECTABLE_ELEMENT__END :
+ return UMLPackage.PROPERTY__END;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DeploymentTarget.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.DEPLOYMENT_TARGET__DEPLOYED_ELEMENT :
+ return UMLPackage.PROPERTY__DEPLOYED_ELEMENT;
+ case UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT :
+ return UMLPackage.PROPERTY__DEPLOYMENT;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ParameterableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return UMLPackage.PROPERTY___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+ case UMLPackage.PARAMETERABLE_ELEMENT___IS_TEMPLATE_PARAMETER :
+ return UMLPackage.PROPERTY___IS_TEMPLATE_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == ConnectableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.CONNECTABLE_ELEMENT___GET_ENDS :
+ return UMLPackage.PROPERTY___GET_ENDS;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == DeploymentTarget.class) {
+ switch (baseOperationID) {
+ case UMLPackage.DEPLOYMENT_TARGET___GET_DEPLOYED_ELEMENTS :
+ return UMLPackage.PROPERTY___GET_DEPLOYED_ELEMENTS;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PROPERTY___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PROPERTY___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PROPERTY___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PROPERTY___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PROPERTY___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PROPERTY___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PROPERTY___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PROPERTY___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PROPERTY___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PROPERTY___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PROPERTY___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROPERTY___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PROPERTY___GET_MODEL :
+ return getModel();
+ case UMLPackage.PROPERTY___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PROPERTY___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PROPERTY___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PROPERTY___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PROPERTY___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PROPERTY___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PROPERTY___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PROPERTY___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PROPERTY___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PROPERTY___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PROPERTY___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PROPERTY___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROPERTY___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PROPERTY___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROPERTY___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PROPERTY___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PROPERTY___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PROPERTY___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PROPERTY___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PROPERTY___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PROPERTY___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PROPERTY___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PROPERTY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.PROPERTY___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.PROPERTY___GET_LABEL :
+ return getLabel();
+ case UMLPackage.PROPERTY___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.PROPERTY___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.PROPERTY___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.PROPERTY___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.PROPERTY___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.PROPERTY___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PROPERTY___SEPARATOR :
+ return separator();
+ case UMLPackage.PROPERTY___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.PROPERTY___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.PROPERTY___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.PROPERTY___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return validateUpperGeLower((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return validateLowerGe0((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationNoSideEffects(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationConstant(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return validateLowerIsInteger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return validateUpperIsUnlimitedNatural(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PROPERTY___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PROPERTY___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return compatibleWith((MultiplicityElement) arguments.get(0));
+ case UMLPackage.PROPERTY___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return includesMultiplicity(
+ (MultiplicityElement) arguments.get(0));
+ case UMLPackage.PROPERTY___IS__INT_INT :
+ return is((Integer) arguments.get(0),
+ (Integer) arguments.get(1));
+ case UMLPackage.PROPERTY___IS_MULTIVALUED :
+ return isMultivalued();
+ case UMLPackage.PROPERTY___GET_LOWER :
+ return getLower();
+ case UMLPackage.PROPERTY___LOWER_BOUND :
+ return lowerBound();
+ case UMLPackage.PROPERTY___GET_UPPER :
+ return getUpper();
+ case UMLPackage.PROPERTY___UPPER_BOUND :
+ return upperBound();
+ case UMLPackage.PROPERTY___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.PROPERTY___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.PROPERTY___GET_ENDS :
+ return getEnds();
+ case UMLPackage.PROPERTY___GET_DEPLOYED_ELEMENTS :
+ return getDeployedElements();
+ case UMLPackage.PROPERTY___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP :
+ return validateSubsettingContextConforms(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP :
+ return validateDerivedUnionIsReadOnly(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfComposite(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinedPropertyInherited(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_SUBSETTING_RULES__DIAGNOSTICCHAIN_MAP :
+ return validateSubsettingRules(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_BINDING_TO_ATTRIBUTE__DIAGNOSTICCHAIN_MAP :
+ return validateBindingToAttribute(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP :
+ return validateDerivedUnionIsDerived(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP :
+ return validateDeploymentTarget(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP :
+ return validateSubsettedPropertyNames(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_TYPE_OF_OPPOSITE_END__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfOppositeEnd(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___VALIDATE_QUALIFIED_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP :
+ return validateQualifiedIsAssociationEnd(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROPERTY___GET_DEFAULT :
+ return getDefault();
+ case UMLPackage.PROPERTY___GET_OTHER_END :
+ return getOtherEnd();
+ case UMLPackage.PROPERTY___IS_SET_DEFAULT :
+ return isSetDefault();
+ case UMLPackage.PROPERTY___SET_BOOLEAN_DEFAULT_VALUE__BOOLEAN :
+ setBooleanDefaultValue((Boolean) arguments.get(0));
+ return null;
+ case UMLPackage.PROPERTY___SET_DEFAULT__STRING :
+ setDefault((String) arguments.get(0));
+ return null;
+ case UMLPackage.PROPERTY___SET_INTEGER_DEFAULT_VALUE__INT :
+ setIntegerDefaultValue((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PROPERTY___SET_IS_COMPOSITE__BOOLEAN :
+ setIsComposite((Boolean) arguments.get(0));
+ return null;
+ case UMLPackage.PROPERTY___SET_IS_NAVIGABLE__BOOLEAN :
+ setIsNavigable((Boolean) arguments.get(0));
+ return null;
+ case UMLPackage.PROPERTY___SET_NULL_DEFAULT_VALUE :
+ setNullDefaultValue();
+ return null;
+ case UMLPackage.PROPERTY___SET_OPPOSITE__PROPERTY :
+ setOpposite((Property) arguments.get(0));
+ return null;
+ case UMLPackage.PROPERTY___SET_REAL_DEFAULT_VALUE__DOUBLE :
+ setRealDefaultValue((Double) arguments.get(0));
+ return null;
+ case UMLPackage.PROPERTY___SET_STRING_DEFAULT_VALUE__STRING :
+ setStringDefaultValue((String) arguments.get(0));
+ return null;
+ case UMLPackage.PROPERTY___SET_UNLIMITED_NATURAL_DEFAULT_VALUE__INT :
+ setUnlimitedNaturalDefaultValue((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.PROPERTY___UNSET_DEFAULT :
+ unsetDefault();
+ return null;
+ case UMLPackage.PROPERTY___IS_ATTRIBUTE :
+ return isAttribute();
+ case UMLPackage.PROPERTY___IS_COMPOSITE :
+ return isComposite();
+ case UMLPackage.PROPERTY___IS_NAVIGABLE :
+ return isNavigable();
+ case UMLPackage.PROPERTY___GET_OPPOSITE :
+ return getOpposite();
+ case UMLPackage.PROPERTY___SUBSETTING_CONTEXT :
+ return subsettingContext();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
+ if (owningTemplateParameter != null) {
+ return owningTemplateParameter;
+ }
+ Property associationEnd = basicGetAssociationEnd();
+ if (associationEnd != null) {
+ return associationEnd;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.PROPERTY__OWNING_TEMPLATE_PARAMETER)
+ || eIsSet(UMLPackage.PROPERTY__ASSOCIATION_END);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.PROPERTY__OWNED_COMMENT,
+ UMLPackage.PROPERTY__NAME_EXPRESSION, UMLPackage.PROPERTY__LOWER_VALUE,
+ UMLPackage.PROPERTY__UPPER_VALUE, UMLPackage.PROPERTY__DEPLOYMENT,
+ UMLPackage.PROPERTY__QUALIFIER, UMLPackage.PROPERTY__DEFAULT_VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Deployment createDeployment(String name) {
+ Deployment newDeployment = (Deployment) create(
+ UMLPackage.Literals.DEPLOYMENT);
+ getDeployments().add(newDeployment);
+ if (name != null)
+ newDeployment.setName(name);
+ return newDeployment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Deployment getDeployment(String name) {
+ return getDeployment(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Deployment getDeployment(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ deploymentLoop : for (Deployment deployment : getDeployments()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(deployment.getName())
+ : name.equals(deployment.getName())))
+ continue deploymentLoop;
+ return deployment;
+ }
+ return createOnDemand
+ ? createDeployment(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.PROPERTY__DEPLOYMENT)
+ || eIsSet(UMLPackage.PROPERTY__QUALIFIER)
+ || eIsSet(UMLPackage.PROPERTY__DEFAULT_VALUE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ DataType datatype = basicGetDatatype();
+ if (datatype != null) {
+ return datatype;
+ }
+ Interface interface_ = basicGetInterface();
+ if (interface_ != null) {
+ return interface_;
+ }
+ org.eclipse.uml2.uml.Class class_ = basicGetClass_();
+ if (class_ != null) {
+ return class_;
+ }
+ Association owningAssociation = basicGetOwningAssociation();
+ if (owningAssociation != null) {
+ return owningAssociation;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace() || eIsSet(UMLPackage.PROPERTY__DATATYPE)
+ || eIsSet(UMLPackage.PROPERTY__INTERFACE)
+ || eIsSet(UMLPackage.PROPERTY__CLASS)
+ || eIsSet(UMLPackage.PROPERTY__OWNING_ASSOCIATION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getFeaturingClassifiers() <em>Featuring Classifier</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeaturingClassifiers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] FEATURING_CLASSIFIER_ESUBSETS = new int[]{
+ UMLPackage.PROPERTY__DATATYPE, UMLPackage.PROPERTY__INTERFACE,
+ UMLPackage.PROPERTY__CLASS, UMLPackage.PROPERTY__OWNING_ASSOCIATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Classifier> getRedefinitionContexts() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> redefinitionContexts = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+ if (redefinitionContexts == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.PROPERTY__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS));
+ }
+ return redefinitionContexts;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.PROPERTY__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinitionContexts() <em>Redefinition Context</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinitionContexts()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINITION_CONTEXT_ESUBSETS = new int[]{
+ UMLPackage.PROPERTY__DATATYPE, UMLPackage.PROPERTY__INTERFACE,
+ UMLPackage.PROPERTY__CLASS, UMLPackage.PROPERTY__OWNING_ASSOCIATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetFeaturingClassifiers() {
+ return super.isSetFeaturingClassifiers()
+ || eIsSet(UMLPackage.PROPERTY__DATATYPE)
+ || eIsSet(UMLPackage.PROPERTY__INTERFACE)
+ || eIsSet(UMLPackage.PROPERTY__CLASS)
+ || eIsSet(UMLPackage.PROPERTY__OWNING_ASSOCIATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetRedefinitionContexts() {
+ return super.isSetRedefinitionContexts()
+ || eIsSet(UMLPackage.PROPERTY__DATATYPE)
+ || eIsSet(UMLPackage.PROPERTY__INTERFACE)
+ || eIsSet(UMLPackage.PROPERTY__CLASS)
+ || eIsSet(UMLPackage.PROPERTY__OWNING_ASSOCIATION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedElements() <em>Redefined Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.PROPERTY__REDEFINED_PROPERTY};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetRedefinedElements() {
+ return super.isSetRedefinedElements()
+ || eIsSet(UMLPackage.PROPERTY__REDEFINED_PROPERTY);
+ }
+
+} //PropertyImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProtocolConformanceImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProtocolConformanceImpl.java
new file mode 100644
index 00000000..0b514001
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProtocolConformanceImpl.java
@@ -0,0 +1,482 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ProtocolConformance;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Protocol Conformance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProtocolConformanceImpl#getTargets <em>Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProtocolConformanceImpl#getSources <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProtocolConformanceImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProtocolConformanceImpl#getGeneralMachine <em>General Machine</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProtocolConformanceImpl#getSpecificMachine <em>Specific Machine</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ProtocolConformanceImpl
+ extends DirectedRelationshipImpl
+ implements ProtocolConformance {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProtocolConformanceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PROTOCOL_CONFORMANCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getTargets() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> targets = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET);
+ if (targets == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET,
+ targets = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.PROTOCOL_CONFORMANCE__TARGET,
+ TARGET_ESUBSETS));
+ }
+ return targets;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PROTOCOL_CONFORMANCE__TARGET, TARGET_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getSources() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> sources = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE);
+ if (sources == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE,
+ sources = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.PROTOCOL_CONFORMANCE__SOURCE,
+ SOURCE_ESUBSETS));
+ }
+ return sources;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PROTOCOL_CONFORMANCE__SOURCE, SOURCE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolStateMachine getGeneralMachine() {
+ return (ProtocolStateMachine) eDynamicGet(
+ UMLPackage.PROTOCOL_CONFORMANCE__GENERAL_MACHINE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROTOCOL_CONFORMANCE__GENERAL_MACHINE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolStateMachine basicGetGeneralMachine() {
+ return (ProtocolStateMachine) eDynamicGet(
+ UMLPackage.PROTOCOL_CONFORMANCE__GENERAL_MACHINE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROTOCOL_CONFORMANCE__GENERAL_MACHINE, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGeneralMachine(ProtocolStateMachine newGeneralMachine) {
+ eDynamicSet(
+ UMLPackage.PROTOCOL_CONFORMANCE__GENERAL_MACHINE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROTOCOL_CONFORMANCE__GENERAL_MACHINE,
+ newGeneralMachine);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolStateMachine getSpecificMachine() {
+ return (ProtocolStateMachine) eDynamicGet(
+ UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolStateMachine basicGetSpecificMachine() {
+ return (ProtocolStateMachine) eDynamicGet(
+ UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSpecificMachine(
+ ProtocolStateMachine newSpecificMachine, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newSpecificMachine,
+ UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSpecificMachine(ProtocolStateMachine newSpecificMachine) {
+ eDynamicSet(
+ UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE,
+ newSpecificMachine);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_CONFORMANCE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetSpecificMachine((ProtocolStateMachine) otherEnd,
+ msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_CONFORMANCE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_CONFORMANCE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE :
+ return basicSetSpecificMachine(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.PROTOCOL_STATE_MACHINE__CONFORMANCE,
+ ProtocolStateMachine.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_CONFORMANCE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PROTOCOL_CONFORMANCE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PROTOCOL_CONFORMANCE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PROTOCOL_CONFORMANCE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PROTOCOL_CONFORMANCE__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.PROTOCOL_CONFORMANCE__SOURCE :
+ return getSources();
+ case UMLPackage.PROTOCOL_CONFORMANCE__TARGET :
+ return getTargets();
+ case UMLPackage.PROTOCOL_CONFORMANCE__GENERAL_MACHINE :
+ if (resolve)
+ return getGeneralMachine();
+ return basicGetGeneralMachine();
+ case UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE :
+ if (resolve)
+ return getSpecificMachine();
+ return basicGetSpecificMachine();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_CONFORMANCE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_CONFORMANCE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_CONFORMANCE__GENERAL_MACHINE :
+ setGeneralMachine((ProtocolStateMachine) newValue);
+ return;
+ case UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE :
+ setSpecificMachine((ProtocolStateMachine) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_CONFORMANCE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PROTOCOL_CONFORMANCE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PROTOCOL_CONFORMANCE__GENERAL_MACHINE :
+ setGeneralMachine((ProtocolStateMachine) null);
+ return;
+ case UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE :
+ setSpecificMachine((ProtocolStateMachine) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_CONFORMANCE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PROTOCOL_CONFORMANCE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PROTOCOL_CONFORMANCE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PROTOCOL_CONFORMANCE__OWNER :
+ return isSetOwner();
+ case UMLPackage.PROTOCOL_CONFORMANCE__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.PROTOCOL_CONFORMANCE__SOURCE :
+ return isSetSources();
+ case UMLPackage.PROTOCOL_CONFORMANCE__TARGET :
+ return isSetTargets();
+ case UMLPackage.PROTOCOL_CONFORMANCE__GENERAL_MACHINE :
+ return basicGetGeneralMachine() != null;
+ case UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE :
+ return basicGetSpecificMachine() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getTargets() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] TARGET_ESUBSETS = new int[]{
+ UMLPackage.PROTOCOL_CONFORMANCE__GENERAL_MACHINE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetTargets() {
+ return super.isSetTargets()
+ || eIsSet(UMLPackage.PROTOCOL_CONFORMANCE__GENERAL_MACHINE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSources() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSources()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SOURCE_ESUBSETS = new int[]{
+ UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetSources() {
+ return super.isSetSources()
+ || eIsSet(UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ ProtocolStateMachine specificMachine = basicGetSpecificMachine();
+ if (specificMachine != null) {
+ return specificMachine;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.PROTOCOL_CONFORMANCE__SPECIFIC_MACHINE);
+ }
+
+} //ProtocolConformanceImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProtocolStateMachineImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProtocolStateMachineImpl.java
new file mode 100644
index 00000000..cbee3d78
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProtocolStateMachineImpl.java
@@ -0,0 +1,1511 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolConformance;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.Vertex;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ProtocolStateMachineOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Protocol State Machine</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProtocolStateMachineImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProtocolStateMachineImpl#getConformances <em>Conformance</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ProtocolStateMachineImpl
+ extends StateMachineImpl
+ implements ProtocolStateMachine {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProtocolStateMachineImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PROTOCOL_STATE_MACHINE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ProtocolConformance> getConformances() {
+ return (EList<ProtocolConformance>) eDynamicGet(
+ UMLPackage.PROTOCOL_STATE_MACHINE__CONFORMANCE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROTOCOL_STATE_MACHINE__CONFORMANCE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolConformance createConformance(
+ ProtocolStateMachine generalMachine) {
+ ProtocolConformance newConformance = (ProtocolConformance) create(
+ UMLPackage.Literals.PROTOCOL_CONFORMANCE);
+ getConformances().add(newConformance);
+ if (generalMachine != null)
+ newConformance.setGeneralMachine(generalMachine);
+ return newConformance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolConformance getConformance(
+ ProtocolStateMachine generalMachine) {
+ return getConformance(generalMachine, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolConformance getConformance(
+ ProtocolStateMachine generalMachine, boolean createOnDemand) {
+ conformanceLoop : for (ProtocolConformance conformance : getConformances()) {
+ if (generalMachine != null
+ && !generalMachine.equals(conformance.getGeneralMachine()))
+ continue conformanceLoop;
+ return conformance;
+ }
+ return createOnDemand
+ ? createConformance(generalMachine)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateProtocolTransitions(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ProtocolStateMachineOperations.validateProtocolTransitions(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEntryExitDo(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ProtocolStateMachineOperations.validateEntryExitDo(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDeepOrShallowHistory(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ProtocolStateMachineOperations.validateDeepOrShallowHistory(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean validateClassifierContext(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ProtocolStateMachineOperations.validateClassifierContext(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_STATE_MACHINE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__INTERFACE_REALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInterfaceRealizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_OPERATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedOperations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SPECIFICATION :
+ BehavioralFeature specification = basicGetSpecification();
+ if (specification != null)
+ msgs = ((InternalEObject) specification).eInverseRemove(
+ this, UMLPackage.BEHAVIORAL_FEATURE__METHOD,
+ BehavioralFeature.class, msgs);
+ return basicSetSpecification((BehavioralFeature) otherEnd,
+ msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONNECTION_POINT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getConnectionPoints())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUBMACHINE_STATE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubmachineStates())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REGION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getRegions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONFORMANCE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getConformances())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_STATE_MACHINE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_CONNECTOR :
+ return ((InternalEList<?>) getOwnedConnectors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__INTERFACE_REALIZATION :
+ return ((InternalEList<?>) getInterfaceRealizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_BEHAVIOR :
+ return ((InternalEList<?>) getOwnedBehaviors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NESTED_CLASSIFIER :
+ return ((InternalEList<?>) getNestedClassifiers())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_RECEPTION :
+ return ((InternalEList<?>) getOwnedReceptions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SPECIFICATION :
+ return basicSetSpecification(null, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_PARAMETER :
+ return ((InternalEList<?>) getOwnedParameters())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_PARAMETER_SET :
+ return ((InternalEList<?>) getOwnedParameterSets())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONNECTION_POINT :
+ return ((InternalEList<?>) getConnectionPoints())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUBMACHINE_STATE :
+ return ((InternalEList<?>) getSubmachineStates())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REGION :
+ return ((InternalEList<?>) getRegions()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONFORMANCE :
+ return ((InternalEList<?>) getConformances())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_STATE_MACHINE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NAME :
+ return getName();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__MEMBER :
+ return getMembers();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__FEATURE :
+ return getFeatures();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__GENERAL :
+ return getGenerals();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__USE_CASE :
+ return getUseCases();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PART :
+ return getParts();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__ROLE :
+ return getRoles();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_PORT :
+ return getOwnedPorts();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_OPERATION :
+ return getOwnedOperations();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__EXTENSION :
+ return getExtensions();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_ACTIVE :
+ return isActive();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NESTED_CLASSIFIER :
+ return getNestedClassifiers();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_RECEPTION :
+ return getOwnedReceptions();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUPER_CLASS :
+ return getSuperClasses();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SPECIFICATION :
+ if (resolve)
+ return getSpecification();
+ return basicGetSpecification();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_REENTRANT :
+ return isReentrant();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_PARAMETER :
+ return getOwnedParameters();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_PARAMETER_SET :
+ return getOwnedParameterSets();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__POSTCONDITION :
+ return getPostconditions();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PRECONDITION :
+ return getPreconditions();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REDEFINED_BEHAVIOR :
+ return getRedefinedBehaviors();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONNECTION_POINT :
+ return getConnectionPoints();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUBMACHINE_STATE :
+ return getSubmachineStates();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REGION :
+ return getRegions();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__EXTENDED_STATE_MACHINE :
+ return getExtendedStateMachines();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONFORMANCE :
+ return getConformances();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_STATE_MACHINE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_ACTIVE :
+ setIsActive((Boolean) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ getNestedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ getOwnedReceptions()
+ .addAll((Collection<? extends Reception>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUPER_CLASS :
+ getSuperClasses().clear();
+ getSuperClasses().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Class>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SPECIFICATION :
+ setSpecification((BehavioralFeature) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_REENTRANT :
+ setIsReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ getOwnedParameters()
+ .addAll((Collection<? extends Parameter>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ getOwnedParameterSets()
+ .addAll((Collection<? extends ParameterSet>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__POSTCONDITION :
+ getPostconditions().clear();
+ getPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PRECONDITION :
+ getPreconditions().clear();
+ getPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REDEFINED_BEHAVIOR :
+ getRedefinedBehaviors().clear();
+ getRedefinedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONNECTION_POINT :
+ getConnectionPoints().clear();
+ getConnectionPoints()
+ .addAll((Collection<? extends Pseudostate>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUBMACHINE_STATE :
+ getSubmachineStates().clear();
+ getSubmachineStates()
+ .addAll((Collection<? extends State>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REGION :
+ getRegions().clear();
+ getRegions().addAll((Collection<? extends Region>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__EXTENDED_STATE_MACHINE :
+ getExtendedStateMachines().clear();
+ getExtendedStateMachines()
+ .addAll((Collection<? extends StateMachine>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONFORMANCE :
+ getConformances().clear();
+ getConformances().addAll(
+ (Collection<? extends ProtocolConformance>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_STATE_MACHINE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_ACTIVE :
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUPER_CLASS :
+ getSuperClasses().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SPECIFICATION :
+ setSpecification((BehavioralFeature) null);
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_REENTRANT :
+ unsetIsReentrant();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__POSTCONDITION :
+ getPostconditions().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PRECONDITION :
+ getPreconditions().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REDEFINED_BEHAVIOR :
+ getRedefinedBehaviors().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONNECTION_POINT :
+ getConnectionPoints().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUBMACHINE_STATE :
+ getSubmachineStates().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REGION :
+ getRegions().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__EXTENDED_STATE_MACHINE :
+ getExtendedStateMachines().clear();
+ return;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONFORMANCE :
+ getConformances().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_STATE_MACHINE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNER :
+ return isSetOwner();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NAME :
+ return isSetName();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.PROTOCOL_STATE_MACHINE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__GENERAL :
+ return isSetGenerals();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_ABSTRACT :
+ return isSetIsAbstract();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_ATTRIBUTE :
+ return isSetOwnedAttributes();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__ROLE :
+ return isSetRoles();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_PORT :
+ return !getOwnedPorts().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__EXTENSION :
+ return !getExtensions().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_ACTIVE :
+ return isActive() != IS_ACTIVE_EDEFAULT;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__NESTED_CLASSIFIER :
+ return !getNestedClassifiers().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_RECEPTION :
+ return !getOwnedReceptions().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUPER_CLASS :
+ return isSetSuperClasses();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SPECIFICATION :
+ return basicGetSpecification() != null;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.PROTOCOL_STATE_MACHINE__IS_REENTRANT :
+ return isSetIsReentrant();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_PARAMETER :
+ return !getOwnedParameters().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_PARAMETER_SET :
+ return !getOwnedParameterSets().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__POSTCONDITION :
+ return !getPostconditions().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__PRECONDITION :
+ return !getPreconditions().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REDEFINED_BEHAVIOR :
+ return isSetRedefinedBehaviors();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONNECTION_POINT :
+ return !getConnectionPoints().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__SUBMACHINE_STATE :
+ return !getSubmachineStates().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__REGION :
+ return !getRegions().isEmpty();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__EXTENDED_STATE_MACHINE :
+ return isSetExtendedStateMachines();
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONFORMANCE :
+ return !getConformances().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_MODEL :
+ return getModel();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PROTOCOL_STATE_MACHINE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___SEPARATOR :
+ return separator();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___PARENTS :
+ return parents();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_PARTS :
+ return getParts();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___ALL_ROLES :
+ return allRoles();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_OWNED_PORTS :
+ return getOwnedPorts();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_PASSIVE_CLASS__DIAGNOSTICCHAIN_MAP :
+ return validatePassiveClass((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___IS_METACLASS :
+ return isMetaclass();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_EXTENSIONS :
+ return getExtensions();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_SUPER_CLASSES :
+ return getSuperClasses();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_MOST_ONE_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateMostOneBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_PARAMETERS_MATCH__DIAGNOSTICCHAIN_MAP :
+ return validateParametersMatch(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateFeatureOfContextClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___BEHAVIORED_CLASSIFIER__ELEMENT :
+ return behavioredClassifier((Element) arguments.get(0));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___INPUT_PARAMETERS :
+ return inputParameters();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___OUTPUT_PARAMETERS :
+ return outputParameters();
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_CONNECTION_POINTS__DIAGNOSTICCHAIN_MAP :
+ return validateConnectionPoints(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_CLASSIFIER_CONTEXT__DIAGNOSTICCHAIN_MAP :
+ return validateClassifierContext(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_METHOD__DIAGNOSTICCHAIN_MAP :
+ return validateMethod((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateContextClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___LCA__VERTEX_VERTEX :
+ return LCA((Vertex) arguments.get(0),
+ (Vertex) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___ANCESTOR__VERTEX_VERTEX :
+ return ancestor((Vertex) arguments.get(0),
+ (Vertex) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___LCA_STATE__VERTEX_VERTEX :
+ return LCAState((Vertex) arguments.get(0),
+ (Vertex) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_DEEP_OR_SHALLOW_HISTORY__DIAGNOSTICCHAIN_MAP :
+ return validateDeepOrShallowHistory(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_ENTRY_EXIT_DO__DIAGNOSTICCHAIN_MAP :
+ return validateEntryExitDo((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_PROTOCOL_TRANSITIONS__DIAGNOSTICCHAIN_MAP :
+ return validateProtocolTransitions(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_COMMENT,
+ UMLPackage.PROTOCOL_STATE_MACHINE__NAME_EXPRESSION,
+ UMLPackage.PROTOCOL_STATE_MACHINE__ELEMENT_IMPORT,
+ UMLPackage.PROTOCOL_STATE_MACHINE__PACKAGE_IMPORT,
+ UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_MEMBER,
+ UMLPackage.PROTOCOL_STATE_MACHINE__TEMPLATE_BINDING,
+ UMLPackage.PROTOCOL_STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE,
+ UMLPackage.PROTOCOL_STATE_MACHINE__COLLABORATION_USE,
+ UMLPackage.PROTOCOL_STATE_MACHINE__GENERALIZATION,
+ UMLPackage.PROTOCOL_STATE_MACHINE__SUBSTITUTION,
+ UMLPackage.PROTOCOL_STATE_MACHINE__INTERFACE_REALIZATION,
+ UMLPackage.PROTOCOL_STATE_MACHINE__CONFORMANCE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.PROTOCOL_STATE_MACHINE__CONFORMANCE);
+ }
+
+} //ProtocolStateMachineImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProtocolTransitionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProtocolTransitionImpl.java
new file mode 100644
index 00000000..32de2dba
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ProtocolTransitionImpl.java
@@ -0,0 +1,1087 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentWithInverseEList;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Event;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.TransitionKind;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Vertex;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.ProtocolTransitionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Protocol Transition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProtocolTransitionImpl#getOwnedRules <em>Owned Rule</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProtocolTransitionImpl#getGuard <em>Guard</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProtocolTransitionImpl#getPostCondition <em>Post Condition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProtocolTransitionImpl#getPreCondition <em>Pre Condition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ProtocolTransitionImpl#getReferreds <em>Referred</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ProtocolTransitionImpl
+ extends TransitionImpl
+ implements ProtocolTransition {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProtocolTransitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PROTOCOL_TRANSITION;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.NAMESPACE__OWNED_RULE) {
+ return createOwnedRulesList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getOwnedRules() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.PROTOCOL_TRANSITION__OWNED_RULE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMESPACE__OWNED_RULE, true, true);
+ }
+
+ private EList<Constraint> createOwnedRulesList() {
+ return new SubsetSupersetEObjectContainmentWithInverseEList.Resolving<Constraint>(
+ Constraint.class, this, UMLPackage.PROTOCOL_TRANSITION__OWNED_RULE,
+ null, OWNED_RULE_ESUBSETS, UMLPackage.CONSTRAINT__CONTEXT);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedRules() <em>Owned Rule</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedRules()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_RULE_ESUBSETS = new int[]{
+ UMLPackage.PROTOCOL_TRANSITION__GUARD,
+ UMLPackage.PROTOCOL_TRANSITION__POST_CONDITION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Constraint getGuard() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.PROTOCOL_TRANSITION__GUARD - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__GUARD, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Constraint basicGetGuard() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.PROTOCOL_TRANSITION__GUARD - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__GUARD, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setGuard(Constraint newGuard) {
+ eDynamicSet(
+ UMLPackage.PROTOCOL_TRANSITION__GUARD - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__GUARD, newGuard);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ Constraint preCondition = getPreCondition();
+ if (preCondition != null && preCondition != newGuard) {
+ setPreCondition(null);
+ }
+ if (newGuard != null) {
+ EList<Constraint> ownedRules = getOwnedRules();
+ if (!ownedRules.contains(newGuard)) {
+ ownedRules.add(newGuard);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getPostCondition() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.PROTOCOL_TRANSITION__POST_CONDITION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROTOCOL_TRANSITION__POST_CONDITION, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint basicGetPostCondition() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.PROTOCOL_TRANSITION__POST_CONDITION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROTOCOL_TRANSITION__POST_CONDITION, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPostCondition(Constraint newPostCondition) {
+ eDynamicSet(
+ UMLPackage.PROTOCOL_TRANSITION__POST_CONDITION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROTOCOL_TRANSITION__POST_CONDITION,
+ newPostCondition);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newPostCondition != null) {
+ EList<Constraint> ownedRules = getOwnedRules();
+ if (!ownedRules.contains(newPostCondition)) {
+ ownedRules.add(newPostCondition);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createPostCondition(String name, EClass eClass) {
+ Constraint newPostCondition = (Constraint) create(eClass);
+ setPostCondition(newPostCondition);
+ if (name != null)
+ newPostCondition.setName(name);
+ return newPostCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createPostCondition(String name) {
+ return createPostCondition(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ protected static class ReferredEList
+ extends DerivedEObjectEList<Operation> {
+
+ protected ReferredEList(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] sourceFeatureIDs) {
+ super(dataClass, owner, featureID, sourceFeatureIDs);
+ }
+
+ @Override
+ public List<Operation> basicList() {
+ return new ReferredEList(dataClass, owner, featureID,
+ sourceFeatureIDs) {
+
+ @Override
+ public ListIterator<Operation> listIterator(int index) {
+ return basicListIterator(index);
+ }
+ };
+ }
+
+ @Override
+ protected boolean isIncluded(EStructuralFeature feature) {
+ return false;
+ }
+
+ @Override
+ protected Operation derive(Object object) {
+ Event event = ((Trigger) object).getEvent();
+ return event instanceof CallEvent
+ ? ((CallEvent) event).getOperation()
+ : null;
+ }
+
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getReferreds() <em>Referred</em>}' reference list.
+ * @see #getReferreds()
+ */
+ protected static final int[] REFERRED_ESUPERSETS = new int[]{
+ UMLPackage.PROTOCOL_TRANSITION__TRIGGER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList<Operation> getReferreds() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Operation> referreds = (EList<Operation>) cache.get(eResource,
+ this, UMLPackage.Literals.PROTOCOL_TRANSITION__REFERRED);
+ if (referreds == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.PROTOCOL_TRANSITION__REFERRED,
+ referreds = new ReferredEList(Operation.class, this,
+ UMLPackage.PROTOCOL_TRANSITION__REFERRED,
+ REFERRED_ESUPERSETS));
+ }
+ return referreds;
+ }
+ return new ReferredEList(Operation.class, this,
+ UMLPackage.PROTOCOL_TRANSITION__REFERRED, REFERRED_ESUPERSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getReferred(String name, EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes) {
+ return getReferred(name, ownedParameterNames, ownedParameterTypes,
+ false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getReferred(String name, EList<String> ownedParameterNames,
+ EList<Type> ownedParameterTypes, boolean ignoreCase) {
+ referredLoop : for (Operation referred : getReferreds()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(referred.getName())
+ : name.equals(referred.getName())))
+ continue referredLoop;
+ EList<Parameter> ownedParameterList = referred.getOwnedParameters();
+ int ownedParameterListSize = ownedParameterList.size();
+ if (ownedParameterNames != null
+ && ownedParameterNames.size() != ownedParameterListSize
+ || (ownedParameterTypes != null
+ && ownedParameterTypes.size() != ownedParameterListSize))
+ continue referredLoop;
+ for (int j = 0; j < ownedParameterListSize; j++) {
+ Parameter ownedParameter = ownedParameterList.get(j);
+ if (ownedParameterNames != null && !(ignoreCase
+ ? (ownedParameterNames.get(j))
+ .equalsIgnoreCase(ownedParameter.getName())
+ : ownedParameterNames.get(j)
+ .equals(ownedParameter.getName())))
+ continue referredLoop;
+ if (ownedParameterTypes != null && !ownedParameterTypes.get(j)
+ .equals(ownedParameter.getType()))
+ continue referredLoop;
+ }
+ return referred;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getPreCondition() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.PROTOCOL_TRANSITION__PRE_CONDITION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROTOCOL_TRANSITION__PRE_CONDITION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint basicGetPreCondition() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.PROTOCOL_TRANSITION__PRE_CONDITION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROTOCOL_TRANSITION__PRE_CONDITION, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPreCondition(Constraint newPreCondition) {
+ eDynamicSet(
+ UMLPackage.PROTOCOL_TRANSITION__PRE_CONDITION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PROTOCOL_TRANSITION__PRE_CONDITION,
+ newPreCondition);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newPreCondition != null) {
+ if (newPreCondition != getGuard()) {
+ setGuard(newPreCondition);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBelongsToPsm(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ProtocolTransitionOperations.validateBelongsToPsm(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAssociatedActions(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ProtocolTransitionOperations.validateAssociatedActions(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRefersToOperation(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ProtocolTransitionOperations.validateRefersToOperation(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_TRANSITION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_TRANSITION__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_TRANSITION__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_TRANSITION__CONTAINER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetContainer((Region) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_TRANSITION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_TRANSITION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_TRANSITION__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_TRANSITION__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PROTOCOL_TRANSITION__EFFECT :
+ return basicSetEffect(null, msgs);
+ case UMLPackage.PROTOCOL_TRANSITION__TRIGGER :
+ return ((InternalEList<?>) getTriggers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.PROTOCOL_TRANSITION__CONTAINER :
+ return basicSetContainer(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_TRANSITION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PROTOCOL_TRANSITION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PROTOCOL_TRANSITION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.PROTOCOL_TRANSITION__NAME :
+ return getName();
+ case UMLPackage.PROTOCOL_TRANSITION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.PROTOCOL_TRANSITION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.PROTOCOL_TRANSITION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PROTOCOL_TRANSITION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.PROTOCOL_TRANSITION__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.PROTOCOL_TRANSITION__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.PROTOCOL_TRANSITION__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.PROTOCOL_TRANSITION__MEMBER :
+ return getMembers();
+ case UMLPackage.PROTOCOL_TRANSITION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.PROTOCOL_TRANSITION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.PROTOCOL_TRANSITION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.PROTOCOL_TRANSITION__EFFECT :
+ if (resolve)
+ return getEffect();
+ return basicGetEffect();
+ case UMLPackage.PROTOCOL_TRANSITION__GUARD :
+ if (resolve)
+ return getGuard();
+ return basicGetGuard();
+ case UMLPackage.PROTOCOL_TRANSITION__KIND :
+ return getKind();
+ case UMLPackage.PROTOCOL_TRANSITION__REDEFINED_TRANSITION :
+ if (resolve)
+ return getRedefinedTransition();
+ return basicGetRedefinedTransition();
+ case UMLPackage.PROTOCOL_TRANSITION__SOURCE :
+ if (resolve)
+ return getSource();
+ return basicGetSource();
+ case UMLPackage.PROTOCOL_TRANSITION__TARGET :
+ if (resolve)
+ return getTarget();
+ return basicGetTarget();
+ case UMLPackage.PROTOCOL_TRANSITION__TRIGGER :
+ return getTriggers();
+ case UMLPackage.PROTOCOL_TRANSITION__CONTAINER :
+ if (resolve)
+ return getContainer();
+ return basicGetContainer();
+ case UMLPackage.PROTOCOL_TRANSITION__POST_CONDITION :
+ if (resolve)
+ return getPostCondition();
+ return basicGetPostCondition();
+ case UMLPackage.PROTOCOL_TRANSITION__PRE_CONDITION :
+ if (resolve)
+ return getPreCondition();
+ return basicGetPreCondition();
+ case UMLPackage.PROTOCOL_TRANSITION__REFERRED :
+ return getReferreds();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_TRANSITION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__EFFECT :
+ setEffect((Behavior) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__GUARD :
+ setGuard((Constraint) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__KIND :
+ setKind((TransitionKind) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__REDEFINED_TRANSITION :
+ setRedefinedTransition((Transition) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__SOURCE :
+ setSource((Vertex) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__TARGET :
+ setTarget((Vertex) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__TRIGGER :
+ getTriggers().clear();
+ getTriggers().addAll((Collection<? extends Trigger>) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__CONTAINER :
+ setContainer((Region) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__POST_CONDITION :
+ setPostCondition((Constraint) newValue);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__PRE_CONDITION :
+ setPreCondition((Constraint) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_TRANSITION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__EFFECT :
+ setEffect((Behavior) null);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__GUARD :
+ setGuard((Constraint) null);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__KIND :
+ setKind(KIND_EDEFAULT);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__REDEFINED_TRANSITION :
+ setRedefinedTransition((Transition) null);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__SOURCE :
+ setSource((Vertex) null);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__TARGET :
+ setTarget((Vertex) null);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__TRIGGER :
+ getTriggers().clear();
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__CONTAINER :
+ setContainer((Region) null);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__POST_CONDITION :
+ setPostCondition((Constraint) null);
+ return;
+ case UMLPackage.PROTOCOL_TRANSITION__PRE_CONDITION :
+ setPreCondition((Constraint) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PROTOCOL_TRANSITION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PROTOCOL_TRANSITION__OWNER :
+ return isSetOwner();
+ case UMLPackage.PROTOCOL_TRANSITION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.PROTOCOL_TRANSITION__NAME :
+ return isSetName();
+ case UMLPackage.PROTOCOL_TRANSITION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.PROTOCOL_TRANSITION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.PROTOCOL_TRANSITION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.PROTOCOL_TRANSITION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.PROTOCOL_TRANSITION__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.PROTOCOL_TRANSITION__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.PROTOCOL_TRANSITION__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.PROTOCOL_TRANSITION__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.PROTOCOL_TRANSITION__MEMBER :
+ return isSetMembers();
+ case UMLPackage.PROTOCOL_TRANSITION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.PROTOCOL_TRANSITION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.PROTOCOL_TRANSITION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.PROTOCOL_TRANSITION__EFFECT :
+ return basicGetEffect() != null;
+ case UMLPackage.PROTOCOL_TRANSITION__GUARD :
+ return basicGetGuard() != null;
+ case UMLPackage.PROTOCOL_TRANSITION__KIND :
+ return getKind() != KIND_EDEFAULT;
+ case UMLPackage.PROTOCOL_TRANSITION__REDEFINED_TRANSITION :
+ return basicGetRedefinedTransition() != null;
+ case UMLPackage.PROTOCOL_TRANSITION__SOURCE :
+ return basicGetSource() != null;
+ case UMLPackage.PROTOCOL_TRANSITION__TARGET :
+ return basicGetTarget() != null;
+ case UMLPackage.PROTOCOL_TRANSITION__TRIGGER :
+ return !getTriggers().isEmpty();
+ case UMLPackage.PROTOCOL_TRANSITION__CONTAINER :
+ return basicGetContainer() != null;
+ case UMLPackage.PROTOCOL_TRANSITION__POST_CONDITION :
+ return basicGetPostCondition() != null;
+ case UMLPackage.PROTOCOL_TRANSITION__PRE_CONDITION :
+ return basicGetPreCondition() != null;
+ case UMLPackage.PROTOCOL_TRANSITION__REFERRED :
+ return !getReferreds().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PROTOCOL_TRANSITION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PROTOCOL_TRANSITION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_MODEL :
+ return getModel();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PROTOCOL_TRANSITION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PROTOCOL_TRANSITION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.PROTOCOL_TRANSITION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.PROTOCOL_TRANSITION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.PROTOCOL_TRANSITION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PROTOCOL_TRANSITION___SEPARATOR :
+ return separator();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.PROTOCOL_TRANSITION___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.PROTOCOL_TRANSITION___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.PROTOCOL_TRANSITION___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_STATE_IS_EXTERNAL__DIAGNOSTICCHAIN_MAP :
+ return validateStateIsExternal(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_JOIN_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP :
+ return validateJoinSegmentGuards(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_STATE_IS_INTERNAL__DIAGNOSTICCHAIN_MAP :
+ return validateStateIsInternal(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_OUTGOING_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP :
+ return validateOutgoingPseudostates(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_JOIN_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP :
+ return validateJoinSegmentState(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_FORK_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP :
+ return validateForkSegmentState(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_STATE_IS_LOCAL__DIAGNOSTICCHAIN_MAP :
+ return validateStateIsLocal((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_INITIAL_TRANSITION__DIAGNOSTICCHAIN_MAP :
+ return validateInitialTransition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_FORK_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP :
+ return validateForkSegmentGuards(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___CONTAINING_STATE_MACHINE :
+ return containingStateMachine();
+ case UMLPackage.PROTOCOL_TRANSITION___REDEFINITION_CONTEXT :
+ return redefinitionContext();
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_REFERS_TO_OPERATION__DIAGNOSTICCHAIN_MAP :
+ return validateRefersToOperation(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_ASSOCIATED_ACTIONS__DIAGNOSTICCHAIN_MAP :
+ return validateAssociatedActions(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_BELONGS_TO_PSM__DIAGNOSTICCHAIN_MAP :
+ return validateBelongsToPsm((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PROTOCOL_TRANSITION___GET_REFERREDS :
+ return getReferreds();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ProtocolTransitionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PseudostateImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PseudostateImpl.java
new file mode 100644
index 00000000..656b3f25
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/PseudostateImpl.java
@@ -0,0 +1,786 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.PseudostateKind;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.PseudostateOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Pseudostate</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PseudostateImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PseudostateImpl#getState <em>State</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PseudostateImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.PseudostateImpl#getStateMachine <em>State Machine</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PseudostateImpl
+ extends VertexImpl
+ implements Pseudostate {
+
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final PseudostateKind KIND_EDEFAULT = PseudostateKind.INITIAL_LITERAL;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PseudostateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.PSEUDOSTATE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PseudostateKind getKind() {
+ return (PseudostateKind) eDynamicGet(
+ UMLPackage.PSEUDOSTATE__KIND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PSEUDOSTATE__KIND, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKind(PseudostateKind newKind) {
+ eDynamicSet(UMLPackage.PSEUDOSTATE__KIND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PSEUDOSTATE__KIND, newKind);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachine getStateMachine() {
+ return (StateMachine) eDynamicGet(
+ UMLPackage.PSEUDOSTATE__STATE_MACHINE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PSEUDOSTATE__STATE_MACHINE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachine basicGetStateMachine() {
+ return (StateMachine) eDynamicGet(
+ UMLPackage.PSEUDOSTATE__STATE_MACHINE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PSEUDOSTATE__STATE_MACHINE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetStateMachine(StateMachine newStateMachine,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newStateMachine,
+ UMLPackage.PSEUDOSTATE__STATE_MACHINE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStateMachine(StateMachine newStateMachine) {
+ eDynamicSet(
+ UMLPackage.PSEUDOSTATE__STATE_MACHINE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PSEUDOSTATE__STATE_MACHINE, newStateMachine);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State getState() {
+ return (State) eDynamicGet(
+ UMLPackage.PSEUDOSTATE__STATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PSEUDOSTATE__STATE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State basicGetState() {
+ return (State) eDynamicGet(
+ UMLPackage.PSEUDOSTATE__STATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PSEUDOSTATE__STATE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetState(State newState,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newState,
+ UMLPackage.PSEUDOSTATE__STATE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setState(State newState) {
+ eDynamicSet(UMLPackage.PSEUDOSTATE__STATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.PSEUDOSTATE__STATE, newState);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInitialVertex(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PseudostateOperations.validateInitialVertex(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateHistoryVertices(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PseudostateOperations.validateHistoryVertices(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateJoinVertex(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PseudostateOperations.validateJoinVertex(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTransitionsIncoming(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PseudostateOperations.validateTransitionsIncoming(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateForkVertex(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PseudostateOperations.validateForkVertex(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTransitionsOutgoing(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PseudostateOperations.validateTransitionsOutgoing(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateJunctionVertex(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PseudostateOperations.validateJunctionVertex(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateChoiceVertex(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PseudostateOperations.validateChoiceVertex(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOutgoingFromInitial(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return PseudostateOperations.validateOutgoingFromInitial(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PSEUDOSTATE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.PSEUDOSTATE__CONTAINER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetContainer((Region) otherEnd, msgs);
+ case UMLPackage.PSEUDOSTATE__STATE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetState((State) otherEnd, msgs);
+ case UMLPackage.PSEUDOSTATE__STATE_MACHINE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetStateMachine((StateMachine) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.PSEUDOSTATE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PSEUDOSTATE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.PSEUDOSTATE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.PSEUDOSTATE__CONTAINER :
+ return basicSetContainer(null, msgs);
+ case UMLPackage.PSEUDOSTATE__STATE :
+ return basicSetState(null, msgs);
+ case UMLPackage.PSEUDOSTATE__STATE_MACHINE :
+ return basicSetStateMachine(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.PSEUDOSTATE__CONTAINER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.REGION__SUBVERTEX, Region.class, msgs);
+ case UMLPackage.PSEUDOSTATE__STATE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.STATE__CONNECTION_POINT, State.class, msgs);
+ case UMLPackage.PSEUDOSTATE__STATE_MACHINE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.STATE_MACHINE__CONNECTION_POINT,
+ StateMachine.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.PSEUDOSTATE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.PSEUDOSTATE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.PSEUDOSTATE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.PSEUDOSTATE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.PSEUDOSTATE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.PSEUDOSTATE__NAME :
+ return getName();
+ case UMLPackage.PSEUDOSTATE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.PSEUDOSTATE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.PSEUDOSTATE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PSEUDOSTATE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.PSEUDOSTATE__CONTAINER :
+ if (resolve)
+ return getContainer();
+ return basicGetContainer();
+ case UMLPackage.PSEUDOSTATE__INCOMING :
+ return getIncomings();
+ case UMLPackage.PSEUDOSTATE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.PSEUDOSTATE__STATE :
+ if (resolve)
+ return getState();
+ return basicGetState();
+ case UMLPackage.PSEUDOSTATE__KIND :
+ return getKind();
+ case UMLPackage.PSEUDOSTATE__STATE_MACHINE :
+ if (resolve)
+ return getStateMachine();
+ return basicGetStateMachine();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.PSEUDOSTATE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.PSEUDOSTATE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.PSEUDOSTATE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.PSEUDOSTATE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.PSEUDOSTATE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.PSEUDOSTATE__CONTAINER :
+ setContainer((Region) newValue);
+ return;
+ case UMLPackage.PSEUDOSTATE__STATE :
+ setState((State) newValue);
+ return;
+ case UMLPackage.PSEUDOSTATE__KIND :
+ setKind((PseudostateKind) newValue);
+ return;
+ case UMLPackage.PSEUDOSTATE__STATE_MACHINE :
+ setStateMachine((StateMachine) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PSEUDOSTATE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.PSEUDOSTATE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.PSEUDOSTATE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.PSEUDOSTATE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.PSEUDOSTATE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.PSEUDOSTATE__CONTAINER :
+ setContainer((Region) null);
+ return;
+ case UMLPackage.PSEUDOSTATE__STATE :
+ setState((State) null);
+ return;
+ case UMLPackage.PSEUDOSTATE__KIND :
+ setKind(KIND_EDEFAULT);
+ return;
+ case UMLPackage.PSEUDOSTATE__STATE_MACHINE :
+ setStateMachine((StateMachine) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.PSEUDOSTATE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.PSEUDOSTATE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.PSEUDOSTATE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.PSEUDOSTATE__OWNER :
+ return isSetOwner();
+ case UMLPackage.PSEUDOSTATE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.PSEUDOSTATE__NAME :
+ return isSetName();
+ case UMLPackage.PSEUDOSTATE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.PSEUDOSTATE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.PSEUDOSTATE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.PSEUDOSTATE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.PSEUDOSTATE__CONTAINER :
+ return basicGetContainer() != null;
+ case UMLPackage.PSEUDOSTATE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.PSEUDOSTATE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.PSEUDOSTATE__STATE :
+ return basicGetState() != null;
+ case UMLPackage.PSEUDOSTATE__KIND :
+ return getKind() != KIND_EDEFAULT;
+ case UMLPackage.PSEUDOSTATE__STATE_MACHINE :
+ return basicGetStateMachine() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.PSEUDOSTATE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.PSEUDOSTATE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.PSEUDOSTATE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.PSEUDOSTATE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.PSEUDOSTATE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___GET_MODEL :
+ return getModel();
+ case UMLPackage.PSEUDOSTATE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.PSEUDOSTATE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.PSEUDOSTATE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.PSEUDOSTATE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.PSEUDOSTATE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.PSEUDOSTATE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.PSEUDOSTATE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.PSEUDOSTATE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.PSEUDOSTATE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.PSEUDOSTATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.PSEUDOSTATE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.PSEUDOSTATE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.PSEUDOSTATE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.PSEUDOSTATE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.PSEUDOSTATE___SEPARATOR :
+ return separator();
+ case UMLPackage.PSEUDOSTATE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.PSEUDOSTATE___CONTAINING_STATE_MACHINE :
+ return containingStateMachine();
+ case UMLPackage.PSEUDOSTATE___GET_INCOMINGS :
+ return getIncomings();
+ case UMLPackage.PSEUDOSTATE___GET_OUTGOINGS :
+ return getOutgoings();
+ case UMLPackage.PSEUDOSTATE___IS_CONTAINED_IN_STATE__STATE :
+ return isContainedInState((State) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___IS_CONTAINED_IN_REGION__REGION :
+ return isContainedInRegion((Region) arguments.get(0));
+ case UMLPackage.PSEUDOSTATE___VALIDATE_TRANSITIONS_OUTGOING__DIAGNOSTICCHAIN_MAP :
+ return validateTransitionsOutgoing(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___VALIDATE_CHOICE_VERTEX__DIAGNOSTICCHAIN_MAP :
+ return validateChoiceVertex((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___VALIDATE_OUTGOING_FROM_INITIAL__DIAGNOSTICCHAIN_MAP :
+ return validateOutgoingFromInitial(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___VALIDATE_JOIN_VERTEX__DIAGNOSTICCHAIN_MAP :
+ return validateJoinVertex((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___VALIDATE_JUNCTION_VERTEX__DIAGNOSTICCHAIN_MAP :
+ return validateJunctionVertex(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___VALIDATE_HISTORY_VERTICES__DIAGNOSTICCHAIN_MAP :
+ return validateHistoryVertices(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___VALIDATE_INITIAL_VERTEX__DIAGNOSTICCHAIN_MAP :
+ return validateInitialVertex((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___VALIDATE_FORK_VERTEX__DIAGNOSTICCHAIN_MAP :
+ return validateForkVertex((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.PSEUDOSTATE___VALIDATE_TRANSITIONS_INCOMING__DIAGNOSTICCHAIN_MAP :
+ return validateTransitionsIncoming(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ State state = basicGetState();
+ if (state != null) {
+ return state;
+ }
+ StateMachine stateMachine = basicGetStateMachine();
+ if (stateMachine != null) {
+ return stateMachine;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace() || eIsSet(UMLPackage.PSEUDOSTATE__STATE)
+ || eIsSet(UMLPackage.PSEUDOSTATE__STATE_MACHINE);
+ }
+
+} //PseudostateImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/QualifierValueImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/QualifierValueImpl.java
new file mode 100644
index 00000000..62deb002
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/QualifierValueImpl.java
@@ -0,0 +1,386 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.QualifierValueOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Qualifier Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.QualifierValueImpl#getQualifier <em>Qualifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.QualifierValueImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class QualifierValueImpl
+ extends ElementImpl
+ implements QualifierValue {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QualifierValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.QUALIFIER_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getQualifier() {
+ return (Property) eDynamicGet(
+ UMLPackage.QUALIFIER_VALUE__QUALIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.QUALIFIER_VALUE__QUALIFIER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetQualifier() {
+ return (Property) eDynamicGet(
+ UMLPackage.QUALIFIER_VALUE__QUALIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.QUALIFIER_VALUE__QUALIFIER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQualifier(Property newQualifier) {
+ eDynamicSet(
+ UMLPackage.QUALIFIER_VALUE__QUALIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.QUALIFIER_VALUE__QUALIFIER, newQualifier);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getValue() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.QUALIFIER_VALUE__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.QUALIFIER_VALUE__VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetValue() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.QUALIFIER_VALUE__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.QUALIFIER_VALUE__VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(InputPin newValue) {
+ eDynamicSet(UMLPackage.QUALIFIER_VALUE__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.QUALIFIER_VALUE__VALUE, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateQualifierAttribute(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return QualifierValueOperations.validateQualifierAttribute(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeOfQualifier(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return QualifierValueOperations.validateTypeOfQualifier(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfQualifier(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return QualifierValueOperations.validateMultiplicityOfQualifier(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.QUALIFIER_VALUE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.QUALIFIER_VALUE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.QUALIFIER_VALUE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.QUALIFIER_VALUE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.QUALIFIER_VALUE__QUALIFIER :
+ if (resolve)
+ return getQualifier();
+ return basicGetQualifier();
+ case UMLPackage.QUALIFIER_VALUE__VALUE :
+ if (resolve)
+ return getValue();
+ return basicGetValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.QUALIFIER_VALUE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.QUALIFIER_VALUE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.QUALIFIER_VALUE__QUALIFIER :
+ setQualifier((Property) newValue);
+ return;
+ case UMLPackage.QUALIFIER_VALUE__VALUE :
+ setValue((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.QUALIFIER_VALUE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.QUALIFIER_VALUE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.QUALIFIER_VALUE__QUALIFIER :
+ setQualifier((Property) null);
+ return;
+ case UMLPackage.QUALIFIER_VALUE__VALUE :
+ setValue((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.QUALIFIER_VALUE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.QUALIFIER_VALUE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.QUALIFIER_VALUE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.QUALIFIER_VALUE__OWNER :
+ return isSetOwner();
+ case UMLPackage.QUALIFIER_VALUE__QUALIFIER :
+ return basicGetQualifier() != null;
+ case UMLPackage.QUALIFIER_VALUE__VALUE :
+ return basicGetValue() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.QUALIFIER_VALUE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.QUALIFIER_VALUE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.QUALIFIER_VALUE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.QUALIFIER_VALUE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.QUALIFIER_VALUE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.QUALIFIER_VALUE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.QUALIFIER_VALUE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.QUALIFIER_VALUE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___GET_MODEL :
+ return getModel();
+ case UMLPackage.QUALIFIER_VALUE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.QUALIFIER_VALUE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.QUALIFIER_VALUE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.QUALIFIER_VALUE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.QUALIFIER_VALUE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.QUALIFIER_VALUE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.QUALIFIER_VALUE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.QUALIFIER_VALUE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.QUALIFIER_VALUE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.QUALIFIER_VALUE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.QUALIFIER_VALUE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.QUALIFIER_VALUE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.QUALIFIER_VALUE___VALIDATE_MULTIPLICITY_OF_QUALIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfQualifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.QUALIFIER_VALUE___VALIDATE_TYPE_OF_QUALIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfQualifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.QUALIFIER_VALUE___VALIDATE_QUALIFIER_ATTRIBUTE__DIAGNOSTICCHAIN_MAP :
+ return validateQualifierAttribute(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //QualifierValueImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RaiseExceptionActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RaiseExceptionActionImpl.java
new file mode 100644
index 00000000..dc3d38ff
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RaiseExceptionActionImpl.java
@@ -0,0 +1,560 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Raise Exception Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RaiseExceptionActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RaiseExceptionActionImpl#getException <em>Exception</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RaiseExceptionActionImpl
+ extends ActionImpl
+ implements RaiseExceptionAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RaiseExceptionActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.RAISE_EXCEPTION_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.RAISE_EXCEPTION_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.RAISE_EXCEPTION_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getException() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.RAISE_EXCEPTION_ACTION__EXCEPTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.RAISE_EXCEPTION_ACTION__EXCEPTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetException() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.RAISE_EXCEPTION_ACTION__EXCEPTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.RAISE_EXCEPTION_ACTION__EXCEPTION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetException(InputPin newException,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newException,
+ UMLPackage.RAISE_EXCEPTION_ACTION__EXCEPTION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setException(InputPin newException) {
+ eDynamicSet(
+ UMLPackage.RAISE_EXCEPTION_ACTION__EXCEPTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.RAISE_EXCEPTION_ACTION__EXCEPTION,
+ newException);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createException(String name, Type type, EClass eClass) {
+ InputPin newException = (InputPin) create(eClass);
+ setException(newException);
+ if (name != null)
+ newException.setName(name);
+ if (type != null)
+ newException.setType(type);
+ return newException;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createException(String name, Type type) {
+ return createException(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.RAISE_EXCEPTION_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.RAISE_EXCEPTION_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.RAISE_EXCEPTION_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.RAISE_EXCEPTION_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.RAISE_EXCEPTION_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.RAISE_EXCEPTION_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.RAISE_EXCEPTION_ACTION__EXCEPTION :
+ return basicSetException(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.RAISE_EXCEPTION_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__NAME :
+ return getName();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__EXCEPTION :
+ if (resolve)
+ return getException();
+ return basicGetException();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.RAISE_EXCEPTION_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__EXCEPTION :
+ setException((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.RAISE_EXCEPTION_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__EXCEPTION :
+ setException((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.RAISE_EXCEPTION_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.RAISE_EXCEPTION_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.RAISE_EXCEPTION_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.RAISE_EXCEPTION_ACTION__EXCEPTION :
+ return basicGetException() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.RAISE_EXCEPTION_ACTION__EXCEPTION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.RAISE_EXCEPTION_ACTION__EXCEPTION);
+ }
+
+} //RaiseExceptionActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadExtentActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadExtentActionImpl.java
new file mode 100644
index 00000000..1fb3013a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadExtentActionImpl.java
@@ -0,0 +1,797 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ReadExtentActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Read Extent Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadExtentActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadExtentActionImpl#getClassifier <em>Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadExtentActionImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReadExtentActionImpl
+ extends ActionImpl
+ implements ReadExtentAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadExtentActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.READ_EXTENT_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.READ_EXTENT_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.READ_EXTENT_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_EXTENT_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_EXTENT_ACTION__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_EXTENT_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_EXTENT_ACTION__RESULT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.READ_EXTENT_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(
+ UMLPackage.READ_EXTENT_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_EXTENT_ACTION__RESULT, newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getClassifier() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.READ_EXTENT_ACTION__CLASSIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_EXTENT_ACTION__CLASSIFIER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier basicGetClassifier() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.READ_EXTENT_ACTION__CLASSIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_EXTENT_ACTION__CLASSIFIER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassifier(Classifier newClassifier) {
+ eDynamicSet(
+ UMLPackage.READ_EXTENT_ACTION__CLASSIFIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_EXTENT_ACTION__CLASSIFIER, newClassifier);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeIsClassifier(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadExtentActionOperations.validateTypeIsClassifier(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfResult(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadExtentActionOperations.validateMultiplicityOfResult(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.READ_EXTENT_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_EXTENT_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_EXTENT_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.READ_EXTENT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_EXTENT_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.READ_EXTENT_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_EXTENT_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_EXTENT_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_EXTENT_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_EXTENT_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_EXTENT_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_EXTENT_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.READ_EXTENT_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.READ_EXTENT_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.READ_EXTENT_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.READ_EXTENT_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.READ_EXTENT_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.READ_EXTENT_ACTION__NAME :
+ return getName();
+ case UMLPackage.READ_EXTENT_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.READ_EXTENT_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.READ_EXTENT_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_EXTENT_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.READ_EXTENT_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.READ_EXTENT_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.READ_EXTENT_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.READ_EXTENT_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.READ_EXTENT_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.READ_EXTENT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.READ_EXTENT_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.READ_EXTENT_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.READ_EXTENT_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.READ_EXTENT_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.READ_EXTENT_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.READ_EXTENT_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.READ_EXTENT_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.READ_EXTENT_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.READ_EXTENT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.READ_EXTENT_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.READ_EXTENT_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.READ_EXTENT_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.READ_EXTENT_ACTION__CLASSIFIER :
+ if (resolve)
+ return getClassifier();
+ return basicGetClassifier();
+ case UMLPackage.READ_EXTENT_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.READ_EXTENT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__CLASSIFIER :
+ setClassifier((Classifier) newValue);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_EXTENT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__CLASSIFIER :
+ setClassifier((Classifier) null);
+ return;
+ case UMLPackage.READ_EXTENT_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_EXTENT_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.READ_EXTENT_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.READ_EXTENT_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.READ_EXTENT_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.READ_EXTENT_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.READ_EXTENT_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.READ_EXTENT_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.READ_EXTENT_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.READ_EXTENT_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.READ_EXTENT_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.READ_EXTENT_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.READ_EXTENT_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.READ_EXTENT_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.READ_EXTENT_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.READ_EXTENT_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.READ_EXTENT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.READ_EXTENT_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.READ_EXTENT_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.READ_EXTENT_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.READ_EXTENT_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.READ_EXTENT_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.READ_EXTENT_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.READ_EXTENT_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.READ_EXTENT_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.READ_EXTENT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.READ_EXTENT_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.READ_EXTENT_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.READ_EXTENT_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.READ_EXTENT_ACTION__CLASSIFIER :
+ return basicGetClassifier() != null;
+ case UMLPackage.READ_EXTENT_ACTION__RESULT :
+ return basicGetResult() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.READ_EXTENT_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_EXTENT_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_EXTENT_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.READ_EXTENT_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.READ_EXTENT_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.READ_EXTENT_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.READ_EXTENT_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_EXTENT_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.READ_EXTENT_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.READ_EXTENT_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.READ_EXTENT_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.READ_EXTENT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.READ_EXTENT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.READ_EXTENT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.READ_EXTENT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_EXTENT_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_EXTENT_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.READ_EXTENT_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.READ_EXTENT_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.READ_EXTENT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_EXTENT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_EXTENT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_EXTENT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.READ_EXTENT_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.READ_EXTENT_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.READ_EXTENT_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.READ_EXTENT_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.READ_EXTENT_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_EXTENT_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.READ_EXTENT_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.READ_EXTENT_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_EXTENT_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_EXTENT_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_EXTENT_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_EXTENT_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.READ_EXTENT_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.READ_EXTENT_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.READ_EXTENT_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.READ_EXTENT_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.READ_EXTENT_ACTION___VALIDATE_TYPE_IS_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateTypeIsClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_EXTENT_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfResult(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.READ_EXTENT_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.READ_EXTENT_ACTION__RESULT);
+ }
+
+} //ReadExtentActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadIsClassifiedObjectActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadIsClassifiedObjectActionImpl.java
new file mode 100644
index 00000000..4f60badd
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadIsClassifiedObjectActionImpl.java
@@ -0,0 +1,1026 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ReadIsClassifiedObjectActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Read Is Classified Object Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadIsClassifiedObjectActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadIsClassifiedObjectActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadIsClassifiedObjectActionImpl#getClassifier <em>Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadIsClassifiedObjectActionImpl#isDirect <em>Is Direct</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadIsClassifiedObjectActionImpl#getObject <em>Object</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadIsClassifiedObjectActionImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReadIsClassifiedObjectActionImpl
+ extends ActionImpl
+ implements ReadIsClassifiedObjectAction {
+
+ /**
+ * The default value of the '{@link #isDirect() <em>Is Direct</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDirect()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DIRECT_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadIsClassifiedObjectActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.READ_IS_CLASSIFIED_OBJECT_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDirect() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_DIRECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_DIRECT,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDirect(boolean newIsDirect) {
+ eDynamicSet(
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_DIRECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_DIRECT,
+ newIsDirect);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getClassifier() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_IS_CLASSIFIED_OBJECT_ACTION__CLASSIFIER,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier basicGetClassifier() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_IS_CLASSIFIED_OBJECT_ACTION__CLASSIFIER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassifier(Classifier newClassifier) {
+ eDynamicSet(
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_IS_CLASSIFIED_OBJECT_ACTION__CLASSIFIER,
+ newClassifier);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT,
+ newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObject(InputPin newObject,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newObject,
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObject(InputPin newObject) {
+ eDynamicSet(
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT,
+ newObject);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type, EClass eClass) {
+ InputPin newObject = (InputPin) create(eClass);
+ setObject(newObject);
+ if (name != null)
+ newObject.setName(name);
+ if (type != null)
+ newObject.setType(type);
+ return newObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type) {
+ return createObject(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfInput(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadIsClassifiedObjectActionOperations
+ .validateMultiplicityOfInput(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadIsClassifiedObjectActionOperations.validateNoType(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfOutput(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadIsClassifiedObjectActionOperations
+ .validateMultiplicityOfOutput(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBooleanResult(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadIsClassifiedObjectActionOperations
+ .validateBooleanResult(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__NAME :
+ return getName();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__CLASSIFIER :
+ if (resolve)
+ return getClassifier();
+ return basicGetClassifier();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_DIRECT :
+ return isDirect();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__CLASSIFIER :
+ setClassifier((Classifier) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_DIRECT :
+ setIsDirect((Boolean) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__CLASSIFIER :
+ setClassifier((Classifier) null);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_DIRECT :
+ setIsDirect(IS_DIRECT_EDEFAULT);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__CLASSIFIER :
+ return basicGetClassifier() != null;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_DIRECT :
+ return isDirect() != IS_DIRECT_EDEFAULT;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT :
+ return basicGetObject() != null;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT :
+ return basicGetResult() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_NO_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateNoType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_MULTIPLICITY_OF_OUTPUT__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfOutput(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_BOOLEAN_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateBooleanResult((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_MULTIPLICITY_OF_INPUT__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfInput(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT);
+ }
+
+} //ReadIsClassifiedObjectActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadLinkActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadLinkActionImpl.java
new file mode 100644
index 00000000..4e8a4456
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadLinkActionImpl.java
@@ -0,0 +1,847 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ReadLinkActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Read Link Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadLinkActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadLinkActionImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReadLinkActionImpl
+ extends LinkActionImpl
+ implements ReadLinkAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadLinkActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.READ_LINK_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.READ_LINK_ACTION__OUTPUT, OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.READ_LINK_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_LINK_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_ACTION__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_LINK_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_ACTION__RESULT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.READ_LINK_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(UMLPackage.READ_LINK_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_ACTION__RESULT, newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneOpenEnd(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkActionOperations.validateOneOpenEnd(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeAndOrdering(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkActionOperations.validateTypeAndOrdering(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCompatibleMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkActionOperations.validateCompatibleMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNavigableOpenEnd(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkActionOperations.validateNavigableOpenEnd(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Property> openEnd() {
+ return ReadLinkActionOperations.openEnd(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateVisibility(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkActionOperations.validateVisibility(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.READ_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.READ_LINK_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_LINK_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_LINK_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_LINK_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_ACTION__END_DATA :
+ return ((InternalEList<?>) getEndData()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_LINK_ACTION__INPUT_VALUE :
+ return ((InternalEList<?>) getInputValues())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.READ_LINK_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.READ_LINK_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.READ_LINK_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.READ_LINK_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.READ_LINK_ACTION__NAME :
+ return getName();
+ case UMLPackage.READ_LINK_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.READ_LINK_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.READ_LINK_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_LINK_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.READ_LINK_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.READ_LINK_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.READ_LINK_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.READ_LINK_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.READ_LINK_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.READ_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.READ_LINK_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.READ_LINK_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.READ_LINK_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.READ_LINK_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.READ_LINK_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.READ_LINK_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.READ_LINK_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.READ_LINK_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.READ_LINK_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.READ_LINK_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.READ_LINK_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.READ_LINK_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.READ_LINK_ACTION__END_DATA :
+ return getEndData();
+ case UMLPackage.READ_LINK_ACTION__INPUT_VALUE :
+ return getInputValues();
+ case UMLPackage.READ_LINK_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__END_DATA :
+ getEndData().clear();
+ getEndData()
+ .addAll((Collection<? extends LinkEndData>) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__INPUT_VALUE :
+ getInputValues().clear();
+ getInputValues()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.READ_LINK_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.READ_LINK_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.READ_LINK_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.READ_LINK_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.READ_LINK_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.READ_LINK_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.READ_LINK_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.READ_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.READ_LINK_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.READ_LINK_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.READ_LINK_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.READ_LINK_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.READ_LINK_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.READ_LINK_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.READ_LINK_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.READ_LINK_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.READ_LINK_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.READ_LINK_ACTION__END_DATA :
+ getEndData().clear();
+ return;
+ case UMLPackage.READ_LINK_ACTION__INPUT_VALUE :
+ getInputValues().clear();
+ return;
+ case UMLPackage.READ_LINK_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.READ_LINK_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.READ_LINK_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.READ_LINK_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.READ_LINK_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.READ_LINK_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.READ_LINK_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.READ_LINK_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.READ_LINK_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.READ_LINK_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.READ_LINK_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.READ_LINK_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.READ_LINK_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.READ_LINK_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.READ_LINK_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.READ_LINK_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.READ_LINK_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.READ_LINK_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.READ_LINK_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.READ_LINK_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.READ_LINK_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.READ_LINK_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.READ_LINK_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.READ_LINK_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.READ_LINK_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.READ_LINK_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.READ_LINK_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.READ_LINK_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.READ_LINK_ACTION__END_DATA :
+ return !getEndData().isEmpty();
+ case UMLPackage.READ_LINK_ACTION__INPUT_VALUE :
+ return !getInputValues().isEmpty();
+ case UMLPackage.READ_LINK_ACTION__RESULT :
+ return basicGetResult() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.READ_LINK_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.READ_LINK_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.READ_LINK_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.READ_LINK_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.READ_LINK_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.READ_LINK_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.READ_LINK_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.READ_LINK_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.READ_LINK_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.READ_LINK_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.READ_LINK_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.READ_LINK_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.READ_LINK_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.READ_LINK_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.READ_LINK_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.READ_LINK_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.READ_LINK_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.READ_LINK_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_LINK_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.READ_LINK_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_LINK_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.READ_LINK_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.READ_LINK_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.READ_LINK_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.READ_LINK_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_SAME_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateSamePins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_SAME_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
+ return validateSameAssociation(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
+ return validateNotStatic((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___ASSOCIATION :
+ return association();
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_TYPE_AND_ORDERING__DIAGNOSTICCHAIN_MAP :
+ return validateTypeAndOrdering(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_COMPATIBLE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateCompatibleMultiplicity(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateVisibility((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_ONE_OPEN_END__DIAGNOSTICCHAIN_MAP :
+ return validateOneOpenEnd((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___VALIDATE_NAVIGABLE_OPEN_END__DIAGNOSTICCHAIN_MAP :
+ return validateNavigableOpenEnd(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_ACTION___OPEN_END :
+ return openEnd();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.READ_LINK_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.READ_LINK_ACTION__RESULT);
+ }
+
+} //ReadLinkActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadLinkObjectEndActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadLinkObjectEndActionImpl.java
new file mode 100644
index 00000000..595c353f
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadLinkObjectEndActionImpl.java
@@ -0,0 +1,1013 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ReadLinkObjectEndActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Read Link Object End Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadLinkObjectEndActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadLinkObjectEndActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadLinkObjectEndActionImpl#getEnd <em>End</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadLinkObjectEndActionImpl#getObject <em>Object</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadLinkObjectEndActionImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReadLinkObjectEndActionImpl
+ extends ActionImpl
+ implements ReadLinkObjectEndAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadLinkObjectEndActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.READ_LINK_OBJECT_END_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_ACTION__OBJECT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_ACTION__OBJECT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObject(InputPin newObject,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newObject,
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__OBJECT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObject(InputPin newObject) {
+ eDynamicSet(
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_ACTION__OBJECT, newObject);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type, EClass eClass) {
+ InputPin newObject = (InputPin) create(eClass);
+ setObject(newObject);
+ if (name != null)
+ newObject.setName(name);
+ if (type != null)
+ newObject.setType(type);
+ return newObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type) {
+ return createObject(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getEnd() {
+ return (Property) eDynamicGet(
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_ACTION__END, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetEnd() {
+ return (Property) eDynamicGet(
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_ACTION__END, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnd(Property newEnd) {
+ eDynamicSet(
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__END - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_ACTION__END, newEnd);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_ACTION__RESULT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_ACTION__RESULT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_ACTION__RESULT, newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateProperty(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndActionOperations.validateProperty(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAssociationOfAssociation(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndActionOperations
+ .validateAssociationOfAssociation(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEndsOfAssociation(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndActionOperations.validateEndsOfAssociation(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeOfObject(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndActionOperations.validateTypeOfObject(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfObject(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndActionOperations
+ .validateMultiplicityOfObject(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeOfResult(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndActionOperations.validateTypeOfResult(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfResult(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndActionOperations
+ .validateMultiplicityOfResult(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__NAME :
+ return getName();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__END :
+ if (resolve)
+ return getEnd();
+ return basicGetEnd();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__END :
+ setEnd((Property) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__END :
+ setEnd((Property) null);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__END :
+ return basicGetEnd() != null;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OBJECT :
+ return basicGetObject() != null;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__RESULT :
+ return basicGetResult() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_PROPERTY__DIAGNOSTICCHAIN_MAP :
+ return validateProperty((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfObject(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_ENDS_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
+ return validateEndsOfAssociation(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfResult((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfResult(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_TYPE_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfObject((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_ASSOCIATION_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
+ return validateAssociationOfAssociation(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__OBJECT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.READ_LINK_OBJECT_END_ACTION__OBJECT);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.READ_LINK_OBJECT_END_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.READ_LINK_OBJECT_END_ACTION__RESULT);
+ }
+
+} //ReadLinkObjectEndActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadLinkObjectEndQualifierActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadLinkObjectEndQualifierActionImpl.java
new file mode 100644
index 00000000..02c40095
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadLinkObjectEndQualifierActionImpl.java
@@ -0,0 +1,1039 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ReadLinkObjectEndQualifierActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Read Link Object End Qualifier Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadLinkObjectEndQualifierActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadLinkObjectEndQualifierActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadLinkObjectEndQualifierActionImpl#getObject <em>Object</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadLinkObjectEndQualifierActionImpl#getQualifier <em>Qualifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadLinkObjectEndQualifierActionImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReadLinkObjectEndQualifierActionImpl
+ extends ActionImpl
+ implements ReadLinkObjectEndQualifierAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadLinkObjectEndQualifierActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.READ_LINK_OBJECT_END_QUALIFIER_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__INPUT,
+ INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObject(InputPin newObject,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newObject,
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObject(InputPin newObject) {
+ eDynamicSet(
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT,
+ newObject);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type, EClass eClass) {
+ InputPin newObject = (InputPin) create(eClass);
+ setObject(newObject);
+ if (name != null)
+ newObject.setName(name);
+ if (type != null)
+ newObject.setType(type);
+ return newObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type) {
+ return createObject(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT,
+ newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getQualifier() {
+ return (Property) eDynamicGet(
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__QUALIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_QUALIFIER_ACTION__QUALIFIER,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetQualifier() {
+ return (Property) eDynamicGet(
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__QUALIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_QUALIFIER_ACTION__QUALIFIER,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQualifier(Property newQualifier) {
+ eDynamicSet(
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__QUALIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_LINK_OBJECT_END_QUALIFIER_ACTION__QUALIFIER,
+ newQualifier);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateQualifierAttribute(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndQualifierActionOperations
+ .validateQualifierAttribute(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAssociationOfAssociation(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndQualifierActionOperations
+ .validateAssociationOfAssociation(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEndsOfAssociation(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndQualifierActionOperations
+ .validateEndsOfAssociation(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeOfObject(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndQualifierActionOperations
+ .validateTypeOfObject(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfQualifier(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndQualifierActionOperations
+ .validateMultiplicityOfQualifier(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfObject(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndQualifierActionOperations
+ .validateMultiplicityOfObject(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSameType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndQualifierActionOperations.validateSameType(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfResult(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadLinkObjectEndQualifierActionOperations
+ .validateMultiplicityOfResult(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__NAME :
+ return getName();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__QUALIFIER :
+ if (resolve)
+ return getQualifier();
+ return basicGetQualifier();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__QUALIFIER :
+ setQualifier((Property) newValue);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__QUALIFIER :
+ setQualifier((Property) null);
+ return;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT :
+ return basicGetObject() != null;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__QUALIFIER :
+ return basicGetQualifier() != null;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT :
+ return basicGetResult() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfObject(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_TYPE_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfObject((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_QUALIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfQualifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_ENDS_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
+ return validateEndsOfAssociation(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfResult(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSameType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_ASSOCIATION_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
+ return validateAssociationOfAssociation(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_QUALIFIER_ATTRIBUTE__DIAGNOSTICCHAIN_MAP :
+ return validateQualifierAttribute(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT);
+ }
+
+} //ReadLinkObjectEndQualifierActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadSelfActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadSelfActionImpl.java
new file mode 100644
index 00000000..1f5506d6
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadSelfActionImpl.java
@@ -0,0 +1,774 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ReadSelfActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Read Self Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadSelfActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadSelfActionImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReadSelfActionImpl
+ extends ActionImpl
+ implements ReadSelfAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadSelfActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.READ_SELF_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.READ_SELF_ACTION__OUTPUT, OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.READ_SELF_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_SELF_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_SELF_ACTION__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_SELF_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_SELF_ACTION__RESULT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.READ_SELF_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(UMLPackage.READ_SELF_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_SELF_ACTION__RESULT, newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateContained(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadSelfActionOperations.validateContained(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNotStatic(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadSelfActionOperations.validateNotStatic(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadSelfActionOperations.validateType(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadSelfActionOperations.validateMultiplicity(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.READ_SELF_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_SELF_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_SELF_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.READ_SELF_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_SELF_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.READ_SELF_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_SELF_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_SELF_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_SELF_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_SELF_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_SELF_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_SELF_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.READ_SELF_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.READ_SELF_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.READ_SELF_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.READ_SELF_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.READ_SELF_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.READ_SELF_ACTION__NAME :
+ return getName();
+ case UMLPackage.READ_SELF_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.READ_SELF_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.READ_SELF_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_SELF_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.READ_SELF_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.READ_SELF_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.READ_SELF_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.READ_SELF_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.READ_SELF_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.READ_SELF_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.READ_SELF_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.READ_SELF_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.READ_SELF_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.READ_SELF_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.READ_SELF_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.READ_SELF_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.READ_SELF_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.READ_SELF_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.READ_SELF_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.READ_SELF_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.READ_SELF_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.READ_SELF_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.READ_SELF_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.READ_SELF_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_SELF_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_SELF_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.READ_SELF_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.READ_SELF_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.READ_SELF_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.READ_SELF_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.READ_SELF_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.READ_SELF_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.READ_SELF_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.READ_SELF_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.READ_SELF_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.READ_SELF_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.READ_SELF_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.READ_SELF_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.READ_SELF_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.READ_SELF_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.READ_SELF_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.READ_SELF_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.READ_SELF_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_SELF_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.READ_SELF_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.READ_SELF_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.READ_SELF_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.READ_SELF_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.READ_SELF_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.READ_SELF_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.READ_SELF_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.READ_SELF_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.READ_SELF_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.READ_SELF_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.READ_SELF_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.READ_SELF_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.READ_SELF_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.READ_SELF_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.READ_SELF_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.READ_SELF_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.READ_SELF_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.READ_SELF_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.READ_SELF_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.READ_SELF_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.READ_SELF_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.READ_SELF_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.READ_SELF_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.READ_SELF_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.READ_SELF_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.READ_SELF_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.READ_SELF_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.READ_SELF_ACTION__RESULT :
+ return basicGetResult() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.READ_SELF_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.READ_SELF_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.READ_SELF_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.READ_SELF_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.READ_SELF_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.READ_SELF_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.READ_SELF_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.READ_SELF_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.READ_SELF_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.READ_SELF_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.READ_SELF_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.READ_SELF_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.READ_SELF_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.READ_SELF_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.READ_SELF_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.READ_SELF_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.READ_SELF_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.READ_SELF_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.READ_SELF_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_SELF_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.READ_SELF_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.READ_SELF_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_SELF_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.READ_SELF_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.READ_SELF_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.READ_SELF_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.READ_SELF_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.READ_SELF_ACTION___VALIDATE_CONTAINED__DIAGNOSTICCHAIN_MAP :
+ return validateContained((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
+ return validateNotStatic((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_SELF_ACTION___VALIDATE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.READ_SELF_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.READ_SELF_ACTION__RESULT);
+ }
+
+} //ReadSelfActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadStructuralFeatureActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadStructuralFeatureActionImpl.java
new file mode 100644
index 00000000..5f0ccb65
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadStructuralFeatureActionImpl.java
@@ -0,0 +1,797 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ReadStructuralFeatureActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Read Structural Feature Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadStructuralFeatureActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadStructuralFeatureActionImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReadStructuralFeatureActionImpl
+ extends StructuralFeatureActionImpl
+ implements ReadStructuralFeatureAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadStructuralFeatureActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.READ_STRUCTURAL_FEATURE_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_STRUCTURAL_FEATURE_ACTION__RESULT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_STRUCTURAL_FEATURE_ACTION__RESULT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(
+ UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_STRUCTURAL_FEATURE_ACTION__RESULT,
+ newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeAndOrdering(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadStructuralFeatureActionOperations
+ .validateTypeAndOrdering(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadStructuralFeatureActionOperations.validateMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__NAME :
+ return getName();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ if (resolve)
+ return getStructuralFeature();
+ return basicGetStructuralFeature();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ setStructuralFeature((StructuralFeature) newValue);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ setStructuralFeature((StructuralFeature) null);
+ return;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ return basicGetObject() != null;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ return basicGetStructuralFeature() != null;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__RESULT :
+ return basicGetResult() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_OBJECT_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateObjectType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateVisibility((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
+ return validateNotStatic((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateOneFeaturingClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_AND_ORDERING__DIAGNOSTICCHAIN_MAP :
+ return validateTypeAndOrdering(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__RESULT);
+ }
+
+} //ReadStructuralFeatureActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadVariableActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadVariableActionImpl.java
new file mode 100644
index 00000000..637420bc
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReadVariableActionImpl.java
@@ -0,0 +1,767 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Variable;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ReadVariableActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Read Variable Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadVariableActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReadVariableActionImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReadVariableActionImpl
+ extends VariableActionImpl
+ implements ReadVariableAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadVariableActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.READ_VARIABLE_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.READ_VARIABLE_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.READ_VARIABLE_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_VARIABLE_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_VARIABLE_ACTION__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.READ_VARIABLE_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_VARIABLE_ACTION__RESULT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.READ_VARIABLE_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(
+ UMLPackage.READ_VARIABLE_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.READ_VARIABLE_ACTION__RESULT, newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeAndOrdering(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadVariableActionOperations.validateTypeAndOrdering(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCompatibleMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReadVariableActionOperations.validateCompatibleMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.READ_VARIABLE_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_VARIABLE_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_VARIABLE_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.READ_VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.READ_VARIABLE_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_VARIABLE_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_VARIABLE_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_VARIABLE_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.READ_VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_VARIABLE_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.READ_VARIABLE_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.READ_VARIABLE_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.READ_VARIABLE_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.READ_VARIABLE_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.READ_VARIABLE_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.READ_VARIABLE_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.READ_VARIABLE_ACTION__NAME :
+ return getName();
+ case UMLPackage.READ_VARIABLE_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.READ_VARIABLE_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.READ_VARIABLE_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_VARIABLE_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.READ_VARIABLE_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.READ_VARIABLE_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.READ_VARIABLE_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.READ_VARIABLE_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.READ_VARIABLE_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.READ_VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.READ_VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.READ_VARIABLE_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.READ_VARIABLE_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.READ_VARIABLE_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.READ_VARIABLE_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.READ_VARIABLE_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.READ_VARIABLE_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.READ_VARIABLE_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.READ_VARIABLE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.READ_VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.READ_VARIABLE_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.READ_VARIABLE_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.READ_VARIABLE_ACTION__VARIABLE :
+ if (resolve)
+ return getVariable();
+ return basicGetVariable();
+ case UMLPackage.READ_VARIABLE_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.READ_VARIABLE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__VARIABLE :
+ setVariable((Variable) newValue);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_VARIABLE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__VARIABLE :
+ setVariable((Variable) null);
+ return;
+ case UMLPackage.READ_VARIABLE_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.READ_VARIABLE_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.READ_VARIABLE_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.READ_VARIABLE_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.READ_VARIABLE_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.READ_VARIABLE_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.READ_VARIABLE_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.READ_VARIABLE_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.READ_VARIABLE_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.READ_VARIABLE_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.READ_VARIABLE_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.READ_VARIABLE_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.READ_VARIABLE_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.READ_VARIABLE_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.READ_VARIABLE_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.READ_VARIABLE_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.READ_VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.READ_VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.READ_VARIABLE_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.READ_VARIABLE_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.READ_VARIABLE_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.READ_VARIABLE_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.READ_VARIABLE_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.READ_VARIABLE_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.READ_VARIABLE_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.READ_VARIABLE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.READ_VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.READ_VARIABLE_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.READ_VARIABLE_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.READ_VARIABLE_ACTION__VARIABLE :
+ return basicGetVariable() != null;
+ case UMLPackage.READ_VARIABLE_ACTION__RESULT :
+ return basicGetResult() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.READ_VARIABLE_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.READ_VARIABLE_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.READ_VARIABLE_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.READ_VARIABLE_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.READ_VARIABLE_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.READ_VARIABLE_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.READ_VARIABLE_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.READ_VARIABLE_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.READ_VARIABLE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.READ_VARIABLE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.READ_VARIABLE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.READ_VARIABLE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.READ_VARIABLE_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.READ_VARIABLE_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.READ_VARIABLE_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.READ_VARIABLE_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.READ_VARIABLE_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.READ_VARIABLE_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.READ_VARIABLE_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.READ_VARIABLE_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.READ_VARIABLE_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.READ_VARIABLE_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.READ_VARIABLE_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.READ_VARIABLE_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.READ_VARIABLE_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_SCOPE_OF_VARIABLE__DIAGNOSTICCHAIN_MAP :
+ return validateScopeOfVariable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_TYPE_AND_ORDERING__DIAGNOSTICCHAIN_MAP :
+ return validateTypeAndOrdering(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_COMPATIBLE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateCompatibleMultiplicity(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.READ_VARIABLE_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.READ_VARIABLE_ACTION__RESULT);
+ }
+
+} //ReadVariableActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RealizationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RealizationImpl.java
new file mode 100644
index 00000000..13965142
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RealizationImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Realization</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class RealizationImpl
+ extends AbstractionImpl
+ implements Realization {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RealizationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.REALIZATION;
+ }
+
+} //RealizationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReceptionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReceptionImpl.java
new file mode 100644
index 00000000..e32e0be0
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReceptionImpl.java
@@ -0,0 +1,635 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.CallConcurrencyKind;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ReceptionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Reception</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReceptionImpl#getSignal <em>Signal</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReceptionImpl
+ extends BehavioralFeatureImpl
+ implements Reception {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReceptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.RECEPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Signal getSignal() {
+ return (Signal) eDynamicGet(
+ UMLPackage.RECEPTION__SIGNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.RECEPTION__SIGNAL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Signal basicGetSignal() {
+ return (Signal) eDynamicGet(
+ UMLPackage.RECEPTION__SIGNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.RECEPTION__SIGNAL, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSignal(Signal newSignal) {
+ eDynamicSet(UMLPackage.RECEPTION__SIGNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.RECEPTION__SIGNAL, newSignal);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSameNameAsSignal(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReceptionOperations.validateSameNameAsSignal(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSameStructureAsSignal(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReceptionOperations.validateSameStructureAsSignal(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.RECEPTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.RECEPTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.RECEPTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.RECEPTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.RECEPTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.RECEPTION__NAME :
+ return getName();
+ case UMLPackage.RECEPTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.RECEPTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.RECEPTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.RECEPTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.RECEPTION__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.RECEPTION__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.RECEPTION__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.RECEPTION__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.RECEPTION__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.RECEPTION__MEMBER :
+ return getMembers();
+ case UMLPackage.RECEPTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.RECEPTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.RECEPTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.RECEPTION__FEATURING_CLASSIFIER :
+ return getFeaturingClassifiers();
+ case UMLPackage.RECEPTION__IS_STATIC :
+ return isStatic();
+ case UMLPackage.RECEPTION__CONCURRENCY :
+ return getConcurrency();
+ case UMLPackage.RECEPTION__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.RECEPTION__METHOD :
+ return getMethods();
+ case UMLPackage.RECEPTION__OWNED_PARAMETER :
+ return getOwnedParameters();
+ case UMLPackage.RECEPTION__OWNED_PARAMETER_SET :
+ return getOwnedParameterSets();
+ case UMLPackage.RECEPTION__RAISED_EXCEPTION :
+ return getRaisedExceptions();
+ case UMLPackage.RECEPTION__SIGNAL :
+ if (resolve)
+ return getSignal();
+ return basicGetSignal();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.RECEPTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.RECEPTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.RECEPTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.RECEPTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.RECEPTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.RECEPTION__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.RECEPTION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.RECEPTION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.RECEPTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.RECEPTION__IS_STATIC :
+ setIsStatic((Boolean) newValue);
+ return;
+ case UMLPackage.RECEPTION__CONCURRENCY :
+ setConcurrency((CallConcurrencyKind) newValue);
+ return;
+ case UMLPackage.RECEPTION__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.RECEPTION__METHOD :
+ getMethods().clear();
+ getMethods().addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.RECEPTION__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ getOwnedParameters()
+ .addAll((Collection<? extends Parameter>) newValue);
+ return;
+ case UMLPackage.RECEPTION__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ getOwnedParameterSets()
+ .addAll((Collection<? extends ParameterSet>) newValue);
+ return;
+ case UMLPackage.RECEPTION__RAISED_EXCEPTION :
+ getRaisedExceptions().clear();
+ getRaisedExceptions()
+ .addAll((Collection<? extends Type>) newValue);
+ return;
+ case UMLPackage.RECEPTION__SIGNAL :
+ setSignal((Signal) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.RECEPTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.RECEPTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.RECEPTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.RECEPTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.RECEPTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.RECEPTION__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.RECEPTION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.RECEPTION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.RECEPTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.RECEPTION__IS_STATIC :
+ setIsStatic(IS_STATIC_EDEFAULT);
+ return;
+ case UMLPackage.RECEPTION__CONCURRENCY :
+ setConcurrency(CONCURRENCY_EDEFAULT);
+ return;
+ case UMLPackage.RECEPTION__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.RECEPTION__METHOD :
+ getMethods().clear();
+ return;
+ case UMLPackage.RECEPTION__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ return;
+ case UMLPackage.RECEPTION__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ return;
+ case UMLPackage.RECEPTION__RAISED_EXCEPTION :
+ getRaisedExceptions().clear();
+ return;
+ case UMLPackage.RECEPTION__SIGNAL :
+ setSignal((Signal) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.RECEPTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.RECEPTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.RECEPTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.RECEPTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.RECEPTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.RECEPTION__NAME :
+ return isSetName();
+ case UMLPackage.RECEPTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.RECEPTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.RECEPTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.RECEPTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.RECEPTION__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.RECEPTION__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.RECEPTION__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.RECEPTION__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.RECEPTION__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.RECEPTION__MEMBER :
+ return isSetMembers();
+ case UMLPackage.RECEPTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.RECEPTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.RECEPTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.RECEPTION__FEATURING_CLASSIFIER :
+ return isSetFeaturingClassifiers();
+ case UMLPackage.RECEPTION__IS_STATIC :
+ return isStatic() != IS_STATIC_EDEFAULT;
+ case UMLPackage.RECEPTION__CONCURRENCY :
+ return getConcurrency() != CONCURRENCY_EDEFAULT;
+ case UMLPackage.RECEPTION__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.RECEPTION__METHOD :
+ return !getMethods().isEmpty();
+ case UMLPackage.RECEPTION__OWNED_PARAMETER :
+ return !getOwnedParameters().isEmpty();
+ case UMLPackage.RECEPTION__OWNED_PARAMETER_SET :
+ return !getOwnedParameterSets().isEmpty();
+ case UMLPackage.RECEPTION__RAISED_EXCEPTION :
+ return !getRaisedExceptions().isEmpty();
+ case UMLPackage.RECEPTION__SIGNAL :
+ return basicGetSignal() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.RECEPTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.RECEPTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECEPTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECEPTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.RECEPTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.RECEPTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.RECEPTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.RECEPTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.RECEPTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.RECEPTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.RECEPTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.RECEPTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.RECEPTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.RECEPTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.RECEPTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.RECEPTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.RECEPTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.RECEPTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.RECEPTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.RECEPTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.RECEPTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.RECEPTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.RECEPTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.RECEPTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.RECEPTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.RECEPTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.RECEPTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.RECEPTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.RECEPTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.RECEPTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.RECEPTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.RECEPTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.RECEPTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.RECEPTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.RECEPTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.RECEPTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.RECEPTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.RECEPTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECEPTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECEPTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECEPTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.RECEPTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.RECEPTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.RECEPTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.RECEPTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.RECEPTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.RECEPTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.RECEPTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.RECEPTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.RECEPTION___SEPARATOR :
+ return separator();
+ case UMLPackage.RECEPTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.RECEPTION___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECEPTION___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECEPTION___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECEPTION___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.RECEPTION___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.RECEPTION___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.RECEPTION___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.RECEPTION___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.RECEPTION___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.RECEPTION___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.RECEPTION___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.RECEPTION___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.RECEPTION___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.RECEPTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECEPTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECEPTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECEPTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.RECEPTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.RECEPTION___VALIDATE_ABSTRACT_NO_METHOD__DIAGNOSTICCHAIN_MAP :
+ return validateAbstractNoMethod(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECEPTION___CREATE_RETURN_RESULT__STRING_TYPE :
+ return createReturnResult((String) arguments.get(0),
+ (Type) arguments.get(1));
+ case UMLPackage.RECEPTION___INPUT_PARAMETERS :
+ return inputParameters();
+ case UMLPackage.RECEPTION___OUTPUT_PARAMETERS :
+ return outputParameters();
+ case UMLPackage.RECEPTION___VALIDATE_SAME_NAME_AS_SIGNAL__DIAGNOSTICCHAIN_MAP :
+ return validateSameNameAsSignal(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECEPTION___VALIDATE_SAME_STRUCTURE_AS_SIGNAL__DIAGNOSTICCHAIN_MAP :
+ return validateSameStructureAsSignal(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ReceptionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReclassifyObjectActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReclassifyObjectActionImpl.java
new file mode 100644
index 00000000..e550b82f
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReclassifyObjectActionImpl.java
@@ -0,0 +1,930 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ReclassifyObjectActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Reclassify Object Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReclassifyObjectActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReclassifyObjectActionImpl#isReplaceAll <em>Is Replace All</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReclassifyObjectActionImpl#getNewClassifiers <em>New Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReclassifyObjectActionImpl#getObject <em>Object</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReclassifyObjectActionImpl#getOldClassifiers <em>Old Classifier</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReclassifyObjectActionImpl
+ extends ActionImpl
+ implements ReclassifyObjectAction {
+
+ /**
+ * The default value of the '{@link #isReplaceAll() <em>Is Replace All</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReplaceAll()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REPLACE_ALL_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReclassifyObjectActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.RECLASSIFY_OBJECT_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.RECLASSIFY_OBJECT_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.RECLASSIFY_OBJECT_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isReplaceAll() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_REPLACE_ALL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.RECLASSIFY_OBJECT_ACTION__IS_REPLACE_ALL, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsReplaceAll(boolean newIsReplaceAll) {
+ eDynamicSet(
+ UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_REPLACE_ALL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.RECLASSIFY_OBJECT_ACTION__IS_REPLACE_ALL,
+ newIsReplaceAll);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getOldClassifiers() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.RECLASSIFY_OBJECT_ACTION__OLD_CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.RECLASSIFY_OBJECT_ACTION__OLD_CLASSIFIER, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getOldClassifier(String name) {
+ return getOldClassifier(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getOldClassifier(String name, boolean ignoreCase,
+ EClass eClass) {
+ oldClassifierLoop : for (Classifier oldClassifier : getOldClassifiers()) {
+ if (eClass != null && !eClass.isInstance(oldClassifier))
+ continue oldClassifierLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(oldClassifier.getName())
+ : name.equals(oldClassifier.getName())))
+ continue oldClassifierLoop;
+ return oldClassifier;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getNewClassifiers() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.RECLASSIFY_OBJECT_ACTION__NEW_CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.RECLASSIFY_OBJECT_ACTION__NEW_CLASSIFIER, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getNewClassifier(String name) {
+ return getNewClassifier(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getNewClassifier(String name, boolean ignoreCase,
+ EClass eClass) {
+ newClassifierLoop : for (Classifier newClassifier : getNewClassifiers()) {
+ if (eClass != null && !eClass.isInstance(newClassifier))
+ continue newClassifierLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(newClassifier.getName())
+ : name.equals(newClassifier.getName())))
+ continue newClassifierLoop;
+ return newClassifier;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.RECLASSIFY_OBJECT_ACTION__OBJECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.RECLASSIFY_OBJECT_ACTION__OBJECT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.RECLASSIFY_OBJECT_ACTION__OBJECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.RECLASSIFY_OBJECT_ACTION__OBJECT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObject(InputPin newObject,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newObject,
+ UMLPackage.RECLASSIFY_OBJECT_ACTION__OBJECT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObject(InputPin newObject) {
+ eDynamicSet(
+ UMLPackage.RECLASSIFY_OBJECT_ACTION__OBJECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.RECLASSIFY_OBJECT_ACTION__OBJECT, newObject);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type, EClass eClass) {
+ InputPin newObject = (InputPin) create(eClass);
+ setObject(newObject);
+ if (name != null)
+ newObject.setName(name);
+ if (type != null)
+ newObject.setType(type);
+ return newObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type) {
+ return createObject(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClassifierNotAbstract(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReclassifyObjectActionOperations
+ .validateClassifierNotAbstract(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReclassifyObjectActionOperations.validateMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInputPin(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReclassifyObjectActionOperations.validateInputPin(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NAME :
+ return getName();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_REPLACE_ALL :
+ return isReplaceAll();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NEW_CLASSIFIER :
+ return getNewClassifiers();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OLD_CLASSIFIER :
+ return getOldClassifiers();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_REPLACE_ALL :
+ setIsReplaceAll((Boolean) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NEW_CLASSIFIER :
+ getNewClassifiers().clear();
+ getNewClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OLD_CLASSIFIER :
+ getOldClassifiers().clear();
+ getOldClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_REPLACE_ALL :
+ setIsReplaceAll(IS_REPLACE_ALL_EDEFAULT);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NEW_CLASSIFIER :
+ getNewClassifiers().clear();
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OLD_CLASSIFIER :
+ getOldClassifiers().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_REPLACE_ALL :
+ return isReplaceAll() != IS_REPLACE_ALL_EDEFAULT;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__NEW_CLASSIFIER :
+ return !getNewClassifiers().isEmpty();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OBJECT :
+ return basicGetObject() != null;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OLD_CLASSIFIER :
+ return !getOldClassifiers().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateInputPin((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_CLASSIFIER_NOT_ABSTRACT__DIAGNOSTICCHAIN_MAP :
+ return validateClassifierNotAbstract(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.RECLASSIFY_OBJECT_ACTION__OBJECT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.RECLASSIFY_OBJECT_ACTION__OBJECT);
+ }
+
+} //ReclassifyObjectActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RedefinableElementImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RedefinableElementImpl.java
new file mode 100644
index 00000000..16944b34
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RedefinableElementImpl.java
@@ -0,0 +1,631 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedEObjectEList;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.RedefinableElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Redefinable Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RedefinableElementImpl#getRedefinedElements <em>Redefined Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RedefinableElementImpl#getRedefinitionContexts <em>Redefinition Context</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RedefinableElementImpl#isLeaf <em>Is Leaf</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class RedefinableElementImpl
+ extends NamedElementImpl
+ implements RedefinableElement {
+
+ /**
+ * The default value of the '{@link #isLeaf() <em>Is Leaf</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLeaf()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_LEAF_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RedefinableElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.REDEFINABLE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RedefinableElement> getRedefinedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<RedefinableElement> redefinedElements = (EList<RedefinableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT);
+ if (redefinedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT,
+ redefinedElements = new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT,
+ null));
+ }
+ return redefinedElements;
+ }
+ return new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableElement getRedefinedElement(String name) {
+ return getRedefinedElement(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableElement getRedefinedElement(String name,
+ boolean ignoreCase, EClass eClass) {
+ redefinedElementLoop : for (RedefinableElement redefinedElement : getRedefinedElements()) {
+ if (eClass != null && !eClass.isInstance(redefinedElement))
+ continue redefinedElementLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedElement.getName())
+ : name.equals(redefinedElement.getName())))
+ continue redefinedElementLoop;
+ return redefinedElement;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Classifier> getRedefinitionContextsGen() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> redefinitionContexts = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+ if (redefinitionContexts == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ null));
+ }
+ return redefinitionContexts;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT, null);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinitionContexts() <em>Redefinition Context</em>}' reference list.
+ * @see #getRedefinitionContexts()
+ */
+ protected static final int[] REDEFINITION_CONTEXT_ESUBSETS = new int[]{
+ UMLPackage.REDEFINABLE_ELEMENT__OWNER};
+
+ public EList<Classifier> getRedefinitionContexts() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> redefinitionContexts = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+ if (redefinitionContexts == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts = new DerivedEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS));
+ }
+ return redefinitionContexts;
+ }
+ return new DerivedEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinitionContext(String name) {
+ return getRedefinitionContext(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinitionContext(String name, boolean ignoreCase,
+ EClass eClass) {
+ redefinitionContextLoop : for (Classifier redefinitionContext : getRedefinitionContexts()) {
+ if (eClass != null && !eClass.isInstance(redefinitionContext))
+ continue redefinitionContextLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinitionContext.getName())
+ : name.equals(redefinitionContext.getName())))
+ continue redefinitionContextLoop;
+ return redefinitionContext;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isLeaf() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__IS_LEAF, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsLeaf(boolean newIsLeaf) {
+ eDynamicSet(
+ UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__IS_LEAF, newIsLeaf);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinitionContextValid(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations
+ .validateRedefinitionContextValid(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinitionConsistent(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations.validateRedefinitionConsistent(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNonLeafRedefinition(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations.validateNonLeafRedefinition(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRedefinitionContextValid(
+ RedefinableElement redefinedElement) {
+ return RedefinableElementOperations.isRedefinitionContextValid(this,
+ redefinedElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.REDEFINABLE_ELEMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.REDEFINABLE_ELEMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.REDEFINABLE_ELEMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.REDEFINABLE_ELEMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.REDEFINABLE_ELEMENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.REDEFINABLE_ELEMENT__NAME :
+ return getName();
+ case UMLPackage.REDEFINABLE_ELEMENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.REDEFINABLE_ELEMENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.REDEFINABLE_ELEMENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REDEFINABLE_ELEMENT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.REDEFINABLE_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_ELEMENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_ELEMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_ELEMENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REDEFINABLE_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.REDEFINABLE_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.REDEFINABLE_ELEMENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.REDEFINABLE_ELEMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.REDEFINABLE_ELEMENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REDEFINABLE_ELEMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.REDEFINABLE_ELEMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.REDEFINABLE_ELEMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.REDEFINABLE_ELEMENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.REDEFINABLE_ELEMENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.REDEFINABLE_ELEMENT__NAME :
+ return isSetName();
+ case UMLPackage.REDEFINABLE_ELEMENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.REDEFINABLE_ELEMENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.REDEFINABLE_ELEMENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.REDEFINABLE_ELEMENT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_ELEMENT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_MODEL :
+ return getModel();
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REDEFINABLE_ELEMENT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.REDEFINABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.REDEFINABLE_ELEMENT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.REDEFINABLE_ELEMENT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.REDEFINABLE_ELEMENT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REDEFINABLE_ELEMENT___SEPARATOR :
+ return separator();
+ case UMLPackage.REDEFINABLE_ELEMENT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isConsistentWith(RedefinableElement redefiningElement) {
+ return RedefinableElementOperations.isConsistentWith(this,
+ redefiningElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRedefinedElements() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRedefinitionContextsGen() {
+ return false;
+ }
+
+ public boolean isSetRedefinitionContexts() {
+ return getOwner() instanceof Classifier;
+ }
+
+} //RedefinableElementImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RedefinableTemplateSignatureImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RedefinableTemplateSignatureImpl.java
new file mode 100644
index 00000000..83230e84
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RedefinableTemplateSignatureImpl.java
@@ -0,0 +1,1161 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 386760, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentWithInverseEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TemplateableElement;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.RedefinableTemplateSignatureOperations;
+import org.eclipse.uml2.uml.internal.operations.TemplateSignatureOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Redefinable Template Signature</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RedefinableTemplateSignatureImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RedefinableTemplateSignatureImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RedefinableTemplateSignatureImpl#getParameters <em>Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RedefinableTemplateSignatureImpl#getOwnedParameters <em>Owned Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RedefinableTemplateSignatureImpl#getRedefinedElements <em>Redefined Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RedefinableTemplateSignatureImpl#getRedefinitionContexts <em>Redefinition Context</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RedefinableTemplateSignatureImpl#getExtendedSignatures <em>Extended Signature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RedefinableTemplateSignatureImpl#getInheritedParameters <em>Inherited Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RedefinableTemplateSignatureImpl#getClassifier <em>Classifier</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RedefinableTemplateSignatureImpl
+ extends RedefinableElementImpl
+ implements RedefinableTemplateSignature {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RedefinableTemplateSignatureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.REDEFINABLE_TEMPLATE_SIGNATURE;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.TEMPLATE_SIGNATURE__PARAMETER) {
+ return createParametersList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.TEMPLATE_SIGNATURE__OWNED_PARAMETER) {
+ return createOwnedParametersList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<TemplateParameter> getParameters() {
+ return (EList<TemplateParameter>) eDynamicGet(
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_SIGNATURE__PARAMETER, true, true);
+ }
+
+ private EList<TemplateParameter> createParametersList() {
+ return new SubsetSupersetEObjectResolvingEList<TemplateParameter>(
+ TemplateParameter.class, this,
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__PARAMETER, null,
+ PARAMETER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateableElement getTemplate() {
+ return getClassifier();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateableElement basicGetTemplate() {
+ return basicGetClassifier();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public NotificationChain basicSetTemplate(TemplateableElement newTemplate,
+ NotificationChain msgs) {
+
+ if (newTemplate != null && !(newTemplate instanceof Classifier)) {
+ throw new IllegalArgumentException(
+ "newTemplate must be an instance of Classifier"); //$NON-NLS-1$
+ }
+
+ return basicSetClassifier((Classifier) newTemplate, msgs);
+ }
+
+ public NotificationChain basicSetClassifier(Classifier newClassifier,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newClassifier,
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__CLASSIFIER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void setTemplate(TemplateableElement newTemplate) {
+
+ if (newTemplate != null && !(newTemplate instanceof Classifier)) {
+ throw new IllegalArgumentException(
+ "newTemplate must be an instance of Classifier"); //$NON-NLS-1$
+ }
+
+ if (newTemplate != eInternalContainer()
+ || (eContainerFeatureID() != UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE
+ && newTemplate != null)) {
+ if (EcoreUtil.isAncestor(this, newTemplate))
+ throw new IllegalArgumentException(
+ "Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newTemplate != null)
+ msgs = ((InternalEObject) newTemplate).eInverseAdd(this,
+ UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ TemplateableElement.class, msgs);
+ msgs = basicSetTemplate(newTemplate, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE,
+ newTemplate, newTemplate));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetTemplate() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<TemplateParameter> getOwnedParameters() {
+ return (EList<TemplateParameter>) eDynamicGet(
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_SIGNATURE__OWNED_PARAMETER, true,
+ true);
+ }
+
+ private EList<TemplateParameter> createOwnedParametersList() {
+ return new SubsetSupersetEObjectContainmentWithInverseEList.Resolving<TemplateParameter>(
+ TemplateParameter.class, this,
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER,
+ OWNED_PARAMETER_ESUPERSETS, null,
+ UMLPackage.TEMPLATE_PARAMETER__SIGNATURE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter createOwnedParameter(EClass eClass) {
+ TemplateParameter newOwnedParameter = (TemplateParameter) create(
+ eClass);
+ getOwnedParameters().add(newOwnedParameter);
+ return newOwnedParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter createOwnedParameter() {
+ return createOwnedParameter(UMLPackage.Literals.TEMPLATE_PARAMETER);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<RedefinableElement> getRedefinedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<RedefinableElement> redefinedElements = (EList<RedefinableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT);
+ if (redefinedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT,
+ redefinedElements = new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS));
+ }
+ return redefinedElements;
+ }
+ return new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Classifier> getRedefinitionContexts() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Classifier> redefinitionContexts = (EList<Classifier>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+ if (redefinitionContexts == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts = new DerivedUnionEObjectEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS));
+ }
+ return redefinitionContexts;
+ }
+ return new DerivedUnionEObjectEList<Classifier>(Classifier.class, this,
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__REDEFINITION_CONTEXT,
+ REDEFINITION_CONTEXT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<RedefinableTemplateSignature> getExtendedSignatures() {
+ return (EList<RedefinableTemplateSignature>) eDynamicGet(
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__EXTENDED_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDEFINABLE_TEMPLATE_SIGNATURE__EXTENDED_SIGNATURE,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableTemplateSignature getExtendedSignature(String name) {
+ return getExtendedSignature(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableTemplateSignature getExtendedSignature(String name,
+ boolean ignoreCase) {
+ extendedSignatureLoop : for (RedefinableTemplateSignature extendedSignature : getExtendedSignatures()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(extendedSignature.getName())
+ : name.equals(extendedSignature.getName())))
+ continue extendedSignatureLoop;
+ return extendedSignature;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TemplateParameter> getInheritedParameters() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<TemplateParameter> result = (EList<TemplateParameter>) cache
+ .get(this,
+ UMLPackage.Literals.REDEFINABLE_TEMPLATE_SIGNATURE__INHERITED_PARAMETER);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.REDEFINABLE_TEMPLATE_SIGNATURE__INHERITED_PARAMETER,
+ result = RedefinableTemplateSignatureOperations
+ .getInheritedParameters(this));
+ }
+ return result;
+ }
+ return RedefinableTemplateSignatureOperations
+ .getInheritedParameters(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getClassifier() {
+ Classifier classifier = basicGetClassifier();
+ return classifier != null && classifier.eIsProxy()
+ ? (Classifier) eResolveProxy((InternalEObject) classifier)
+ : classifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Classifier basicGetClassifier() {
+ if (eContainerFeatureID() != UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__CLASSIFIER)
+ return null;
+ return (Classifier) eInternalContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetClassifier() {
+ return basicGetClassifier() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOwnElements(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TemplateSignatureOperations.validateOwnElements(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUniqueParameters(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TemplateSignatureOperations.validateUniqueParameters(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinesParents(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableTemplateSignatureOperations
+ .validateRedefinesParents(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isConsistentWith(RedefinableElement redefiningElement) {
+ return RedefinableTemplateSignatureOperations.isConsistentWith(this,
+ redefiningElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetTemplate((TemplateableElement) otherEnd, msgs);
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedParameters())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE :
+ return basicSetTemplate(null, msgs);
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ return ((InternalEList<?>) getOwnedParameters())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__CLASSIFIER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ TemplateableElement.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__NAME :
+ return getName();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__PARAMETER :
+ return getParameters();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE :
+ if (resolve)
+ return getTemplate();
+ return basicGetTemplate();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ return getOwnedParameters();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__EXTENDED_SIGNATURE :
+ return getExtendedSignatures();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__INHERITED_PARAMETER :
+ return getInheritedParameters();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__CLASSIFIER :
+ if (resolve)
+ return getClassifier();
+ return basicGetClassifier();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__PARAMETER :
+ getParameters().clear();
+ getParameters()
+ .addAll((Collection<? extends TemplateParameter>) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE :
+ setTemplate((TemplateableElement) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ getOwnedParameters()
+ .addAll((Collection<? extends TemplateParameter>) newValue);
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__EXTENDED_SIGNATURE :
+ getExtendedSignatures().clear();
+ getExtendedSignatures().addAll(
+ (Collection<? extends RedefinableTemplateSignature>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ @Override
+ public void eDynamicSet(int featureID, Object newValue) {
+
+ if (featureID == UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__CLASSIFIER) {
+ ((Classifier) newValue).setOwnedTemplateSignature(this);
+ return;
+ }
+
+ super.eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__PARAMETER :
+ getParameters().clear();
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE :
+ setTemplate((TemplateableElement) null);
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ return;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__EXTENDED_SIGNATURE :
+ getExtendedSignatures().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNER :
+ return isSetOwner();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__NAME :
+ return isSetName();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__PARAMETER :
+ return !getParameters().isEmpty();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE :
+ return isSetTemplate();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ return !getOwnedParameters().isEmpty();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__EXTENDED_SIGNATURE :
+ return !getExtendedSignatures().isEmpty();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__INHERITED_PARAMETER :
+ return !getInheritedParameters().isEmpty();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__CLASSIFIER :
+ return isSetClassifier();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == TemplateSignature.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__PARAMETER :
+ return UMLPackage.TEMPLATE_SIGNATURE__PARAMETER;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE :
+ return UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ return UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == TemplateSignature.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.TEMPLATE_SIGNATURE__PARAMETER :
+ return UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__PARAMETER;
+ case UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE :
+ return UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE;
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ return UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == TemplateSignature.class) {
+ switch (baseOperationID) {
+ case UMLPackage.TEMPLATE_SIGNATURE___VALIDATE_OWN_ELEMENTS__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_OWN_ELEMENTS__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.TEMPLATE_SIGNATURE___VALIDATE_UNIQUE_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_UNIQUE_PARAMETERS__DIAGNOSTICCHAIN_MAP;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_MODEL :
+ return getModel();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___SEPARATOR :
+ return separator();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_OWN_ELEMENTS__DIAGNOSTICCHAIN_MAP :
+ return validateOwnElements((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_UNIQUE_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+ return validateUniqueParameters(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_REDEFINES_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinesParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___GET_INHERITED_PARAMETERS :
+ return getInheritedParameters();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_COMMENT,
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__NAME_EXPRESSION,
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getParameters() <em>Parameter</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParameters()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] PARAMETER_ESUBSETS = new int[]{
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getOwnedParameters() <em>Owned Parameter</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedParameters()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_PARAMETER_ESUPERSETS = new int[]{
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__PARAMETER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public Element basicGetOwner() {
+ if (isSetClassifier()) {
+ return basicGetClassifier();
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner() || isSetTemplate();
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedElements() <em>Redefined Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__EXTENDED_SIGNATURE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements() || eIsSet(
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetRedefinedElements() {
+ return super.isSetRedefinedElements() || eIsSet(
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__EXTENDED_SIGNATURE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinitionContexts() <em>Redefinition Context</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinitionContexts()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINITION_CONTEXT_ESUBSETS = new int[]{
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__CLASSIFIER};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getInheritedParameters() <em>Inherited Parameter</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInheritedParameters()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INHERITED_PARAMETER_ESUPERSETS = new int[]{
+ UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__PARAMETER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetRedefinitionContexts() {
+ return super.isSetRedefinitionContexts() || isSetClassifier();
+ }
+
+ @Override
+ public EReference eContainmentFeature() {
+ return eContainerFeatureID() == UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__CLASSIFIER
+ ? UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE
+ : super.eContainmentFeature();
+ }
+
+ @Override
+ public EStructuralFeature eContainingFeature() {
+ return eContainerFeatureID() == UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__CLASSIFIER
+ ? UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE
+ : super.eContainingFeature();
+ }
+
+} //RedefinableTemplateSignatureImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReduceActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReduceActionImpl.java
new file mode 100644
index 00000000..a05f513a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReduceActionImpl.java
@@ -0,0 +1,984 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ReduceActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Reduce Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReduceActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReduceActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReduceActionImpl#getCollection <em>Collection</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReduceActionImpl#isOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReduceActionImpl#getReducer <em>Reducer</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReduceActionImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReduceActionImpl
+ extends ActionImpl
+ implements ReduceAction {
+
+ /**
+ * The default value of the '{@link #isOrdered() <em>Is Ordered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOrdered()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ORDERED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReduceActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.REDUCE_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this, UMLPackage.REDUCE_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.REDUCE_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this, UMLPackage.REDUCE_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.REDUCE_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getReducer() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.REDUCE_ACTION__REDUCER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDUCE_ACTION__REDUCER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetReducer() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.REDUCE_ACTION__REDUCER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDUCE_ACTION__REDUCER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReducer(Behavior newReducer) {
+ eDynamicSet(UMLPackage.REDUCE_ACTION__REDUCER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDUCE_ACTION__REDUCER, newReducer);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.REDUCE_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDUCE_ACTION__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.REDUCE_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDUCE_ACTION__RESULT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.REDUCE_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(UMLPackage.REDUCE_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDUCE_ACTION__RESULT, newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getCollection() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.REDUCE_ACTION__COLLECTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDUCE_ACTION__COLLECTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetCollection() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.REDUCE_ACTION__COLLECTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDUCE_ACTION__COLLECTION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCollection(InputPin newCollection,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newCollection,
+ UMLPackage.REDUCE_ACTION__COLLECTION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCollection(InputPin newCollection) {
+ eDynamicSet(
+ UMLPackage.REDUCE_ACTION__COLLECTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDUCE_ACTION__COLLECTION, newCollection);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createCollection(String name, Type type, EClass eClass) {
+ InputPin newCollection = (InputPin) create(eClass);
+ setCollection(newCollection);
+ if (name != null)
+ newCollection.setName(name);
+ if (type != null)
+ newCollection.setType(type);
+ return newCollection;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createCollection(String name, Type type) {
+ return createCollection(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOrdered() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.REDUCE_ACTION__IS_ORDERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDUCE_ACTION__IS_ORDERED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsOrdered(boolean newIsOrdered) {
+ eDynamicSet(
+ UMLPackage.REDUCE_ACTION__IS_ORDERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDUCE_ACTION__IS_ORDERED, newIsOrdered);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInputTypeIsCollection(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReduceActionOperations.validateInputTypeIsCollection(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOutputTypesAreCompatible(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReduceActionOperations.validateOutputTypesAreCompatible(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateReducerInputsOutput(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReduceActionOperations.validateReducerInputsOutput(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.REDUCE_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REDUCE_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REDUCE_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.REDUCE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REDUCE_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.REDUCE_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.REDUCE_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.REDUCE_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REDUCE_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.REDUCE_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REDUCE_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REDUCE_ACTION__COLLECTION :
+ return basicSetCollection(null, msgs);
+ case UMLPackage.REDUCE_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.REDUCE_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.REDUCE_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.REDUCE_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.REDUCE_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.REDUCE_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.REDUCE_ACTION__NAME :
+ return getName();
+ case UMLPackage.REDUCE_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.REDUCE_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.REDUCE_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REDUCE_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.REDUCE_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.REDUCE_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.REDUCE_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.REDUCE_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.REDUCE_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.REDUCE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.REDUCE_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.REDUCE_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.REDUCE_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.REDUCE_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.REDUCE_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.REDUCE_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.REDUCE_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.REDUCE_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.REDUCE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.REDUCE_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.REDUCE_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.REDUCE_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.REDUCE_ACTION__COLLECTION :
+ if (resolve)
+ return getCollection();
+ return basicGetCollection();
+ case UMLPackage.REDUCE_ACTION__IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.REDUCE_ACTION__REDUCER :
+ if (resolve)
+ return getReducer();
+ return basicGetReducer();
+ case UMLPackage.REDUCE_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.REDUCE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__COLLECTION :
+ setCollection((InputPin) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__IS_ORDERED :
+ setIsOrdered((Boolean) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__REDUCER :
+ setReducer((Behavior) newValue);
+ return;
+ case UMLPackage.REDUCE_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REDUCE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.REDUCE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.REDUCE_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.REDUCE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.REDUCE_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.REDUCE_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.REDUCE_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.REDUCE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.REDUCE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.REDUCE_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.REDUCE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.REDUCE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.REDUCE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.REDUCE_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.REDUCE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.REDUCE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.REDUCE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.REDUCE_ACTION__COLLECTION :
+ setCollection((InputPin) null);
+ return;
+ case UMLPackage.REDUCE_ACTION__IS_ORDERED :
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case UMLPackage.REDUCE_ACTION__REDUCER :
+ setReducer((Behavior) null);
+ return;
+ case UMLPackage.REDUCE_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REDUCE_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.REDUCE_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.REDUCE_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.REDUCE_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.REDUCE_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.REDUCE_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.REDUCE_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.REDUCE_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.REDUCE_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.REDUCE_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.REDUCE_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.REDUCE_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.REDUCE_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.REDUCE_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.REDUCE_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.REDUCE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.REDUCE_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.REDUCE_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.REDUCE_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.REDUCE_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.REDUCE_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.REDUCE_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.REDUCE_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.REDUCE_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.REDUCE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.REDUCE_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.REDUCE_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.REDUCE_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.REDUCE_ACTION__COLLECTION :
+ return basicGetCollection() != null;
+ case UMLPackage.REDUCE_ACTION__IS_ORDERED :
+ return isOrdered() != IS_ORDERED_EDEFAULT;
+ case UMLPackage.REDUCE_ACTION__REDUCER :
+ return basicGetReducer() != null;
+ case UMLPackage.REDUCE_ACTION__RESULT :
+ return basicGetResult() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.REDUCE_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.REDUCE_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.REDUCE_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.REDUCE_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.REDUCE_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.REDUCE_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.REDUCE_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.REDUCE_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.REDUCE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.REDUCE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.REDUCE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.REDUCE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.REDUCE_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.REDUCE_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.REDUCE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.REDUCE_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.REDUCE_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.REDUCE_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.REDUCE_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REDUCE_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.REDUCE_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.REDUCE_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.REDUCE_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.REDUCE_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.REDUCE_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.REDUCE_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.REDUCE_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.REDUCE_ACTION___VALIDATE_REDUCER_INPUTS_OUTPUT__DIAGNOSTICCHAIN_MAP :
+ return validateReducerInputsOutput(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___VALIDATE_INPUT_TYPE_IS_COLLECTION__DIAGNOSTICCHAIN_MAP :
+ return validateInputTypeIsCollection(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REDUCE_ACTION___VALIDATE_OUTPUT_TYPES_ARE_COMPATIBLE__DIAGNOSTICCHAIN_MAP :
+ return validateOutputTypesAreCompatible(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs() || eIsSet(UMLPackage.REDUCE_ACTION__RESULT);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.REDUCE_ACTION__COLLECTION};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.REDUCE_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.REDUCE_ACTION__COLLECTION);
+ }
+
+} //ReduceActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RegionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RegionImpl.java
new file mode 100644
index 00000000..9e04ad2d
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RegionImpl.java
@@ -0,0 +1,1380 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.EcoreEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Vertex;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.RedefinableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.RegionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Region</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RegionImpl#getRedefinedElements <em>Redefined Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RegionImpl#getRedefinitionContexts <em>Redefinition Context</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RegionImpl#isLeaf <em>Is Leaf</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RegionImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RegionImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RegionImpl#getExtendedRegion <em>Extended Region</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RegionImpl#getState <em>State</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RegionImpl#getStateMachine <em>State Machine</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RegionImpl#getTransitions <em>Transition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RegionImpl#getSubvertices <em>Subvertex</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RegionImpl
+ extends NamespaceImpl
+ implements Region {
+
+ /**
+ * The default value of the '{@link #isLeaf() <em>Is Leaf</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLeaf()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_LEAF_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RegionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.REGION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RedefinableElement> getRedefinedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<RedefinableElement> redefinedElements = (EList<RedefinableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT);
+ if (redefinedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT,
+ redefinedElements = new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.REGION__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS));
+ }
+ return redefinedElements;
+ }
+ return new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.REGION__REDEFINED_ELEMENT, REDEFINED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList<Classifier> getRedefinitionContexts() {
+ CacheAdapter cache = getCacheAdapter();
+
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Classifier> result = (EList<Classifier>) cache.get(this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+
+ if (result == null) {
+ Classifier redefinitionContext = redefinitionContext();
+ List<Classifier> redefinitionContexts = redefinitionContext == null
+ ? Collections.<Classifier> emptyList()
+ : Collections.singletonList(redefinitionContext);
+ cache.put(this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ result = new EcoreEList.UnmodifiableEList<Classifier>(this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts.size(),
+ redefinitionContexts.toArray()));
+ }
+
+ return result;
+ }
+
+ Classifier redefinitionContext = redefinitionContext();
+ List<Classifier> redefinitionContexts = redefinitionContext == null
+ ? Collections.<Classifier> emptyList()
+ : Collections.singletonList(redefinitionContext);
+ return new EcoreEList.UnmodifiableEList<Classifier>(this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts.size(), redefinitionContexts.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinitionContext(String name) {
+ return getRedefinitionContext(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinitionContext(String name, boolean ignoreCase,
+ EClass eClass) {
+ redefinitionContextLoop : for (Classifier redefinitionContext : getRedefinitionContexts()) {
+ if (eClass != null && !eClass.isInstance(redefinitionContext))
+ continue redefinitionContextLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinitionContext.getName())
+ : name.equals(redefinitionContext.getName())))
+ continue redefinitionContextLoop;
+ return redefinitionContext;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRedefinitionContexts() {
+ return !getRedefinitionContexts().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isLeaf() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.REGION__IS_LEAF - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__IS_LEAF, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsLeaf(boolean newIsLeaf) {
+ eDynamicSet(UMLPackage.REGION__IS_LEAF - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__IS_LEAF, newIsLeaf);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.REGION__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.REGION__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Vertex> getSubvertices() {
+ return (EList<Vertex>) eDynamicGet(
+ UMLPackage.REGION__SUBVERTEX - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REGION__SUBVERTEX, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Vertex createSubvertex(String name, EClass eClass) {
+ Vertex newSubvertex = (Vertex) create(eClass);
+ getSubvertices().add(newSubvertex);
+ if (name != null)
+ newSubvertex.setName(name);
+ return newSubvertex;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Vertex getSubvertex(String name) {
+ return getSubvertex(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Vertex getSubvertex(String name, boolean ignoreCase, EClass eClass,
+ boolean createOnDemand) {
+ subvertexLoop : for (Vertex subvertex : getSubvertices()) {
+ if (eClass != null && !eClass.isInstance(subvertex))
+ continue subvertexLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(subvertex.getName())
+ : name.equals(subvertex.getName())))
+ continue subvertexLoop;
+ return subvertex;
+ }
+ return createOnDemand && eClass != null
+ ? createSubvertex(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Transition> getTransitions() {
+ return (EList<Transition>) eDynamicGet(
+ UMLPackage.REGION__TRANSITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REGION__TRANSITION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition createTransition(String name, EClass eClass) {
+ Transition newTransition = (Transition) create(eClass);
+ getTransitions().add(newTransition);
+ if (name != null)
+ newTransition.setName(name);
+ return newTransition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition createTransition(String name) {
+ return createTransition(name, UMLPackage.Literals.TRANSITION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition getTransition(String name) {
+ return getTransition(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition getTransition(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ transitionLoop : for (Transition transition : getTransitions()) {
+ if (eClass != null && !eClass.isInstance(transition))
+ continue transitionLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(transition.getName())
+ : name.equals(transition.getName())))
+ continue transitionLoop;
+ return transition;
+ }
+ return createOnDemand && eClass != null
+ ? createTransition(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State getState() {
+ return (State) eDynamicGet(
+ UMLPackage.REGION__STATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REGION__STATE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State basicGetState() {
+ return (State) eDynamicGet(
+ UMLPackage.REGION__STATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REGION__STATE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetState(State newState,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newState,
+ UMLPackage.REGION__STATE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setState(State newState) {
+ eDynamicSet(UMLPackage.REGION__STATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REGION__STATE, newState);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region getExtendedRegion() {
+ return (Region) eDynamicGet(
+ UMLPackage.REGION__EXTENDED_REGION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REGION__EXTENDED_REGION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region basicGetExtendedRegion() {
+ return (Region) eDynamicGet(
+ UMLPackage.REGION__EXTENDED_REGION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REGION__EXTENDED_REGION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExtendedRegion(Region newExtendedRegion) {
+ eDynamicSet(UMLPackage.REGION__EXTENDED_REGION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REGION__EXTENDED_REGION, newExtendedRegion);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachine getStateMachine() {
+ return (StateMachine) eDynamicGet(
+ UMLPackage.REGION__STATE_MACHINE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REGION__STATE_MACHINE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachine basicGetStateMachine() {
+ return (StateMachine) eDynamicGet(
+ UMLPackage.REGION__STATE_MACHINE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REGION__STATE_MACHINE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetStateMachine(StateMachine newStateMachine,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newStateMachine,
+ UMLPackage.REGION__STATE_MACHINE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStateMachine(StateMachine newStateMachine) {
+ eDynamicSet(UMLPackage.REGION__STATE_MACHINE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REGION__STATE_MACHINE, newStateMachine);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinitionContextValid(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations
+ .validateRedefinitionContextValid(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinitionConsistent(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations.validateRedefinitionConsistent(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNonLeafRedefinition(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations.validateNonLeafRedefinition(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRedefinitionContextValid(
+ RedefinableElement redefinedElement) {
+ return RegionOperations.isRedefinitionContextValid(this,
+ redefinedElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isConsistentWith(RedefinableElement redefiningElement) {
+ return RegionOperations.isConsistentWith(this, redefiningElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInitialVertex(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RegionOperations.validateInitialVertex(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDeepHistoryVertex(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RegionOperations.validateDeepHistoryVertex(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateShallowHistoryVertex(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RegionOperations.validateShallowHistoryVertex(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOwned(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RegionOperations.validateOwned(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier redefinitionContext() {
+ return RegionOperations.redefinitionContext(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachine containingStateMachine() {
+ return RegionOperations.containingStateMachine(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean belongsToPSM() {
+ return RegionOperations.belongsToPSM(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.REGION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.REGION__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.REGION__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.REGION__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.REGION__STATE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetState((State) otherEnd, msgs);
+ case UMLPackage.REGION__STATE_MACHINE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetStateMachine((StateMachine) otherEnd, msgs);
+ case UMLPackage.REGION__TRANSITION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTransitions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.REGION__SUBVERTEX :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubvertices())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.REGION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REGION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REGION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.REGION__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REGION__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REGION__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REGION__STATE :
+ return basicSetState(null, msgs);
+ case UMLPackage.REGION__STATE_MACHINE :
+ return basicSetStateMachine(null, msgs);
+ case UMLPackage.REGION__TRANSITION :
+ return ((InternalEList<?>) getTransitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REGION__SUBVERTEX :
+ return ((InternalEList<?>) getSubvertices())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.REGION__STATE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.STATE__REGION, State.class, msgs);
+ case UMLPackage.REGION__STATE_MACHINE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.STATE_MACHINE__REGION, StateMachine.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.REGION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.REGION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.REGION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.REGION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.REGION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.REGION__NAME :
+ return getName();
+ case UMLPackage.REGION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.REGION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.REGION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REGION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.REGION__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.REGION__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.REGION__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.REGION__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.REGION__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.REGION__MEMBER :
+ return getMembers();
+ case UMLPackage.REGION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.REGION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.REGION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.REGION__EXTENDED_REGION :
+ if (resolve)
+ return getExtendedRegion();
+ return basicGetExtendedRegion();
+ case UMLPackage.REGION__STATE :
+ if (resolve)
+ return getState();
+ return basicGetState();
+ case UMLPackage.REGION__STATE_MACHINE :
+ if (resolve)
+ return getStateMachine();
+ return basicGetStateMachine();
+ case UMLPackage.REGION__TRANSITION :
+ return getTransitions();
+ case UMLPackage.REGION__SUBVERTEX :
+ return getSubvertices();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.REGION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.REGION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.REGION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.REGION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.REGION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.REGION__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.REGION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.REGION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.REGION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.REGION__EXTENDED_REGION :
+ setExtendedRegion((Region) newValue);
+ return;
+ case UMLPackage.REGION__STATE :
+ setState((State) newValue);
+ return;
+ case UMLPackage.REGION__STATE_MACHINE :
+ setStateMachine((StateMachine) newValue);
+ return;
+ case UMLPackage.REGION__TRANSITION :
+ getTransitions().clear();
+ getTransitions()
+ .addAll((Collection<? extends Transition>) newValue);
+ return;
+ case UMLPackage.REGION__SUBVERTEX :
+ getSubvertices().clear();
+ getSubvertices()
+ .addAll((Collection<? extends Vertex>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REGION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.REGION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.REGION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.REGION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.REGION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.REGION__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.REGION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.REGION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.REGION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.REGION__EXTENDED_REGION :
+ setExtendedRegion((Region) null);
+ return;
+ case UMLPackage.REGION__STATE :
+ setState((State) null);
+ return;
+ case UMLPackage.REGION__STATE_MACHINE :
+ setStateMachine((StateMachine) null);
+ return;
+ case UMLPackage.REGION__TRANSITION :
+ getTransitions().clear();
+ return;
+ case UMLPackage.REGION__SUBVERTEX :
+ getSubvertices().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REGION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.REGION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.REGION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.REGION__OWNER :
+ return isSetOwner();
+ case UMLPackage.REGION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.REGION__NAME :
+ return isSetName();
+ case UMLPackage.REGION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.REGION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.REGION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.REGION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.REGION__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.REGION__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.REGION__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.REGION__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.REGION__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.REGION__MEMBER :
+ return isSetMembers();
+ case UMLPackage.REGION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.REGION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.REGION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.REGION__EXTENDED_REGION :
+ return basicGetExtendedRegion() != null;
+ case UMLPackage.REGION__STATE :
+ return basicGetState() != null;
+ case UMLPackage.REGION__STATE_MACHINE :
+ return basicGetStateMachine() != null;
+ case UMLPackage.REGION__TRANSITION :
+ return !getTransitions().isEmpty();
+ case UMLPackage.REGION__SUBVERTEX :
+ return !getSubvertices().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.REGION__IS_LEAF :
+ return UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF;
+ case UMLPackage.REGION__REDEFINED_ELEMENT :
+ return UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT;
+ case UMLPackage.REGION__REDEFINITION_CONTEXT :
+ return UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF :
+ return UMLPackage.REGION__IS_LEAF;
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT :
+ return UMLPackage.REGION__REDEFINED_ELEMENT;
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT :
+ return UMLPackage.REGION__REDEFINITION_CONTEXT;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.REGION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.REGION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.REGION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return UMLPackage.REGION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT;
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return UMLPackage.REGION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.REGION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.REGION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.REGION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REGION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.REGION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.REGION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.REGION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.REGION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.REGION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.REGION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.REGION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REGION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.REGION___GET_MODEL :
+ return getModel();
+ case UMLPackage.REGION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.REGION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.REGION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.REGION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.REGION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.REGION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.REGION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REGION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.REGION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.REGION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.REGION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REGION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REGION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.REGION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REGION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.REGION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.REGION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.REGION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.REGION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.REGION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REGION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.REGION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.REGION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.REGION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.REGION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.REGION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.REGION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.REGION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.REGION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.REGION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REGION___SEPARATOR :
+ return separator();
+ case UMLPackage.REGION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.REGION___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.REGION___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.REGION___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.REGION___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.REGION___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.REGION___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.REGION___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.REGION___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.REGION___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.REGION___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.REGION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.REGION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.REGION___VALIDATE_DEEP_HISTORY_VERTEX__DIAGNOSTICCHAIN_MAP :
+ return validateDeepHistoryVertex(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___VALIDATE_SHALLOW_HISTORY_VERTEX__DIAGNOSTICCHAIN_MAP :
+ return validateShallowHistoryVertex(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___VALIDATE_OWNED__DIAGNOSTICCHAIN_MAP :
+ return validateOwned((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___VALIDATE_INITIAL_VERTEX__DIAGNOSTICCHAIN_MAP :
+ return validateInitialVertex((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REGION___BELONGS_TO_PSM :
+ return belongsToPSM();
+ case UMLPackage.REGION___CONTAINING_STATE_MACHINE :
+ return containingStateMachine();
+ case UMLPackage.REGION___REDEFINITION_CONTEXT :
+ return redefinitionContext();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedElements() <em>Redefined Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.REGION__EXTENDED_REGION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableElement getRedefinedElement(String name) {
+ return getRedefinedElement(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableElement getRedefinedElement(String name,
+ boolean ignoreCase, EClass eClass) {
+ redefinedElementLoop : for (RedefinableElement redefinedElement : getRedefinedElements()) {
+ if (eClass != null && !eClass.isInstance(redefinedElement))
+ continue redefinedElementLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedElement.getName())
+ : name.equals(redefinedElement.getName())))
+ continue redefinedElementLoop;
+ return redefinedElement;
+ }
+ return null;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.REGION__OWNED_RULE, UMLPackage.REGION__TRANSITION,
+ UMLPackage.REGION__SUBVERTEX};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRedefinedElements() {
+ return eIsSet(UMLPackage.REGION__EXTENDED_REGION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.REGION__TRANSITION)
+ || eIsSet(UMLPackage.REGION__SUBVERTEX);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ State state = basicGetState();
+ if (state != null) {
+ return state;
+ }
+ StateMachine stateMachine = basicGetStateMachine();
+ if (stateMachine != null) {
+ return stateMachine;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace() || eIsSet(UMLPackage.REGION__STATE)
+ || eIsSet(UMLPackage.REGION__STATE_MACHINE);
+ }
+
+} //RegionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RelationshipImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RelationshipImpl.java
new file mode 100644
index 00000000..a1a198ab
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RelationshipImpl.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RelationshipImpl#getRelatedElements <em>Related Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class RelationshipImpl
+ extends ElementImpl
+ implements Relationship {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getRelatedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> relatedElements = (EList<Element>) cache.get(
+ eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT);
+ if (relatedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.RELATIONSHIP__RELATED_ELEMENT,
+ relatedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.RELATIONSHIP__RELATED_ELEMENT, null));
+ }
+ return relatedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.RELATIONSHIP__RELATED_ELEMENT, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.RELATIONSHIP__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.RELATIONSHIP__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.RELATIONSHIP__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.RELATIONSHIP__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.RELATIONSHIP__RELATED_ELEMENT :
+ return getRelatedElements();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.RELATIONSHIP__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.RELATIONSHIP__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.RELATIONSHIP__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.RELATIONSHIP__OWNER :
+ return isSetOwner();
+ case UMLPackage.RELATIONSHIP__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRelatedElements() {
+ return false;
+ }
+
+} //RelationshipImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RemoveStructuralFeatureValueActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RemoveStructuralFeatureValueActionImpl.java
new file mode 100644
index 00000000..943a9f77
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RemoveStructuralFeatureValueActionImpl.java
@@ -0,0 +1,886 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.RemoveStructuralFeatureValueActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Remove Structural Feature Value Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RemoveStructuralFeatureValueActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RemoveStructuralFeatureValueActionImpl#isRemoveDuplicates <em>Is Remove Duplicates</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RemoveStructuralFeatureValueActionImpl#getRemoveAt <em>Remove At</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RemoveStructuralFeatureValueActionImpl
+ extends WriteStructuralFeatureActionImpl
+ implements RemoveStructuralFeatureValueAction {
+
+ /**
+ * The default value of the '{@link #isRemoveDuplicates() <em>Is Remove Duplicates</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRemoveDuplicates()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REMOVE_DUPLICATES_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RemoveStructuralFeatureValueActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__INPUT,
+ INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRemoveDuplicates() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REMOVE_DUPLICATES
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REMOVE_DUPLICATES,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsRemoveDuplicates(boolean newIsRemoveDuplicates) {
+ eDynamicSet(
+ UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REMOVE_DUPLICATES
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REMOVE_DUPLICATES,
+ newIsRemoveDuplicates);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getRemoveAt() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetRemoveAt() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRemoveAt(InputPin newRemoveAt,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newRemoveAt,
+ UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRemoveAt(InputPin newRemoveAt) {
+ eDynamicSet(
+ UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT,
+ newRemoveAt);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createRemoveAt(String name, Type type, EClass eClass) {
+ InputPin newRemoveAt = (InputPin) create(eClass);
+ setRemoveAt(newRemoveAt);
+ if (name != null)
+ newRemoveAt.setName(name);
+ if (type != null)
+ newRemoveAt.setType(type);
+ return newRemoveAt;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createRemoveAt(String name, Type type) {
+ return createRemoveAt(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRemoveAtAndValue(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RemoveStructuralFeatureValueActionOperations
+ .validateRemoveAtAndValue(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__VALUE :
+ return basicSetValue(null, msgs);
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT :
+ return basicSetRemoveAt(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__NAME :
+ return getName();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__STRUCTURAL_FEATURE :
+ if (resolve)
+ return getStructuralFeature();
+ return basicGetStructuralFeature();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__VALUE :
+ if (resolve)
+ return getValue();
+ return basicGetValue();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REMOVE_DUPLICATES :
+ return isRemoveDuplicates();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT :
+ if (resolve)
+ return getRemoveAt();
+ return basicGetRemoveAt();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__STRUCTURAL_FEATURE :
+ setStructuralFeature((StructuralFeature) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__VALUE :
+ setValue((InputPin) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REMOVE_DUPLICATES :
+ setIsRemoveDuplicates((Boolean) newValue);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT :
+ setRemoveAt((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__STRUCTURAL_FEATURE :
+ setStructuralFeature((StructuralFeature) null);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__VALUE :
+ setValue((InputPin) null);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REMOVE_DUPLICATES :
+ setIsRemoveDuplicates(IS_REMOVE_DUPLICATES_EDEFAULT);
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT :
+ setRemoveAt((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OBJECT :
+ return basicGetObject() != null;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__STRUCTURAL_FEATURE :
+ return basicGetStructuralFeature() != null;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__RESULT :
+ return basicGetResult() != null;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__VALUE :
+ return basicGetValue() != null;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REMOVE_DUPLICATES :
+ return isRemoveDuplicates() != IS_REMOVE_DUPLICATES_EDEFAULT;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT :
+ return basicGetRemoveAt() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_OBJECT_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateObjectType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateVisibility((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
+ return validateNotStatic((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateOneFeaturingClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfResult(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_TYPE_OF_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfValue((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY_OF_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfValue(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfResult((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_REMOVE_AT_AND_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateRemoveAtAndValue(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__OBJECT,
+ UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__VALUE,
+ UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs() || eIsSet(
+ UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT);
+ }
+
+} //RemoveStructuralFeatureValueActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RemoveVariableValueActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RemoveVariableValueActionImpl.java
new file mode 100644
index 00000000..6251ff9f
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/RemoveVariableValueActionImpl.java
@@ -0,0 +1,835 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Variable;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.RemoveVariableValueActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Remove Variable Value Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RemoveVariableValueActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RemoveVariableValueActionImpl#isRemoveDuplicates <em>Is Remove Duplicates</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.RemoveVariableValueActionImpl#getRemoveAt <em>Remove At</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RemoveVariableValueActionImpl
+ extends WriteVariableActionImpl
+ implements RemoveVariableValueAction {
+
+ /**
+ * The default value of the '{@link #isRemoveDuplicates() <em>Is Remove Duplicates</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRemoveDuplicates()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REMOVE_DUPLICATES_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RemoveVariableValueActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.REMOVE_VARIABLE_VALUE_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRemoveDuplicates() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_REMOVE_DUPLICATES
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REMOVE_VARIABLE_VALUE_ACTION__IS_REMOVE_DUPLICATES,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsRemoveDuplicates(boolean newIsRemoveDuplicates) {
+ eDynamicSet(
+ UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_REMOVE_DUPLICATES
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REMOVE_VARIABLE_VALUE_ACTION__IS_REMOVE_DUPLICATES,
+ newIsRemoveDuplicates);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getRemoveAt() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetRemoveAt() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRemoveAt(InputPin newRemoveAt,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newRemoveAt,
+ UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRemoveAt(InputPin newRemoveAt) {
+ eDynamicSet(
+ UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT,
+ newRemoveAt);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createRemoveAt(String name, Type type, EClass eClass) {
+ InputPin newRemoveAt = (InputPin) create(eClass);
+ setRemoveAt(newRemoveAt);
+ if (name != null)
+ newRemoveAt.setName(name);
+ if (type != null)
+ newRemoveAt.setType(type);
+ return newRemoveAt;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createRemoveAt(String name, Type type) {
+ return createRemoveAt(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRemoveAtAndValue(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RemoveVariableValueActionOperations
+ .validateRemoveAtAndValue(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VALUE :
+ return basicSetValue(null, msgs);
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT :
+ return basicSetRemoveAt(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__NAME :
+ return getName();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VARIABLE :
+ if (resolve)
+ return getVariable();
+ return basicGetVariable();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VALUE :
+ if (resolve)
+ return getValue();
+ return basicGetValue();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_REMOVE_DUPLICATES :
+ return isRemoveDuplicates();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT :
+ if (resolve)
+ return getRemoveAt();
+ return basicGetRemoveAt();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VARIABLE :
+ setVariable((Variable) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VALUE :
+ setValue((InputPin) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_REMOVE_DUPLICATES :
+ setIsRemoveDuplicates((Boolean) newValue);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT :
+ setRemoveAt((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VARIABLE :
+ setVariable((Variable) null);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VALUE :
+ setValue((InputPin) null);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_REMOVE_DUPLICATES :
+ setIsRemoveDuplicates(IS_REMOVE_DUPLICATES_EDEFAULT);
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT :
+ setRemoveAt((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VARIABLE :
+ return basicGetVariable() != null;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VALUE :
+ return basicGetValue() != null;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_REMOVE_DUPLICATES :
+ return isRemoveDuplicates() != IS_REMOVE_DUPLICATES_EDEFAULT;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT :
+ return basicGetRemoveAt() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_SCOPE_OF_VARIABLE__DIAGNOSTICCHAIN_MAP :
+ return validateScopeOfVariable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_VALUE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateValueType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_REMOVE_AT_AND_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateRemoveAtAndValue(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__VALUE,
+ UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT);
+ }
+
+} //RemoveVariableValueActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReplyActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReplyActionImpl.java
new file mode 100644
index 00000000..3ffe0556
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ReplyActionImpl.java
@@ -0,0 +1,893 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ReplyActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Reply Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReplyActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReplyActionImpl#getReplyToCall <em>Reply To Call</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReplyActionImpl#getReplyValues <em>Reply Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ReplyActionImpl#getReturnInformation <em>Return Information</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReplyActionImpl
+ extends ActionImpl
+ implements ReplyAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReplyActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.REPLY_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this, UMLPackage.REPLY_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.REPLY_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Trigger getReplyToCall() {
+ return (Trigger) eDynamicGet(
+ UMLPackage.REPLY_ACTION__REPLY_TO_CALL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REPLY_ACTION__REPLY_TO_CALL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Trigger basicGetReplyToCall() {
+ return (Trigger) eDynamicGet(
+ UMLPackage.REPLY_ACTION__REPLY_TO_CALL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REPLY_ACTION__REPLY_TO_CALL, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReplyToCall(Trigger newReplyToCall) {
+ eDynamicSet(
+ UMLPackage.REPLY_ACTION__REPLY_TO_CALL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REPLY_ACTION__REPLY_TO_CALL, newReplyToCall);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getReturnInformation() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.REPLY_ACTION__RETURN_INFORMATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REPLY_ACTION__RETURN_INFORMATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetReturnInformation() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.REPLY_ACTION__RETURN_INFORMATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REPLY_ACTION__RETURN_INFORMATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetReturnInformation(
+ InputPin newReturnInformation, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newReturnInformation,
+ UMLPackage.REPLY_ACTION__RETURN_INFORMATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReturnInformation(InputPin newReturnInformation) {
+ eDynamicSet(
+ UMLPackage.REPLY_ACTION__RETURN_INFORMATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REPLY_ACTION__RETURN_INFORMATION,
+ newReturnInformation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createReturnInformation(String name, Type type,
+ EClass eClass) {
+ InputPin newReturnInformation = (InputPin) create(eClass);
+ setReturnInformation(newReturnInformation);
+ if (name != null)
+ newReturnInformation.setName(name);
+ if (type != null)
+ newReturnInformation.setType(type);
+ return newReturnInformation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createReturnInformation(String name, Type type) {
+ return createReturnInformation(name, type,
+ UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InputPin> getReplyValues() {
+ return (EList<InputPin>) eDynamicGet(
+ UMLPackage.REPLY_ACTION__REPLY_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REPLY_ACTION__REPLY_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createReplyValue(String name, Type type, EClass eClass) {
+ InputPin newReplyValue = (InputPin) create(eClass);
+ getReplyValues().add(newReplyValue);
+ if (name != null)
+ newReplyValue.setName(name);
+ if (type != null)
+ newReplyValue.setType(type);
+ return newReplyValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createReplyValue(String name, Type type) {
+ return createReplyValue(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getReplyValue(String name, Type type) {
+ return getReplyValue(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getReplyValue(String name, Type type, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ replyValueLoop : for (InputPin replyValue : getReplyValues()) {
+ if (eClass != null && !eClass.isInstance(replyValue))
+ continue replyValueLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(replyValue.getName())
+ : name.equals(replyValue.getName())))
+ continue replyValueLoop;
+ if (type != null && !type.equals(replyValue.getType()))
+ continue replyValueLoop;
+ return replyValue;
+ }
+ return createOnDemand && eClass != null
+ ? createReplyValue(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePinsMatchParameter(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ReplyActionOperations.validatePinsMatchParameter(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEventOnReplyToCallTrigger(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ReplyActionOperations.validateEventOnReplyToCallTrigger(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.REPLY_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REPLY_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REPLY_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.REPLY_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REPLY_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.REPLY_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.REPLY_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.REPLY_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REPLY_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.REPLY_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REPLY_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REPLY_ACTION__REPLY_VALUE :
+ return ((InternalEList<?>) getReplyValues())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.REPLY_ACTION__RETURN_INFORMATION :
+ return basicSetReturnInformation(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.REPLY_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.REPLY_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.REPLY_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.REPLY_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.REPLY_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.REPLY_ACTION__NAME :
+ return getName();
+ case UMLPackage.REPLY_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.REPLY_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.REPLY_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REPLY_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.REPLY_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.REPLY_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.REPLY_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.REPLY_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.REPLY_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.REPLY_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.REPLY_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.REPLY_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.REPLY_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.REPLY_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.REPLY_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.REPLY_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.REPLY_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.REPLY_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.REPLY_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.REPLY_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.REPLY_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.REPLY_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.REPLY_ACTION__REPLY_TO_CALL :
+ if (resolve)
+ return getReplyToCall();
+ return basicGetReplyToCall();
+ case UMLPackage.REPLY_ACTION__REPLY_VALUE :
+ return getReplyValues();
+ case UMLPackage.REPLY_ACTION__RETURN_INFORMATION :
+ if (resolve)
+ return getReturnInformation();
+ return basicGetReturnInformation();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.REPLY_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__REPLY_TO_CALL :
+ setReplyToCall((Trigger) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__REPLY_VALUE :
+ getReplyValues().clear();
+ getReplyValues()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.REPLY_ACTION__RETURN_INFORMATION :
+ setReturnInformation((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REPLY_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.REPLY_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.REPLY_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.REPLY_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.REPLY_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.REPLY_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.REPLY_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.REPLY_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.REPLY_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.REPLY_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.REPLY_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.REPLY_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.REPLY_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.REPLY_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.REPLY_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.REPLY_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.REPLY_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.REPLY_ACTION__REPLY_TO_CALL :
+ setReplyToCall((Trigger) null);
+ return;
+ case UMLPackage.REPLY_ACTION__REPLY_VALUE :
+ getReplyValues().clear();
+ return;
+ case UMLPackage.REPLY_ACTION__RETURN_INFORMATION :
+ setReturnInformation((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.REPLY_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.REPLY_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.REPLY_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.REPLY_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.REPLY_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.REPLY_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.REPLY_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.REPLY_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.REPLY_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.REPLY_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.REPLY_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.REPLY_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.REPLY_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.REPLY_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.REPLY_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.REPLY_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.REPLY_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.REPLY_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.REPLY_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.REPLY_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.REPLY_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.REPLY_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.REPLY_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.REPLY_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.REPLY_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.REPLY_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.REPLY_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.REPLY_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.REPLY_ACTION__REPLY_TO_CALL :
+ return basicGetReplyToCall() != null;
+ case UMLPackage.REPLY_ACTION__REPLY_VALUE :
+ return !getReplyValues().isEmpty();
+ case UMLPackage.REPLY_ACTION__RETURN_INFORMATION :
+ return basicGetReturnInformation() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.REPLY_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REPLY_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REPLY_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.REPLY_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.REPLY_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.REPLY_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.REPLY_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REPLY_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.REPLY_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.REPLY_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.REPLY_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.REPLY_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.REPLY_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.REPLY_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.REPLY_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REPLY_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.REPLY_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.REPLY_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.REPLY_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.REPLY_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REPLY_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REPLY_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REPLY_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.REPLY_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.REPLY_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.REPLY_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.REPLY_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.REPLY_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.REPLY_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.REPLY_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.REPLY_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REPLY_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REPLY_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REPLY_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.REPLY_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.REPLY_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.REPLY_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.REPLY_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.REPLY_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.REPLY_ACTION___VALIDATE_PINS_MATCH_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validatePinsMatchParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.REPLY_ACTION___VALIDATE_EVENT_ON_REPLY_TO_CALL_TRIGGER__DIAGNOSTICCHAIN_MAP :
+ return validateEventOnReplyToCallTrigger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.REPLY_ACTION__REPLY_VALUE,
+ UMLPackage.REPLY_ACTION__RETURN_INFORMATION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.REPLY_ACTION__REPLY_VALUE)
+ || eIsSet(UMLPackage.REPLY_ACTION__RETURN_INFORMATION);
+ }
+
+} //ReplyActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SendObjectActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SendObjectActionImpl.java
new file mode 100644
index 00000000..33951728
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SendObjectActionImpl.java
@@ -0,0 +1,887 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 351774, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.UniqueEList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.common.util.UnionEObjectEList;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.SendObjectActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Send Object Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SendObjectActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SendObjectActionImpl#getRequest <em>Request</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SendObjectActionImpl#getTarget <em>Target</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SendObjectActionImpl
+ extends InvocationActionImpl
+ implements SendObjectAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SendObjectActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.SEND_OBJECT_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.SEND_OBJECT_ACTION__INPUT, INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.SEND_OBJECT_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getTarget() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.SEND_OBJECT_ACTION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SEND_OBJECT_ACTION__TARGET, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetTarget() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.SEND_OBJECT_ACTION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SEND_OBJECT_ACTION__TARGET, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTarget(InputPin newTarget,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newTarget,
+ UMLPackage.SEND_OBJECT_ACTION__TARGET, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTarget(InputPin newTarget) {
+ eDynamicSet(
+ UMLPackage.SEND_OBJECT_ACTION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SEND_OBJECT_ACTION__TARGET, newTarget);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createTarget(String name, Type type, EClass eClass) {
+ InputPin newTarget = (InputPin) create(eClass);
+ setTarget(newTarget);
+ if (name != null)
+ newTarget.setName(name);
+ if (type != null)
+ newTarget.setType(type);
+ return newTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createTarget(String name, Type type) {
+ return createTarget(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeTargetPin(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return SendObjectActionOperations.validateTypeTargetPin(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getRequest() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.SEND_OBJECT_ACTION__REQUEST - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SEND_OBJECT_ACTION__REQUEST, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetRequest() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.SEND_OBJECT_ACTION__REQUEST - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SEND_OBJECT_ACTION__REQUEST, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRequest(InputPin newRequest,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newRequest,
+ UMLPackage.SEND_OBJECT_ACTION__REQUEST, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRequest(InputPin newRequest) {
+ eDynamicSet(
+ UMLPackage.SEND_OBJECT_ACTION__REQUEST - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SEND_OBJECT_ACTION__REQUEST, newRequest);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createRequest(String name, Type type, EClass eClass) {
+ InputPin newRequest = (InputPin) create(eClass);
+ setRequest(newRequest);
+ if (name != null)
+ newRequest.setName(name);
+ if (type != null)
+ newRequest.setType(type);
+ return newRequest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createRequest(String name, Type type) {
+ return createRequest(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRequest() {
+ return basicGetRequest() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.SEND_OBJECT_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEND_OBJECT_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEND_OBJECT_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.SEND_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEND_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.SEND_OBJECT_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEND_OBJECT_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEND_OBJECT_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEND_OBJECT_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEND_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEND_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEND_OBJECT_ACTION__ARGUMENT :
+ return ((InternalEList<?>) getArguments()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEND_OBJECT_ACTION__REQUEST :
+ return basicSetRequest(null, msgs);
+ case UMLPackage.SEND_OBJECT_ACTION__TARGET :
+ return basicSetTarget(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.SEND_OBJECT_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.SEND_OBJECT_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.SEND_OBJECT_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.SEND_OBJECT_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.SEND_OBJECT_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.SEND_OBJECT_ACTION__NAME :
+ return getName();
+ case UMLPackage.SEND_OBJECT_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.SEND_OBJECT_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.SEND_OBJECT_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.SEND_OBJECT_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.SEND_OBJECT_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.SEND_OBJECT_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.SEND_OBJECT_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.SEND_OBJECT_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.SEND_OBJECT_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.SEND_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.SEND_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.SEND_OBJECT_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.SEND_OBJECT_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.SEND_OBJECT_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.SEND_OBJECT_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.SEND_OBJECT_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.SEND_OBJECT_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.SEND_OBJECT_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.SEND_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.SEND_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.SEND_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.SEND_OBJECT_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.SEND_OBJECT_ACTION__ARGUMENT :
+ return getArguments();
+ case UMLPackage.SEND_OBJECT_ACTION__ON_PORT :
+ if (resolve)
+ return getOnPort();
+ return basicGetOnPort();
+ case UMLPackage.SEND_OBJECT_ACTION__REQUEST :
+ if (resolve)
+ return getRequest();
+ return basicGetRequest();
+ case UMLPackage.SEND_OBJECT_ACTION__TARGET :
+ if (resolve)
+ return getTarget();
+ return basicGetTarget();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.SEND_OBJECT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__ARGUMENT :
+ getArguments().clear();
+ getArguments()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__ON_PORT :
+ setOnPort((Port) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__REQUEST :
+ setRequest((InputPin) newValue);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__TARGET :
+ setTarget((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SEND_OBJECT_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__ARGUMENT :
+ getArguments().clear();
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__ON_PORT :
+ setOnPort((Port) null);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__REQUEST :
+ setRequest((InputPin) null);
+ return;
+ case UMLPackage.SEND_OBJECT_ACTION__TARGET :
+ setTarget((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SEND_OBJECT_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.SEND_OBJECT_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.SEND_OBJECT_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.SEND_OBJECT_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.SEND_OBJECT_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.SEND_OBJECT_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.SEND_OBJECT_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.SEND_OBJECT_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.SEND_OBJECT_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.SEND_OBJECT_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.SEND_OBJECT_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.SEND_OBJECT_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.SEND_OBJECT_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.SEND_OBJECT_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.SEND_OBJECT_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.SEND_OBJECT_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.SEND_OBJECT_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.SEND_OBJECT_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.SEND_OBJECT_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.SEND_OBJECT_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.SEND_OBJECT_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.SEND_OBJECT_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.SEND_OBJECT_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.SEND_OBJECT_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.SEND_OBJECT_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.SEND_OBJECT_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.SEND_OBJECT_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.SEND_OBJECT_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.SEND_OBJECT_ACTION__ARGUMENT :
+ return isSetArguments();
+ case UMLPackage.SEND_OBJECT_ACTION__ON_PORT :
+ return basicGetOnPort() != null;
+ case UMLPackage.SEND_OBJECT_ACTION__REQUEST :
+ return isSetRequest();
+ case UMLPackage.SEND_OBJECT_ACTION__TARGET :
+ return basicGetTarget() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.SEND_OBJECT_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_OBJECT_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_OBJECT_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.SEND_OBJECT_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.SEND_OBJECT_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.SEND_OBJECT_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.SEND_OBJECT_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.SEND_OBJECT_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.SEND_OBJECT_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.SEND_OBJECT_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.SEND_OBJECT_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.SEND_OBJECT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.SEND_OBJECT_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.SEND_OBJECT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.SEND_OBJECT_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.SEND_OBJECT_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.SEND_OBJECT_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.SEND_OBJECT_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.SEND_OBJECT_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.SEND_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_OBJECT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_OBJECT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_OBJECT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.SEND_OBJECT_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.SEND_OBJECT_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.SEND_OBJECT_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.SEND_OBJECT_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.SEND_OBJECT_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.SEND_OBJECT_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.SEND_OBJECT_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.SEND_OBJECT_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_OBJECT_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_OBJECT_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_OBJECT_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.SEND_OBJECT_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.SEND_OBJECT_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.SEND_OBJECT_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.SEND_OBJECT_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.SEND_OBJECT_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.SEND_OBJECT_ACTION___VALIDATE_TYPE_TARGET_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateTypeTargetPin((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.SEND_OBJECT_ACTION__ARGUMENT,
+ UMLPackage.SEND_OBJECT_ACTION__TARGET};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.SEND_OBJECT_ACTION__TARGET);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getArguments() {
+ EList<InputPin> argument = new UniqueEList<InputPin>();
+ InputPin request = getRequest();
+ if (request != null) {
+ argument.add(request);
+ }
+ return new UnionEObjectEList<InputPin>(this,
+ UMLPackage.Literals.INVOCATION_ACTION__ARGUMENT, argument.size(),
+ argument.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetArguments() {
+ return false;
+ }
+
+} //SendObjectActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SendSignalActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SendSignalActionImpl.java
new file mode 100644
index 00000000..f44590be
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SendSignalActionImpl.java
@@ -0,0 +1,846 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.SendSignalActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Send Signal Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SendSignalActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SendSignalActionImpl#getSignal <em>Signal</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SendSignalActionImpl#getTarget <em>Target</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SendSignalActionImpl
+ extends InvocationActionImpl
+ implements SendSignalAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SendSignalActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.SEND_SIGNAL_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.SEND_SIGNAL_ACTION__INPUT, INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.SEND_SIGNAL_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getTarget() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.SEND_SIGNAL_ACTION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SEND_SIGNAL_ACTION__TARGET, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetTarget() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.SEND_SIGNAL_ACTION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SEND_SIGNAL_ACTION__TARGET, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTarget(InputPin newTarget,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newTarget,
+ UMLPackage.SEND_SIGNAL_ACTION__TARGET, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTarget(InputPin newTarget) {
+ eDynamicSet(
+ UMLPackage.SEND_SIGNAL_ACTION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SEND_SIGNAL_ACTION__TARGET, newTarget);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createTarget(String name, Type type, EClass eClass) {
+ InputPin newTarget = (InputPin) create(eClass);
+ setTarget(newTarget);
+ if (name != null)
+ newTarget.setName(name);
+ if (type != null)
+ newTarget.setType(type);
+ return newTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createTarget(String name, Type type) {
+ return createTarget(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Signal getSignal() {
+ return (Signal) eDynamicGet(
+ UMLPackage.SEND_SIGNAL_ACTION__SIGNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SEND_SIGNAL_ACTION__SIGNAL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Signal basicGetSignal() {
+ return (Signal) eDynamicGet(
+ UMLPackage.SEND_SIGNAL_ACTION__SIGNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SEND_SIGNAL_ACTION__SIGNAL, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSignal(Signal newSignal) {
+ eDynamicSet(
+ UMLPackage.SEND_SIGNAL_ACTION__SIGNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SEND_SIGNAL_ACTION__SIGNAL, newSignal);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNumberOrder(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return SendSignalActionOperations.validateNumberOrder(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeTargetPin(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return SendSignalActionOperations.validateTypeTargetPin(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeOrderingMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return SendSignalActionOperations.validateTypeOrderingMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.SEND_SIGNAL_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEND_SIGNAL_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEND_SIGNAL_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.SEND_SIGNAL_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEND_SIGNAL_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEND_SIGNAL_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEND_SIGNAL_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEND_SIGNAL_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEND_SIGNAL_ACTION__ARGUMENT :
+ return ((InternalEList<?>) getArguments()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEND_SIGNAL_ACTION__TARGET :
+ return basicSetTarget(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.SEND_SIGNAL_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.SEND_SIGNAL_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.SEND_SIGNAL_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.SEND_SIGNAL_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.SEND_SIGNAL_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.SEND_SIGNAL_ACTION__NAME :
+ return getName();
+ case UMLPackage.SEND_SIGNAL_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.SEND_SIGNAL_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.SEND_SIGNAL_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.SEND_SIGNAL_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.SEND_SIGNAL_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.SEND_SIGNAL_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.SEND_SIGNAL_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.SEND_SIGNAL_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.SEND_SIGNAL_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.SEND_SIGNAL_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.SEND_SIGNAL_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.SEND_SIGNAL_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.SEND_SIGNAL_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.SEND_SIGNAL_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.SEND_SIGNAL_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.SEND_SIGNAL_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.SEND_SIGNAL_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.SEND_SIGNAL_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.SEND_SIGNAL_ACTION__ARGUMENT :
+ return getArguments();
+ case UMLPackage.SEND_SIGNAL_ACTION__ON_PORT :
+ if (resolve)
+ return getOnPort();
+ return basicGetOnPort();
+ case UMLPackage.SEND_SIGNAL_ACTION__SIGNAL :
+ if (resolve)
+ return getSignal();
+ return basicGetSignal();
+ case UMLPackage.SEND_SIGNAL_ACTION__TARGET :
+ if (resolve)
+ return getTarget();
+ return basicGetTarget();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.SEND_SIGNAL_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__ARGUMENT :
+ getArguments().clear();
+ getArguments()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__ON_PORT :
+ setOnPort((Port) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__SIGNAL :
+ setSignal((Signal) newValue);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__TARGET :
+ setTarget((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SEND_SIGNAL_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__ARGUMENT :
+ getArguments().clear();
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__ON_PORT :
+ setOnPort((Port) null);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__SIGNAL :
+ setSignal((Signal) null);
+ return;
+ case UMLPackage.SEND_SIGNAL_ACTION__TARGET :
+ setTarget((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SEND_SIGNAL_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.SEND_SIGNAL_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.SEND_SIGNAL_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.SEND_SIGNAL_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.SEND_SIGNAL_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.SEND_SIGNAL_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.SEND_SIGNAL_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.SEND_SIGNAL_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.SEND_SIGNAL_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.SEND_SIGNAL_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.SEND_SIGNAL_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.SEND_SIGNAL_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.SEND_SIGNAL_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.SEND_SIGNAL_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.SEND_SIGNAL_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.SEND_SIGNAL_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.SEND_SIGNAL_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.SEND_SIGNAL_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.SEND_SIGNAL_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.SEND_SIGNAL_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.SEND_SIGNAL_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.SEND_SIGNAL_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.SEND_SIGNAL_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.SEND_SIGNAL_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.SEND_SIGNAL_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.SEND_SIGNAL_ACTION__ARGUMENT :
+ return !getArguments().isEmpty();
+ case UMLPackage.SEND_SIGNAL_ACTION__ON_PORT :
+ return basicGetOnPort() != null;
+ case UMLPackage.SEND_SIGNAL_ACTION__SIGNAL :
+ return basicGetSignal() != null;
+ case UMLPackage.SEND_SIGNAL_ACTION__TARGET :
+ return basicGetTarget() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.SEND_SIGNAL_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.SEND_SIGNAL_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.SEND_SIGNAL_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.SEND_SIGNAL_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.SEND_SIGNAL_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.SEND_SIGNAL_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.SEND_SIGNAL_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.SEND_SIGNAL_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.SEND_SIGNAL_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.SEND_SIGNAL_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.SEND_SIGNAL_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOrderingMultiplicity(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_NUMBER_ORDER__DIAGNOSTICCHAIN_MAP :
+ return validateNumberOrder((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_TYPE_TARGET_PIN__DIAGNOSTICCHAIN_MAP :
+ return validateTypeTargetPin((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.SEND_SIGNAL_ACTION__ARGUMENT,
+ UMLPackage.SEND_SIGNAL_ACTION__TARGET};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.SEND_SIGNAL_ACTION__TARGET);
+ }
+
+} //SendSignalActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SequenceNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SequenceNodeImpl.java
new file mode 100644
index 00000000..6918ca83
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SequenceNodeImpl.java
@@ -0,0 +1,750 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 351774, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutableNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Variable;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SequenceNodeImpl#getExecutableNodes <em>Executable Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SequenceNodeImpl
+ extends StructuredActivityNodeImpl
+ implements SequenceNode {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SequenceNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.SEQUENCE_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ExecutableNode> getExecutableNodes() {
+ return (EList<ExecutableNode>) eDynamicGet(
+ UMLPackage.SEQUENCE_NODE__EXECUTABLE_NODE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SEQUENCE_NODE__EXECUTABLE_NODE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode createExecutableNode(String name, EClass eClass) {
+ ExecutableNode newExecutableNode = (ExecutableNode) create(eClass);
+ getExecutableNodes().add(newExecutableNode);
+ if (name != null)
+ newExecutableNode.setName(name);
+ return newExecutableNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getExecutableNode(String name) {
+ return getExecutableNode(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNode getExecutableNode(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ executableNodeLoop : for (ExecutableNode executableNode : getExecutableNodes()) {
+ if (eClass != null && !eClass.isInstance(executableNode))
+ continue executableNodeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(executableNode.getName())
+ : name.equals(executableNode.getName())))
+ continue executableNodeLoop;
+ return executableNode;
+ }
+ return createOnDemand && eClass != null
+ ? createExecutableNode(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetExecutableNodes() {
+ return !getExecutableNodes().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.SEQUENCE_NODE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInInterruptibleRegions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__IN_STRUCTURED_NODE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetInStructuredNode(
+ (StructuredActivityNode) otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__INCOMING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getIncomings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__OUTGOING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOutgoings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__IN_PARTITION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInPartitions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__HANDLER :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getHandlers())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__EDGE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEdges())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__VARIABLE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getVariables())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__NODE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getNodes())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.SEQUENCE_NODE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.SEQUENCE_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.SEQUENCE_NODE__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEQUENCE_NODE__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEQUENCE_NODE__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEQUENCE_NODE__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__EDGE :
+ return ((InternalEList<?>) getEdges()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEQUENCE_NODE__STRUCTURED_NODE_INPUT :
+ return ((InternalEList<?>) getStructuredNodeInputs())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__STRUCTURED_NODE_OUTPUT :
+ return ((InternalEList<?>) getStructuredNodeOutputs())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SEQUENCE_NODE__VARIABLE :
+ return ((InternalEList<?>) getVariables()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEQUENCE_NODE__NODE :
+ return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SEQUENCE_NODE__EXECUTABLE_NODE :
+ return ((InternalEList<?>) getExecutableNodes())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.SEQUENCE_NODE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.SEQUENCE_NODE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.SEQUENCE_NODE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.SEQUENCE_NODE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.SEQUENCE_NODE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.SEQUENCE_NODE__NAME :
+ return getName();
+ case UMLPackage.SEQUENCE_NODE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.SEQUENCE_NODE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.SEQUENCE_NODE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.SEQUENCE_NODE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.SEQUENCE_NODE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.SEQUENCE_NODE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.SEQUENCE_NODE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.SEQUENCE_NODE__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.SEQUENCE_NODE__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.SEQUENCE_NODE__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.SEQUENCE_NODE__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.SEQUENCE_NODE__INCOMING :
+ return getIncomings();
+ case UMLPackage.SEQUENCE_NODE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.SEQUENCE_NODE__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.SEQUENCE_NODE__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.SEQUENCE_NODE__HANDLER :
+ return getHandlers();
+ case UMLPackage.SEQUENCE_NODE__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.SEQUENCE_NODE__INPUT :
+ return getInputs();
+ case UMLPackage.SEQUENCE_NODE__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.SEQUENCE_NODE__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.SEQUENCE_NODE__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.SEQUENCE_NODE__OUTPUT :
+ return getOutputs();
+ case UMLPackage.SEQUENCE_NODE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.SEQUENCE_NODE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.SEQUENCE_NODE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.SEQUENCE_NODE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.SEQUENCE_NODE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.SEQUENCE_NODE__MEMBER :
+ return getMembers();
+ case UMLPackage.SEQUENCE_NODE__CONTAINED_EDGE :
+ return getContainedEdges();
+ case UMLPackage.SEQUENCE_NODE__CONTAINED_NODE :
+ return getContainedNodes();
+ case UMLPackage.SEQUENCE_NODE__IN_ACTIVITY :
+ if (resolve)
+ return getInActivity();
+ return basicGetInActivity();
+ case UMLPackage.SEQUENCE_NODE__SUBGROUP :
+ return getSubgroups();
+ case UMLPackage.SEQUENCE_NODE__SUPER_GROUP :
+ if (resolve)
+ return getSuperGroup();
+ return basicGetSuperGroup();
+ case UMLPackage.SEQUENCE_NODE__EDGE :
+ return getEdges();
+ case UMLPackage.SEQUENCE_NODE__MUST_ISOLATE :
+ return isMustIsolate();
+ case UMLPackage.SEQUENCE_NODE__STRUCTURED_NODE_INPUT :
+ return getStructuredNodeInputs();
+ case UMLPackage.SEQUENCE_NODE__STRUCTURED_NODE_OUTPUT :
+ return getStructuredNodeOutputs();
+ case UMLPackage.SEQUENCE_NODE__VARIABLE :
+ return getVariables();
+ case UMLPackage.SEQUENCE_NODE__NODE :
+ return getNodes();
+ case UMLPackage.SEQUENCE_NODE__EXECUTABLE_NODE :
+ return getExecutableNodes();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.SEQUENCE_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__IN_ACTIVITY :
+ setInActivity((Activity) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__EDGE :
+ getEdges().clear();
+ getEdges()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__MUST_ISOLATE :
+ setMustIsolate((Boolean) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__STRUCTURED_NODE_INPUT :
+ getStructuredNodeInputs().clear();
+ getStructuredNodeInputs()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__STRUCTURED_NODE_OUTPUT :
+ getStructuredNodeOutputs().clear();
+ getStructuredNodeOutputs()
+ .addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__VARIABLE :
+ getVariables().clear();
+ getVariables()
+ .addAll((Collection<? extends Variable>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__NODE :
+ getNodes().clear();
+ getNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.SEQUENCE_NODE__EXECUTABLE_NODE :
+ getExecutableNodes().clear();
+ getExecutableNodes()
+ .addAll((Collection<? extends ExecutableNode>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SEQUENCE_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.SEQUENCE_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.SEQUENCE_NODE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.SEQUENCE_NODE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.SEQUENCE_NODE__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.SEQUENCE_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.SEQUENCE_NODE__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.SEQUENCE_NODE__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__IN_ACTIVITY :
+ setInActivity((Activity) null);
+ return;
+ case UMLPackage.SEQUENCE_NODE__EDGE :
+ getEdges().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__MUST_ISOLATE :
+ setMustIsolate(MUST_ISOLATE_EDEFAULT);
+ return;
+ case UMLPackage.SEQUENCE_NODE__STRUCTURED_NODE_INPUT :
+ getStructuredNodeInputs().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__STRUCTURED_NODE_OUTPUT :
+ getStructuredNodeOutputs().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__VARIABLE :
+ getVariables().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__NODE :
+ getNodes().clear();
+ return;
+ case UMLPackage.SEQUENCE_NODE__EXECUTABLE_NODE :
+ getExecutableNodes().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SEQUENCE_NODE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.SEQUENCE_NODE__OWNER :
+ return isSetOwner();
+ case UMLPackage.SEQUENCE_NODE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__NAME :
+ return isSetName();
+ case UMLPackage.SEQUENCE_NODE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.SEQUENCE_NODE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.SEQUENCE_NODE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.SEQUENCE_NODE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.SEQUENCE_NODE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.SEQUENCE_NODE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.SEQUENCE_NODE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.SEQUENCE_NODE__ACTIVITY :
+ return isSetActivity();
+ case UMLPackage.SEQUENCE_NODE__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.SEQUENCE_NODE__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.SEQUENCE_NODE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.SEQUENCE_NODE__INPUT :
+ return isSetInputs();
+ case UMLPackage.SEQUENCE_NODE__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.SEQUENCE_NODE__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.SEQUENCE_NODE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.SEQUENCE_NODE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.SEQUENCE_NODE__CONTAINED_EDGE :
+ return isSetContainedEdges();
+ case UMLPackage.SEQUENCE_NODE__CONTAINED_NODE :
+ return isSetContainedNodes();
+ case UMLPackage.SEQUENCE_NODE__IN_ACTIVITY :
+ return isSetInActivity();
+ case UMLPackage.SEQUENCE_NODE__SUBGROUP :
+ return isSetSubgroups();
+ case UMLPackage.SEQUENCE_NODE__SUPER_GROUP :
+ return isSetSuperGroup();
+ case UMLPackage.SEQUENCE_NODE__EDGE :
+ return !getEdges().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__MUST_ISOLATE :
+ return isMustIsolate() != MUST_ISOLATE_EDEFAULT;
+ case UMLPackage.SEQUENCE_NODE__STRUCTURED_NODE_INPUT :
+ return !getStructuredNodeInputs().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__STRUCTURED_NODE_OUTPUT :
+ return !getStructuredNodeOutputs().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__VARIABLE :
+ return !getVariables().isEmpty();
+ case UMLPackage.SEQUENCE_NODE__NODE :
+ return isSetNodes();
+ case UMLPackage.SEQUENCE_NODE__EXECUTABLE_NODE :
+ return isSetExecutableNodes();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<ActivityNode> getNodes() {
+ @SuppressWarnings("unchecked")
+ EList<ActivityNode> executableNode = (EList<ActivityNode>) ((EList<?>) getExecutableNodes());
+ return executableNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetNodes() {
+ return false;
+ }
+
+} //SequenceNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SignalEventImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SignalEventImpl.java
new file mode 100644
index 00000000..3bda6235
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SignalEventImpl.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Signal Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SignalEventImpl#getSignal <em>Signal</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SignalEventImpl
+ extends MessageEventImpl
+ implements SignalEvent {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SignalEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.SIGNAL_EVENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Signal getSignal() {
+ return (Signal) eDynamicGet(
+ UMLPackage.SIGNAL_EVENT__SIGNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SIGNAL_EVENT__SIGNAL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Signal basicGetSignal() {
+ return (Signal) eDynamicGet(
+ UMLPackage.SIGNAL_EVENT__SIGNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SIGNAL_EVENT__SIGNAL, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSignal(Signal newSignal) {
+ eDynamicSet(UMLPackage.SIGNAL_EVENT__SIGNAL - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SIGNAL_EVENT__SIGNAL, newSignal);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.SIGNAL_EVENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.SIGNAL_EVENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.SIGNAL_EVENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.SIGNAL_EVENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.SIGNAL_EVENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.SIGNAL_EVENT__NAME :
+ return getName();
+ case UMLPackage.SIGNAL_EVENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.SIGNAL_EVENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.SIGNAL_EVENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.SIGNAL_EVENT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.SIGNAL_EVENT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.SIGNAL_EVENT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.SIGNAL_EVENT__SIGNAL :
+ if (resolve)
+ return getSignal();
+ return basicGetSignal();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.SIGNAL_EVENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.SIGNAL_EVENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.SIGNAL_EVENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.SIGNAL_EVENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.SIGNAL_EVENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.SIGNAL_EVENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.SIGNAL_EVENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.SIGNAL_EVENT__SIGNAL :
+ setSignal((Signal) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SIGNAL_EVENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.SIGNAL_EVENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.SIGNAL_EVENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.SIGNAL_EVENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.SIGNAL_EVENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.SIGNAL_EVENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.SIGNAL_EVENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.SIGNAL_EVENT__SIGNAL :
+ setSignal((Signal) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SIGNAL_EVENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.SIGNAL_EVENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.SIGNAL_EVENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.SIGNAL_EVENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.SIGNAL_EVENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.SIGNAL_EVENT__NAME :
+ return isSetName();
+ case UMLPackage.SIGNAL_EVENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.SIGNAL_EVENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.SIGNAL_EVENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.SIGNAL_EVENT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.SIGNAL_EVENT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.SIGNAL_EVENT__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.SIGNAL_EVENT__SIGNAL :
+ return basicGetSignal() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //SignalEventImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SignalImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SignalImpl.java
new file mode 100644
index 00000000..78e79a5a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SignalImpl.java
@@ -0,0 +1,1032 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.SignalOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Signal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SignalImpl#getAttributes <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SignalImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SignalImpl#getOwnedAttributes <em>Owned Attribute</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SignalImpl
+ extends ClassifierImpl
+ implements Signal {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SignalImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.SIGNAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Property> getAttributes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Property> attributes = (EList<Property>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__ATTRIBUTE);
+ if (attributes == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__ATTRIBUTE,
+ attributes = new DerivedUnionEObjectEList<Property>(
+ Property.class, this, UMLPackage.SIGNAL__ATTRIBUTE,
+ ATTRIBUTE_ESUBSETS));
+ }
+ return attributes;
+ }
+ return new DerivedUnionEObjectEList<Property>(Property.class, this,
+ UMLPackage.SIGNAL__ATTRIBUTE, ATTRIBUTE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.SIGNAL__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.SIGNAL__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getOwnedAttributes() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.SIGNAL__OWNED_ATTRIBUTE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SIGNAL__OWNED_ATTRIBUTE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type,
+ EClass eClass) {
+ Property newOwnedAttribute = (Property) create(eClass);
+ getOwnedAttributes().add(newOwnedAttribute);
+ if (name != null)
+ newOwnedAttribute.setName(name);
+ if (type != null)
+ newOwnedAttribute.setType(type);
+ return newOwnedAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type) {
+ return createOwnedAttribute(name, type, UMLPackage.Literals.PROPERTY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedAttribute(String name, Type type) {
+ return getOwnedAttribute(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedAttribute(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ ownedAttributeLoop : for (Property ownedAttribute : getOwnedAttributes()) {
+ if (eClass != null && !eClass.isInstance(ownedAttribute))
+ continue ownedAttributeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedAttribute.getName())
+ : name.equals(ownedAttribute.getName())))
+ continue ownedAttributeLoop;
+ if (type != null && !type.equals(ownedAttribute.getType()))
+ continue ownedAttributeLoop;
+ return ownedAttribute;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedAttribute(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type, int lower,
+ int upper) {
+ return SignalOperations.createOwnedAttribute(this, name, type, lower,
+ upper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.SIGNAL__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SIGNAL__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SIGNAL__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.SIGNAL__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SIGNAL__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SIGNAL__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SIGNAL__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.SIGNAL__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.SIGNAL__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SIGNAL__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.SIGNAL__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SIGNAL__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SIGNAL__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SIGNAL__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SIGNAL__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SIGNAL__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SIGNAL__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.SIGNAL__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.SIGNAL__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.SIGNAL__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.SIGNAL__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.SIGNAL__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.SIGNAL__NAME :
+ return getName();
+ case UMLPackage.SIGNAL__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.SIGNAL__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.SIGNAL__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.SIGNAL__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.SIGNAL__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.SIGNAL__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.SIGNAL__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.SIGNAL__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.SIGNAL__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.SIGNAL__MEMBER :
+ return getMembers();
+ case UMLPackage.SIGNAL__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.SIGNAL__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.SIGNAL__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.SIGNAL__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.SIGNAL__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.SIGNAL__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.SIGNAL__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.SIGNAL__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.SIGNAL__FEATURE :
+ return getFeatures();
+ case UMLPackage.SIGNAL__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.SIGNAL__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.SIGNAL__GENERAL :
+ return getGenerals();
+ case UMLPackage.SIGNAL__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.SIGNAL__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.SIGNAL__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.SIGNAL__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.SIGNAL__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.SIGNAL__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.SIGNAL__USE_CASE :
+ return getUseCases();
+ case UMLPackage.SIGNAL__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.SIGNAL__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.SIGNAL__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.SIGNAL__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.SIGNAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.SIGNAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.SIGNAL__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.SIGNAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.SIGNAL__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.SIGNAL__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.SIGNAL__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.SIGNAL__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.SIGNAL__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.SIGNAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.SIGNAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.SIGNAL__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.SIGNAL__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.SIGNAL__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.SIGNAL__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.SIGNAL__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.SIGNAL__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.SIGNAL__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.SIGNAL__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.SIGNAL__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.SIGNAL__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.SIGNAL__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.SIGNAL__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.SIGNAL__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.SIGNAL__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.SIGNAL__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SIGNAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.SIGNAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.SIGNAL__NAME :
+ unsetName();
+ return;
+ case UMLPackage.SIGNAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.SIGNAL__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.SIGNAL__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.SIGNAL__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.SIGNAL__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.SIGNAL__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.SIGNAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.SIGNAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.SIGNAL__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.SIGNAL__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.SIGNAL__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.SIGNAL__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.SIGNAL__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.SIGNAL__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.SIGNAL__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.SIGNAL__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.SIGNAL__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.SIGNAL__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.SIGNAL__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.SIGNAL__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.SIGNAL__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.SIGNAL__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.SIGNAL__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SIGNAL__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.SIGNAL__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.SIGNAL__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.SIGNAL__OWNER :
+ return isSetOwner();
+ case UMLPackage.SIGNAL__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.SIGNAL__NAME :
+ return isSetName();
+ case UMLPackage.SIGNAL__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.SIGNAL__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.SIGNAL__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.SIGNAL__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.SIGNAL__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.SIGNAL__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.SIGNAL__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.SIGNAL__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.SIGNAL__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.SIGNAL__MEMBER :
+ return isSetMembers();
+ case UMLPackage.SIGNAL__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.SIGNAL__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.SIGNAL__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.SIGNAL__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.SIGNAL__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.SIGNAL__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.SIGNAL__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.SIGNAL__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.SIGNAL__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.SIGNAL__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.SIGNAL__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.SIGNAL__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.SIGNAL__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.SIGNAL__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.SIGNAL__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.SIGNAL__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.SIGNAL__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.SIGNAL__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.SIGNAL__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.SIGNAL__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.SIGNAL__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.SIGNAL__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.SIGNAL__OWNED_ATTRIBUTE :
+ return !getOwnedAttributes().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.SIGNAL___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.SIGNAL___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.SIGNAL___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.SIGNAL___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.SIGNAL___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.SIGNAL___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.SIGNAL___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.SIGNAL___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.SIGNAL___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.SIGNAL___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.SIGNAL___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.SIGNAL___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.SIGNAL___GET_MODEL :
+ return getModel();
+ case UMLPackage.SIGNAL___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.SIGNAL___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.SIGNAL___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.SIGNAL___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.SIGNAL___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.SIGNAL___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.SIGNAL___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.SIGNAL___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.SIGNAL___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.SIGNAL___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.SIGNAL___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.SIGNAL___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.SIGNAL___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.SIGNAL___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.SIGNAL___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.SIGNAL___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.SIGNAL___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.SIGNAL___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.SIGNAL___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.SIGNAL___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.SIGNAL___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.SIGNAL___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.SIGNAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.SIGNAL___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.SIGNAL___GET_LABEL :
+ return getLabel();
+ case UMLPackage.SIGNAL___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.SIGNAL___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.SIGNAL___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.SIGNAL___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.SIGNAL___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.SIGNAL___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.SIGNAL___SEPARATOR :
+ return separator();
+ case UMLPackage.SIGNAL___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.SIGNAL___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.SIGNAL___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.SIGNAL___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.SIGNAL___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.SIGNAL___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.SIGNAL___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.SIGNAL___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.SIGNAL___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.SIGNAL___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.SIGNAL___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.SIGNAL___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.SIGNAL___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.SIGNAL___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.SIGNAL___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.SIGNAL___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.SIGNAL___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.SIGNAL___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.SIGNAL___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.SIGNAL___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.SIGNAL___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.SIGNAL___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.SIGNAL___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.SIGNAL___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.SIGNAL___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.SIGNAL___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.SIGNAL___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.SIGNAL___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.SIGNAL___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.SIGNAL___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.SIGNAL___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.SIGNAL___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.SIGNAL___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.SIGNAL___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.SIGNAL___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.SIGNAL___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.SIGNAL___PARENTS :
+ return parents();
+ case UMLPackage.SIGNAL___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.SIGNAL___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.SIGNAL___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.SIGNAL___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.SIGNAL___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.SIGNAL___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.SIGNAL___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.SIGNAL___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetAttributes() {
+ return super.isSetAttributes()
+ || eIsSet(UMLPackage.SIGNAL__OWNED_ATTRIBUTE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getAttributes() <em>Attribute</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributes()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] ATTRIBUTE_ESUBSETS = new int[]{
+ UMLPackage.SIGNAL__OWNED_ATTRIBUTE};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.SIGNAL__OWNED_RULE, UMLPackage.SIGNAL__OWNED_USE_CASE,
+ UMLPackage.SIGNAL__OWNED_ATTRIBUTE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.SIGNAL__OWNED_ATTRIBUTE);
+ }
+
+} //SignalImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SlotImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SlotImpl.java
new file mode 100644
index 00000000..f73619bb
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SlotImpl.java
@@ -0,0 +1,482 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Slot</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SlotImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SlotImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SlotImpl#getDefiningFeature <em>Defining Feature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SlotImpl#getValues <em>Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SlotImpl#getOwningInstance <em>Owning Instance</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SlotImpl
+ extends ElementImpl
+ implements Slot {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SlotImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.SLOT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.SLOT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.SLOT__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceSpecification getOwningInstance() {
+ return (InstanceSpecification) eDynamicGet(
+ UMLPackage.SLOT__OWNING_INSTANCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SLOT__OWNING_INSTANCE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceSpecification basicGetOwningInstance() {
+ return (InstanceSpecification) eDynamicGet(
+ UMLPackage.SLOT__OWNING_INSTANCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SLOT__OWNING_INSTANCE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwningInstance(
+ InstanceSpecification newOwningInstance, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newOwningInstance,
+ UMLPackage.SLOT__OWNING_INSTANCE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwningInstance(InstanceSpecification newOwningInstance) {
+ eDynamicSet(UMLPackage.SLOT__OWNING_INSTANCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SLOT__OWNING_INSTANCE, newOwningInstance);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuralFeature getDefiningFeature() {
+ return (StructuralFeature) eDynamicGet(
+ UMLPackage.SLOT__DEFINING_FEATURE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SLOT__DEFINING_FEATURE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuralFeature basicGetDefiningFeature() {
+ return (StructuralFeature) eDynamicGet(
+ UMLPackage.SLOT__DEFINING_FEATURE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SLOT__DEFINING_FEATURE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefiningFeature(StructuralFeature newDefiningFeature) {
+ eDynamicSet(UMLPackage.SLOT__DEFINING_FEATURE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SLOT__DEFINING_FEATURE, newDefiningFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ValueSpecification> getValues() {
+ return (EList<ValueSpecification>) eDynamicGet(
+ UMLPackage.SLOT__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SLOT__VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newValue = (ValueSpecification) create(eClass);
+ getValues().add(newValue);
+ if (name != null)
+ newValue.setName(name);
+ if (type != null)
+ newValue.setType(type);
+ return newValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getValue(String name, Type type) {
+ return getValue(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getValue(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ valueLoop : for (ValueSpecification value : getValues()) {
+ if (eClass != null && !eClass.isInstance(value))
+ continue valueLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(value.getName())
+ : name.equals(value.getName())))
+ continue valueLoop;
+ if (type != null && !type.equals(value.getType()))
+ continue valueLoop;
+ return value;
+ }
+ return createOnDemand && eClass != null
+ ? createValue(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.SLOT__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.SLOT__OWNING_INSTANCE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningInstance((InstanceSpecification) otherEnd,
+ msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.SLOT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SLOT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SLOT__VALUE :
+ return ((InternalEList<?>) getValues()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.SLOT__OWNING_INSTANCE :
+ return basicSetOwningInstance(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.SLOT__OWNING_INSTANCE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.INSTANCE_SPECIFICATION__SLOT,
+ InstanceSpecification.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.SLOT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.SLOT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.SLOT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.SLOT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.SLOT__DEFINING_FEATURE :
+ if (resolve)
+ return getDefiningFeature();
+ return basicGetDefiningFeature();
+ case UMLPackage.SLOT__VALUE :
+ return getValues();
+ case UMLPackage.SLOT__OWNING_INSTANCE :
+ if (resolve)
+ return getOwningInstance();
+ return basicGetOwningInstance();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.SLOT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.SLOT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.SLOT__DEFINING_FEATURE :
+ setDefiningFeature((StructuralFeature) newValue);
+ return;
+ case UMLPackage.SLOT__VALUE :
+ getValues().clear();
+ getValues().addAll(
+ (Collection<? extends ValueSpecification>) newValue);
+ return;
+ case UMLPackage.SLOT__OWNING_INSTANCE :
+ setOwningInstance((InstanceSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SLOT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.SLOT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.SLOT__DEFINING_FEATURE :
+ setDefiningFeature((StructuralFeature) null);
+ return;
+ case UMLPackage.SLOT__VALUE :
+ getValues().clear();
+ return;
+ case UMLPackage.SLOT__OWNING_INSTANCE :
+ setOwningInstance((InstanceSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SLOT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.SLOT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.SLOT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.SLOT__OWNER :
+ return isSetOwner();
+ case UMLPackage.SLOT__DEFINING_FEATURE :
+ return basicGetDefiningFeature() != null;
+ case UMLPackage.SLOT__VALUE :
+ return !getValues().isEmpty();
+ case UMLPackage.SLOT__OWNING_INSTANCE :
+ return basicGetOwningInstance() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.SLOT__OWNED_COMMENT, UMLPackage.SLOT__VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ InstanceSpecification owningInstance = basicGetOwningInstance();
+ if (owningInstance != null) {
+ return owningInstance;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner() || eIsSet(UMLPackage.SLOT__OWNING_INSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements() || eIsSet(UMLPackage.SLOT__VALUE);
+ }
+
+} //SlotImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StartClassifierBehaviorActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StartClassifierBehaviorActionImpl.java
new file mode 100644
index 00000000..04799540
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StartClassifierBehaviorActionImpl.java
@@ -0,0 +1,763 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.StartClassifierBehaviorActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Start Classifier Behavior Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StartClassifierBehaviorActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StartClassifierBehaviorActionImpl#getObject <em>Object</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StartClassifierBehaviorActionImpl
+ extends ActionImpl
+ implements StartClassifierBehaviorAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StartClassifierBehaviorActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.START_CLASSIFIER_BEHAVIOR_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObject(InputPin newObject,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newObject,
+ UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObject(InputPin newObject) {
+ eDynamicSet(
+ UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT,
+ newObject);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type, EClass eClass) {
+ InputPin newObject = (InputPin) create(eClass);
+ setObject(newObject);
+ if (name != null)
+ newObject.setName(name);
+ if (type != null)
+ newObject.setType(type);
+ return newObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type) {
+ return createObject(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StartClassifierBehaviorActionOperations
+ .validateMultiplicity(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeHasClassifier(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StartClassifierBehaviorActionOperations
+ .validateTypeHasClassifier(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__NAME :
+ return getName();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT :
+ return basicGetObject() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_TYPE_HAS_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateTypeHasClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT);
+ }
+
+} //StartClassifierBehaviorActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StartObjectBehaviorActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StartObjectBehaviorActionImpl.java
new file mode 100644
index 00000000..4a1d6272
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StartObjectBehaviorActionImpl.java
@@ -0,0 +1,903 @@
+/*
+ * Copyright (c) 2008, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.StartObjectBehaviorActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Start Object Behavior Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StartObjectBehaviorActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StartObjectBehaviorActionImpl#getObject <em>Object</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StartObjectBehaviorActionImpl
+ extends CallActionImpl
+ implements StartObjectBehaviorAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StartObjectBehaviorActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.START_OBJECT_BEHAVIOR_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.START_OBJECT_BEHAVIOR_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.START_OBJECT_BEHAVIOR_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ARGUMENT,
+ UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OBJECT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.START_OBJECT_BEHAVIOR_ACTION__OBJECT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.START_OBJECT_BEHAVIOR_ACTION__OBJECT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObject(InputPin newObject,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newObject,
+ UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OBJECT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObject(InputPin newObject) {
+ eDynamicSet(
+ UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.START_OBJECT_BEHAVIOR_ACTION__OBJECT,
+ newObject);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type, EClass eClass) {
+ InputPin newObject = (InputPin) create(eClass);
+ setObject(newObject);
+ if (name != null)
+ newObject.setName(name);
+ if (type != null)
+ newObject.setType(type);
+ return newObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type) {
+ return createObject(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeOfObject(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StartObjectBehaviorActionOperations.validateTypeOfObject(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoOnport(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StartObjectBehaviorActionOperations.validateNoOnport(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior behavior() {
+ return StartObjectBehaviorActionOperations.behavior(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Parameter> outputParameters() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Parameter> result = (EList<Parameter>) cache.get(this,
+ UMLPackage.Literals.CALL_ACTION___OUTPUT_PARAMETERS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CALL_ACTION___OUTPUT_PARAMETERS,
+ result = StartObjectBehaviorActionOperations
+ .outputParameters(this));
+ }
+ return result;
+ }
+ return StartObjectBehaviorActionOperations.outputParameters(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Parameter> inputParameters() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Parameter> result = (EList<Parameter>) cache.get(this,
+ UMLPackage.Literals.CALL_ACTION___INPUT_PARAMETERS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.CALL_ACTION___INPUT_PARAMETERS,
+ result = StartObjectBehaviorActionOperations
+ .inputParameters(this));
+ }
+ return result;
+ }
+ return StartObjectBehaviorActionOperations.inputParameters(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfObject(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StartObjectBehaviorActionOperations
+ .validateMultiplicityOfObject(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ARGUMENT :
+ return ((InternalEList<?>) getArguments()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__RESULT :
+ return ((InternalEList<?>) getResults()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__NAME :
+ return getName();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ARGUMENT :
+ return getArguments();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ON_PORT :
+ if (resolve)
+ return getOnPort();
+ return basicGetOnPort();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IS_SYNCHRONOUS :
+ return isSynchronous();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__RESULT :
+ return getResults();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ARGUMENT :
+ getArguments().clear();
+ getArguments()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ON_PORT :
+ setOnPort((Port) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IS_SYNCHRONOUS :
+ setIsSynchronous((Boolean) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__RESULT :
+ getResults().clear();
+ getResults().addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ARGUMENT :
+ getArguments().clear();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ON_PORT :
+ setOnPort((Port) null);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IS_SYNCHRONOUS :
+ setIsSynchronous(IS_SYNCHRONOUS_EDEFAULT);
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__RESULT :
+ getResults().clear();
+ return;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ARGUMENT :
+ return !getArguments().isEmpty();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ON_PORT :
+ return basicGetOnPort() != null;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IS_SYNCHRONOUS :
+ return isSynchronous() != IS_SYNCHRONOUS_EDEFAULT;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__RESULT :
+ return !getResults().isEmpty();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OBJECT :
+ return basicGetObject() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_ARGUMENT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateArgumentPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_RESULT_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateResultPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP :
+ return validateSynchronousCall(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___INPUT_PARAMETERS :
+ return inputParameters();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___OUTPUT_PARAMETERS :
+ return outputParameters();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfObject(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_TYPE_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfObject((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_NO_ONPORT__DIAGNOSTICCHAIN_MAP :
+ return validateNoOnport((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___BEHAVIOR :
+ return behavior();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.START_OBJECT_BEHAVIOR_ACTION__OBJECT);
+ }
+
+} //StartObjectBehaviorActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StateImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StateImpl.java
new file mode 100644
index 00000000..dcc8be1f
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StateImpl.java
@@ -0,0 +1,2161 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EcoreEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentWithInverseEList;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Vertex;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.RedefinableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.StateOperations;
+import org.eclipse.uml2.uml.internal.operations.VertexOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>State</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getRedefinedElements <em>Redefined Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getRedefinitionContexts <em>Redefinition Context</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#isLeaf <em>Is Leaf</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getContainer <em>Container</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getIncomings <em>Incoming</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getOutgoings <em>Outgoing</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getOwnedRules <em>Owned Rule</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getConnections <em>Connection</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getConnectionPoints <em>Connection Point</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getDeferrableTriggers <em>Deferrable Trigger</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getDoActivity <em>Do Activity</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getEntry <em>Entry</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getExit <em>Exit</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#isComposite <em>Is Composite</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#isOrthogonal <em>Is Orthogonal</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#isSimple <em>Is Simple</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#isSubmachineState <em>Is Submachine State</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getRedefinedState <em>Redefined State</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getStateInvariant <em>State Invariant</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getSubmachine <em>Submachine</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateImpl#getRegions <em>Region</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StateImpl
+ extends NamespaceImpl
+ implements State {
+
+ /**
+ * The default value of the '{@link #isLeaf() <em>Is Leaf</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLeaf()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_LEAF_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isComposite() <em>Is Composite</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isComposite()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_COMPOSITE_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isOrthogonal() <em>Is Orthogonal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOrthogonal()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ORTHOGONAL_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isSimple() <em>Is Simple</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSimple()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_SIMPLE_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #isSubmachineState() <em>Is Submachine State</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSubmachineState()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_SUBMACHINE_STATE_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.STATE;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.NAMESPACE__OWNED_RULE) {
+ return createOwnedRulesList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RedefinableElement> getRedefinedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<RedefinableElement> redefinedElements = (EList<RedefinableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT);
+ if (redefinedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT,
+ redefinedElements = new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.STATE__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS));
+ }
+ return redefinedElements;
+ }
+ return new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this, UMLPackage.STATE__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList<Classifier> getRedefinitionContexts() {
+ CacheAdapter cache = getCacheAdapter();
+
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Classifier> result = (EList<Classifier>) cache.get(this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+
+ if (result == null) {
+ Classifier redefinitionContext = redefinitionContext();
+ List<Classifier> redefinitionContexts = redefinitionContext == null
+ ? Collections.<Classifier> emptyList()
+ : Collections.singletonList(redefinitionContext);
+ cache.put(this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ result = new EcoreEList.UnmodifiableEList<Classifier>(this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts.size(),
+ redefinitionContexts.toArray()));
+ }
+
+ return result;
+ }
+
+ Classifier redefinitionContext = redefinitionContext();
+ List<Classifier> redefinitionContexts = redefinitionContext == null
+ ? Collections.<Classifier> emptyList()
+ : Collections.singletonList(redefinitionContext);
+ return new EcoreEList.UnmodifiableEList<Classifier>(this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts.size(), redefinitionContexts.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinitionContext(String name) {
+ return getRedefinitionContext(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinitionContext(String name, boolean ignoreCase,
+ EClass eClass) {
+ redefinitionContextLoop : for (Classifier redefinitionContext : getRedefinitionContexts()) {
+ if (eClass != null && !eClass.isInstance(redefinitionContext))
+ continue redefinitionContextLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinitionContext.getName())
+ : name.equals(redefinitionContext.getName())))
+ continue redefinitionContextLoop;
+ return redefinitionContext;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRedefinitionContexts() {
+ return !getRedefinitionContexts().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isLeaf() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.STATE__IS_LEAF - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__IS_LEAF, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsLeaf(boolean newIsLeaf) {
+ eDynamicSet(UMLPackage.STATE__IS_LEAF - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__IS_LEAF, newIsLeaf);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Transition> getOutgoings() {
+ return VertexOperations.getOutgoings(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition getOutgoing(String name) {
+ return getOutgoing(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition getOutgoing(String name, boolean ignoreCase,
+ EClass eClass) {
+ outgoingLoop : for (Transition outgoing : getOutgoings()) {
+ if (eClass != null && !eClass.isInstance(outgoing))
+ continue outgoingLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(outgoing.getName())
+ : name.equals(outgoing.getName())))
+ continue outgoingLoop;
+ return outgoing;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Transition> getIncomings() {
+ return VertexOperations.getIncomings(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition getIncoming(String name) {
+ return getIncoming(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition getIncoming(String name, boolean ignoreCase,
+ EClass eClass) {
+ incomingLoop : for (Transition incoming : getIncomings()) {
+ if (eClass != null && !eClass.isInstance(incoming))
+ continue incomingLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(incoming.getName())
+ : name.equals(incoming.getName())))
+ continue incomingLoop;
+ return incoming;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region getContainer() {
+ return (Region) eDynamicGet(
+ UMLPackage.STATE__CONTAINER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VERTEX__CONTAINER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region basicGetContainer() {
+ return (Region) eDynamicGet(
+ UMLPackage.STATE__CONTAINER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VERTEX__CONTAINER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetContainer(Region newContainer,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newContainer,
+ UMLPackage.STATE__CONTAINER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setContainer(Region newContainer) {
+ eDynamicSet(UMLPackage.STATE__CONTAINER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VERTEX__CONTAINER, newContainer);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.STATE__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.STATE__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.STATE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.STATE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isComposite() {
+ return StateOperations.isComposite(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOrthogonal() {
+ return StateOperations.isOrthogonal(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSimple() {
+ return StateOperations.isSimple(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSubmachineState() {
+ return StateOperations.isSubmachineState(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachine getSubmachine() {
+ return (StateMachine) eDynamicGet(
+ UMLPackage.STATE__SUBMACHINE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__SUBMACHINE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachine basicGetSubmachine() {
+ return (StateMachine) eDynamicGet(
+ UMLPackage.STATE__SUBMACHINE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__SUBMACHINE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSubmachine(StateMachine newSubmachine,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newSubmachine,
+ UMLPackage.STATE__SUBMACHINE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSubmachine(StateMachine newSubmachine) {
+ eDynamicSet(UMLPackage.STATE__SUBMACHINE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__SUBMACHINE, newSubmachine);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ConnectionPointReference> getConnections() {
+ return (EList<ConnectionPointReference>) eDynamicGet(
+ UMLPackage.STATE__CONNECTION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__CONNECTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectionPointReference createConnection(String name) {
+ ConnectionPointReference newConnection = (ConnectionPointReference) create(
+ UMLPackage.Literals.CONNECTION_POINT_REFERENCE);
+ getConnections().add(newConnection);
+ if (name != null)
+ newConnection.setName(name);
+ return newConnection;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectionPointReference getConnection(String name) {
+ return getConnection(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectionPointReference getConnection(String name,
+ boolean ignoreCase, boolean createOnDemand) {
+ connectionLoop : for (ConnectionPointReference connection : getConnections()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(connection.getName())
+ : name.equals(connection.getName())))
+ continue connectionLoop;
+ return connection;
+ }
+ return createOnDemand
+ ? createConnection(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Pseudostate> getConnectionPoints() {
+ return (EList<Pseudostate>) eDynamicGet(
+ UMLPackage.STATE__CONNECTION_POINT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__CONNECTION_POINT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Pseudostate createConnectionPoint(String name) {
+ Pseudostate newConnectionPoint = (Pseudostate) create(
+ UMLPackage.Literals.PSEUDOSTATE);
+ getConnectionPoints().add(newConnectionPoint);
+ if (name != null)
+ newConnectionPoint.setName(name);
+ return newConnectionPoint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Pseudostate getConnectionPoint(String name) {
+ return getConnectionPoint(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Pseudostate getConnectionPoint(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ connectionPointLoop : for (Pseudostate connectionPoint : getConnectionPoints()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(connectionPoint.getName())
+ : name.equals(connectionPoint.getName())))
+ continue connectionPointLoop;
+ return connectionPoint;
+ }
+ return createOnDemand
+ ? createConnectionPoint(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State getRedefinedState() {
+ return (State) eDynamicGet(
+ UMLPackage.STATE__REDEFINED_STATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__REDEFINED_STATE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State basicGetRedefinedState() {
+ return (State) eDynamicGet(
+ UMLPackage.STATE__REDEFINED_STATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__REDEFINED_STATE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRedefinedState(State newRedefinedState) {
+ eDynamicSet(UMLPackage.STATE__REDEFINED_STATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__REDEFINED_STATE, newRedefinedState);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getStateInvariant() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.STATE__STATE_INVARIANT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__STATE_INVARIANT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint basicGetStateInvariant() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.STATE__STATE_INVARIANT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__STATE_INVARIANT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStateInvariant(Constraint newStateInvariant) {
+ eDynamicSet(UMLPackage.STATE__STATE_INVARIANT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__STATE_INVARIANT, newStateInvariant);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newStateInvariant != null) {
+ EList<Constraint> ownedRules = getOwnedRules();
+ if (!ownedRules.contains(newStateInvariant)) {
+ ownedRules.add(newStateInvariant);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createStateInvariant(String name, EClass eClass) {
+ Constraint newStateInvariant = (Constraint) create(eClass);
+ setStateInvariant(newStateInvariant);
+ if (name != null)
+ newStateInvariant.setName(name);
+ return newStateInvariant;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createStateInvariant(String name) {
+ return createStateInvariant(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getEntry() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.STATE__ENTRY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__ENTRY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetEntry() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.STATE__ENTRY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__ENTRY, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEntry(Behavior newEntry,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newEntry,
+ UMLPackage.STATE__ENTRY, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEntry(Behavior newEntry) {
+ eDynamicSet(UMLPackage.STATE__ENTRY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__ENTRY, newEntry);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior createEntry(String name, EClass eClass) {
+ Behavior newEntry = (Behavior) create(eClass);
+ setEntry(newEntry);
+ if (name != null)
+ newEntry.setName(name);
+ return newEntry;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getExit() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.STATE__EXIT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__EXIT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetExit() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.STATE__EXIT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__EXIT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExit(Behavior newExit,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newExit,
+ UMLPackage.STATE__EXIT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExit(Behavior newExit) {
+ eDynamicSet(UMLPackage.STATE__EXIT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__EXIT, newExit);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior createExit(String name, EClass eClass) {
+ Behavior newExit = (Behavior) create(eClass);
+ setExit(newExit);
+ if (name != null)
+ newExit.setName(name);
+ return newExit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getDoActivity() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.STATE__DO_ACTIVITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__DO_ACTIVITY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetDoActivity() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.STATE__DO_ACTIVITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__DO_ACTIVITY, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDoActivity(Behavior newDoActivity,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newDoActivity,
+ UMLPackage.STATE__DO_ACTIVITY, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDoActivity(Behavior newDoActivity) {
+ eDynamicSet(UMLPackage.STATE__DO_ACTIVITY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__DO_ACTIVITY, newDoActivity);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior createDoActivity(String name, EClass eClass) {
+ Behavior newDoActivity = (Behavior) create(eClass);
+ setDoActivity(newDoActivity);
+ if (name != null)
+ newDoActivity.setName(name);
+ return newDoActivity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Trigger> getDeferrableTriggers() {
+ return (EList<Trigger>) eDynamicGet(
+ UMLPackage.STATE__DEFERRABLE_TRIGGER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__DEFERRABLE_TRIGGER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Trigger createDeferrableTrigger(String name) {
+ Trigger newDeferrableTrigger = (Trigger) create(
+ UMLPackage.Literals.TRIGGER);
+ getDeferrableTriggers().add(newDeferrableTrigger);
+ if (name != null)
+ newDeferrableTrigger.setName(name);
+ return newDeferrableTrigger;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Trigger getDeferrableTrigger(String name) {
+ return getDeferrableTrigger(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Trigger getDeferrableTrigger(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ deferrableTriggerLoop : for (Trigger deferrableTrigger : getDeferrableTriggers()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(deferrableTrigger.getName())
+ : name.equals(deferrableTrigger.getName())))
+ continue deferrableTriggerLoop;
+ return deferrableTrigger;
+ }
+ return createOnDemand
+ ? createDeferrableTrigger(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Region> getRegions() {
+ return (EList<Region>) eDynamicGet(
+ UMLPackage.STATE__REGION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE__REGION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region createRegion(String name) {
+ Region newRegion = (Region) create(UMLPackage.Literals.REGION);
+ getRegions().add(newRegion);
+ if (name != null)
+ newRegion.setName(name);
+ return newRegion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region getRegion(String name) {
+ return getRegion(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region getRegion(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ regionLoop : for (Region region : getRegions()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(region.getName())
+ : name.equals(region.getName())))
+ continue regionLoop;
+ return region;
+ }
+ return createOnDemand
+ ? createRegion(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinitionContextValid(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations
+ .validateRedefinitionContextValid(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinitionConsistent(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations.validateRedefinitionConsistent(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNonLeafRedefinition(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations.validateNonLeafRedefinition(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRedefinitionContextValid(
+ RedefinableElement redefinedElement) {
+ return StateOperations.isRedefinitionContextValid(this,
+ redefinedElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isConsistentWith(RedefinableElement redefiningElement) {
+ return StateOperations.isConsistentWith(this, redefiningElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSubmachineStates(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StateOperations.validateSubmachineStates(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDestinationsOrSourcesOfTransitions(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return StateOperations.validateDestinationsOrSourcesOfTransitions(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSubmachineOrRegions(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StateOperations.validateSubmachineOrRegions(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCompositeStates(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StateOperations.validateCompositeStates(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEntryOrExit(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StateOperations.validateEntryOrExit(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier redefinitionContext() {
+ return StateOperations.redefinitionContext(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachine containingStateMachine() {
+ return StateOperations.containingStateMachine(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isContainedInState(State s) {
+ return VertexOperations.isContainedInState(this, s);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isContainedInRegion(Region r) {
+ return VertexOperations.isContainedInRegion(this, r);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STATE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE__CONTAINER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetContainer((Region) otherEnd, msgs);
+ case UMLPackage.STATE__CONNECTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getConnections())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE__CONNECTION_POINT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getConnectionPoints())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE__SUBMACHINE :
+ StateMachine submachine = basicGetSubmachine();
+ if (submachine != null)
+ msgs = ((InternalEObject) submachine).eInverseRemove(this,
+ UMLPackage.STATE_MACHINE__SUBMACHINE_STATE,
+ StateMachine.class, msgs);
+ return basicSetSubmachine((StateMachine) otherEnd, msgs);
+ case UMLPackage.STATE__REGION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getRegions())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STATE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.STATE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE__CONTAINER :
+ return basicSetContainer(null, msgs);
+ case UMLPackage.STATE__CONNECTION :
+ return ((InternalEList<?>) getConnections())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE__CONNECTION_POINT :
+ return ((InternalEList<?>) getConnectionPoints())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE__DEFERRABLE_TRIGGER :
+ return ((InternalEList<?>) getDeferrableTriggers())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE__DO_ACTIVITY :
+ return basicSetDoActivity(null, msgs);
+ case UMLPackage.STATE__ENTRY :
+ return basicSetEntry(null, msgs);
+ case UMLPackage.STATE__EXIT :
+ return basicSetExit(null, msgs);
+ case UMLPackage.STATE__SUBMACHINE :
+ return basicSetSubmachine(null, msgs);
+ case UMLPackage.STATE__REGION :
+ return ((InternalEList<?>) getRegions()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.STATE__CONTAINER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.REGION__SUBVERTEX, Region.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.STATE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.STATE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.STATE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.STATE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.STATE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.STATE__NAME :
+ return getName();
+ case UMLPackage.STATE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.STATE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.STATE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STATE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.STATE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.STATE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.STATE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.STATE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.STATE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.STATE__MEMBER :
+ return getMembers();
+ case UMLPackage.STATE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.STATE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.STATE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.STATE__CONTAINER :
+ if (resolve)
+ return getContainer();
+ return basicGetContainer();
+ case UMLPackage.STATE__INCOMING :
+ return getIncomings();
+ case UMLPackage.STATE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.STATE__CONNECTION :
+ return getConnections();
+ case UMLPackage.STATE__CONNECTION_POINT :
+ return getConnectionPoints();
+ case UMLPackage.STATE__DEFERRABLE_TRIGGER :
+ return getDeferrableTriggers();
+ case UMLPackage.STATE__DO_ACTIVITY :
+ if (resolve)
+ return getDoActivity();
+ return basicGetDoActivity();
+ case UMLPackage.STATE__ENTRY :
+ if (resolve)
+ return getEntry();
+ return basicGetEntry();
+ case UMLPackage.STATE__EXIT :
+ if (resolve)
+ return getExit();
+ return basicGetExit();
+ case UMLPackage.STATE__IS_COMPOSITE :
+ return isComposite();
+ case UMLPackage.STATE__IS_ORTHOGONAL :
+ return isOrthogonal();
+ case UMLPackage.STATE__IS_SIMPLE :
+ return isSimple();
+ case UMLPackage.STATE__IS_SUBMACHINE_STATE :
+ return isSubmachineState();
+ case UMLPackage.STATE__REDEFINED_STATE :
+ if (resolve)
+ return getRedefinedState();
+ return basicGetRedefinedState();
+ case UMLPackage.STATE__STATE_INVARIANT :
+ if (resolve)
+ return getStateInvariant();
+ return basicGetStateInvariant();
+ case UMLPackage.STATE__SUBMACHINE :
+ if (resolve)
+ return getSubmachine();
+ return basicGetSubmachine();
+ case UMLPackage.STATE__REGION :
+ return getRegions();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.STATE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.STATE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.STATE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.STATE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.STATE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.STATE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.STATE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.STATE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.STATE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.STATE__CONTAINER :
+ setContainer((Region) newValue);
+ return;
+ case UMLPackage.STATE__CONNECTION :
+ getConnections().clear();
+ getConnections().addAll(
+ (Collection<? extends ConnectionPointReference>) newValue);
+ return;
+ case UMLPackage.STATE__CONNECTION_POINT :
+ getConnectionPoints().clear();
+ getConnectionPoints()
+ .addAll((Collection<? extends Pseudostate>) newValue);
+ return;
+ case UMLPackage.STATE__DEFERRABLE_TRIGGER :
+ getDeferrableTriggers().clear();
+ getDeferrableTriggers()
+ .addAll((Collection<? extends Trigger>) newValue);
+ return;
+ case UMLPackage.STATE__DO_ACTIVITY :
+ setDoActivity((Behavior) newValue);
+ return;
+ case UMLPackage.STATE__ENTRY :
+ setEntry((Behavior) newValue);
+ return;
+ case UMLPackage.STATE__EXIT :
+ setExit((Behavior) newValue);
+ return;
+ case UMLPackage.STATE__REDEFINED_STATE :
+ setRedefinedState((State) newValue);
+ return;
+ case UMLPackage.STATE__STATE_INVARIANT :
+ setStateInvariant((Constraint) newValue);
+ return;
+ case UMLPackage.STATE__SUBMACHINE :
+ setSubmachine((StateMachine) newValue);
+ return;
+ case UMLPackage.STATE__REGION :
+ getRegions().clear();
+ getRegions().addAll((Collection<? extends Region>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STATE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.STATE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.STATE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.STATE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.STATE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.STATE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.STATE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.STATE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.STATE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.STATE__CONTAINER :
+ setContainer((Region) null);
+ return;
+ case UMLPackage.STATE__CONNECTION :
+ getConnections().clear();
+ return;
+ case UMLPackage.STATE__CONNECTION_POINT :
+ getConnectionPoints().clear();
+ return;
+ case UMLPackage.STATE__DEFERRABLE_TRIGGER :
+ getDeferrableTriggers().clear();
+ return;
+ case UMLPackage.STATE__DO_ACTIVITY :
+ setDoActivity((Behavior) null);
+ return;
+ case UMLPackage.STATE__ENTRY :
+ setEntry((Behavior) null);
+ return;
+ case UMLPackage.STATE__EXIT :
+ setExit((Behavior) null);
+ return;
+ case UMLPackage.STATE__REDEFINED_STATE :
+ setRedefinedState((State) null);
+ return;
+ case UMLPackage.STATE__STATE_INVARIANT :
+ setStateInvariant((Constraint) null);
+ return;
+ case UMLPackage.STATE__SUBMACHINE :
+ setSubmachine((StateMachine) null);
+ return;
+ case UMLPackage.STATE__REGION :
+ getRegions().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STATE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.STATE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.STATE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.STATE__OWNER :
+ return isSetOwner();
+ case UMLPackage.STATE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.STATE__NAME :
+ return isSetName();
+ case UMLPackage.STATE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.STATE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.STATE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.STATE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.STATE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.STATE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.STATE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.STATE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.STATE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.STATE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.STATE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.STATE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.STATE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.STATE__CONTAINER :
+ return basicGetContainer() != null;
+ case UMLPackage.STATE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.STATE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.STATE__CONNECTION :
+ return !getConnections().isEmpty();
+ case UMLPackage.STATE__CONNECTION_POINT :
+ return !getConnectionPoints().isEmpty();
+ case UMLPackage.STATE__DEFERRABLE_TRIGGER :
+ return !getDeferrableTriggers().isEmpty();
+ case UMLPackage.STATE__DO_ACTIVITY :
+ return basicGetDoActivity() != null;
+ case UMLPackage.STATE__ENTRY :
+ return basicGetEntry() != null;
+ case UMLPackage.STATE__EXIT :
+ return basicGetExit() != null;
+ case UMLPackage.STATE__IS_COMPOSITE :
+ return isComposite() != IS_COMPOSITE_EDEFAULT;
+ case UMLPackage.STATE__IS_ORTHOGONAL :
+ return isOrthogonal() != IS_ORTHOGONAL_EDEFAULT;
+ case UMLPackage.STATE__IS_SIMPLE :
+ return isSimple() != IS_SIMPLE_EDEFAULT;
+ case UMLPackage.STATE__IS_SUBMACHINE_STATE :
+ return isSubmachineState() != IS_SUBMACHINE_STATE_EDEFAULT;
+ case UMLPackage.STATE__REDEFINED_STATE :
+ return basicGetRedefinedState() != null;
+ case UMLPackage.STATE__STATE_INVARIANT :
+ return basicGetStateInvariant() != null;
+ case UMLPackage.STATE__SUBMACHINE :
+ return basicGetSubmachine() != null;
+ case UMLPackage.STATE__REGION :
+ return !getRegions().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.STATE__IS_LEAF :
+ return UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF;
+ case UMLPackage.STATE__REDEFINED_ELEMENT :
+ return UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT;
+ case UMLPackage.STATE__REDEFINITION_CONTEXT :
+ return UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == Vertex.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.STATE__CONTAINER :
+ return UMLPackage.VERTEX__CONTAINER;
+ case UMLPackage.STATE__INCOMING :
+ return UMLPackage.VERTEX__INCOMING;
+ case UMLPackage.STATE__OUTGOING :
+ return UMLPackage.VERTEX__OUTGOING;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF :
+ return UMLPackage.STATE__IS_LEAF;
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT :
+ return UMLPackage.STATE__REDEFINED_ELEMENT;
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT :
+ return UMLPackage.STATE__REDEFINITION_CONTEXT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == Vertex.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.VERTEX__CONTAINER :
+ return UMLPackage.STATE__CONTAINER;
+ case UMLPackage.VERTEX__INCOMING :
+ return UMLPackage.STATE__INCOMING;
+ case UMLPackage.VERTEX__OUTGOING :
+ return UMLPackage.STATE__OUTGOING;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STATE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STATE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STATE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return UMLPackage.STATE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT;
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return UMLPackage.STATE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == Vertex.class) {
+ switch (baseOperationID) {
+ case UMLPackage.VERTEX___CONTAINING_STATE_MACHINE :
+ return UMLPackage.STATE___CONTAINING_STATE_MACHINE;
+ case UMLPackage.VERTEX___GET_INCOMINGS :
+ return UMLPackage.STATE___GET_INCOMINGS;
+ case UMLPackage.VERTEX___GET_OUTGOINGS :
+ return UMLPackage.STATE___GET_OUTGOINGS;
+ case UMLPackage.VERTEX___IS_CONTAINED_IN_STATE__STATE :
+ return UMLPackage.STATE___IS_CONTAINED_IN_STATE__STATE;
+ case UMLPackage.VERTEX___IS_CONTAINED_IN_REGION__REGION :
+ return UMLPackage.STATE___IS_CONTAINED_IN_REGION__REGION;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.STATE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.STATE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.STATE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STATE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.STATE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.STATE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.STATE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.STATE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.STATE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.STATE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.STATE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STATE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.STATE___GET_MODEL :
+ return getModel();
+ case UMLPackage.STATE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.STATE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.STATE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.STATE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.STATE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.STATE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.STATE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STATE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.STATE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.STATE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.STATE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STATE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STATE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.STATE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STATE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.STATE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.STATE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.STATE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.STATE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.STATE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STATE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.STATE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.STATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.STATE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.STATE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.STATE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.STATE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.STATE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.STATE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.STATE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.STATE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STATE___SEPARATOR :
+ return separator();
+ case UMLPackage.STATE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.STATE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.STATE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.STATE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.STATE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.STATE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.STATE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.STATE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.STATE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.STATE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.STATE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.STATE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.STATE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.STATE___CONTAINING_STATE_MACHINE :
+ return containingStateMachine();
+ case UMLPackage.STATE___GET_INCOMINGS :
+ return getIncomings();
+ case UMLPackage.STATE___GET_OUTGOINGS :
+ return getOutgoings();
+ case UMLPackage.STATE___IS_CONTAINED_IN_STATE__STATE :
+ return isContainedInState((State) arguments.get(0));
+ case UMLPackage.STATE___IS_CONTAINED_IN_REGION__REGION :
+ return isContainedInRegion((Region) arguments.get(0));
+ case UMLPackage.STATE___VALIDATE_ENTRY_OR_EXIT__DIAGNOSTICCHAIN_MAP :
+ return validateEntryOrExit((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___VALIDATE_SUBMACHINE_STATES__DIAGNOSTICCHAIN_MAP :
+ return validateSubmachineStates(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___VALIDATE_COMPOSITE_STATES__DIAGNOSTICCHAIN_MAP :
+ return validateCompositeStates(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___VALIDATE_DESTINATIONS_OR_SOURCES_OF_TRANSITIONS__DIAGNOSTICCHAIN_MAP :
+ return validateDestinationsOrSourcesOfTransitions(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___VALIDATE_SUBMACHINE_OR_REGIONS__DIAGNOSTICCHAIN_MAP :
+ return validateSubmachineOrRegions(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE___IS_COMPOSITE :
+ return isComposite();
+ case UMLPackage.STATE___IS_ORTHOGONAL :
+ return isOrthogonal();
+ case UMLPackage.STATE___IS_SIMPLE :
+ return isSimple();
+ case UMLPackage.STATE___IS_SUBMACHINE_STATE :
+ return isSubmachineState();
+ case UMLPackage.STATE___REDEFINITION_CONTEXT :
+ return redefinitionContext();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedElements() <em>Redefined Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.STATE__REDEFINED_STATE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableElement getRedefinedElement(String name) {
+ return getRedefinedElement(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableElement getRedefinedElement(String name,
+ boolean ignoreCase, EClass eClass) {
+ redefinedElementLoop : for (RedefinableElement redefinedElement : getRedefinedElements()) {
+ if (eClass != null && !eClass.isInstance(redefinedElement))
+ continue redefinedElementLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedElement.getName())
+ : name.equals(redefinedElement.getName())))
+ continue redefinedElementLoop;
+ return redefinedElement;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRedefinedElements() {
+ return eIsSet(UMLPackage.STATE__REDEFINED_STATE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ Region container = basicGetContainer();
+ if (container != null) {
+ return container;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace() || eIsSet(UMLPackage.STATE__CONTAINER);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.STATE__OWNED_RULE, UMLPackage.STATE__CONNECTION,
+ UMLPackage.STATE__CONNECTION_POINT, UMLPackage.STATE__REGION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers() || eIsSet(UMLPackage.STATE__CONNECTION)
+ || eIsSet(UMLPackage.STATE__CONNECTION_POINT)
+ || eIsSet(UMLPackage.STATE__REGION);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.STATE__OWNED_COMMENT, UMLPackage.STATE__NAME_EXPRESSION,
+ UMLPackage.STATE__ELEMENT_IMPORT, UMLPackage.STATE__PACKAGE_IMPORT,
+ UMLPackage.STATE__OWNED_MEMBER, UMLPackage.STATE__DEFERRABLE_TRIGGER,
+ UMLPackage.STATE__DO_ACTIVITY, UMLPackage.STATE__ENTRY,
+ UMLPackage.STATE__EXIT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getOwnedRules() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.STATE__OWNED_RULE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMESPACE__OWNED_RULE, true, true);
+ }
+
+ private EList<Constraint> createOwnedRulesList() {
+ return new SubsetSupersetEObjectContainmentWithInverseEList.Resolving<Constraint>(
+ Constraint.class, this, UMLPackage.STATE__OWNED_RULE, null,
+ OWNED_RULE_ESUBSETS, UMLPackage.CONSTRAINT__CONTEXT);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedRules() <em>Owned Rule</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedRules()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_RULE_ESUBSETS = new int[]{
+ UMLPackage.STATE__STATE_INVARIANT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.STATE__DEFERRABLE_TRIGGER)
+ || eIsSet(UMLPackage.STATE__DO_ACTIVITY)
+ || eIsSet(UMLPackage.STATE__ENTRY)
+ || eIsSet(UMLPackage.STATE__EXIT);
+ }
+
+} //StateImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StateInvariantImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StateInvariantImpl.java
new file mode 100644
index 00000000..66e9d918
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StateInvariantImpl.java
@@ -0,0 +1,502 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>State Invariant</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateInvariantImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateInvariantImpl#getInvariant <em>Invariant</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateInvariantImpl#getCovereds <em>Covered</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StateInvariantImpl
+ extends InteractionFragmentImpl
+ implements StateInvariant {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StateInvariantImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.STATE_INVARIANT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.STATE_INVARIANT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.STATE_INVARIANT__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getInvariant() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.STATE_INVARIANT__INVARIANT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE_INVARIANT__INVARIANT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint basicGetInvariant() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.STATE_INVARIANT__INVARIANT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE_INVARIANT__INVARIANT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInvariant(Constraint newInvariant,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newInvariant,
+ UMLPackage.STATE_INVARIANT__INVARIANT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInvariant(Constraint newInvariant) {
+ eDynamicSet(
+ UMLPackage.STATE_INVARIANT__INVARIANT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE_INVARIANT__INVARIANT, newInvariant);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createInvariant(String name, EClass eClass) {
+ Constraint newInvariant = (Constraint) create(eClass);
+ setInvariant(newInvariant);
+ if (name != null)
+ newInvariant.setName(name);
+ return newInvariant;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createInvariant(String name) {
+ return createInvariant(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Lifeline> getCovereds() {
+ return (EList<Lifeline>) eDynamicGet(
+ UMLPackage.STATE_INVARIANT__COVERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERACTION_FRAGMENT__COVERED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Lifeline getCovered(String name) {
+ return getCovered(name, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Lifeline getCovered(String name, boolean ignoreCase) {
+ coveredLoop : for (Lifeline covered : getCovereds()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(covered.getName())
+ : name.equals(covered.getName())))
+ continue coveredLoop;
+ return covered;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetCovereds() {
+ return !getCovereds().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STATE_INVARIANT__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_INVARIANT__COVERED :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getCovereds())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_INVARIANT__ENCLOSING_OPERAND :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetEnclosingOperand((InteractionOperand) otherEnd,
+ msgs);
+ case UMLPackage.STATE_INVARIANT__ENCLOSING_INTERACTION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetEnclosingInteraction((Interaction) otherEnd,
+ msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STATE_INVARIANT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_INVARIANT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_INVARIANT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.STATE_INVARIANT__COVERED :
+ return ((InternalEList<?>) getCovereds()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.STATE_INVARIANT__ENCLOSING_OPERAND :
+ return basicSetEnclosingOperand(null, msgs);
+ case UMLPackage.STATE_INVARIANT__ENCLOSING_INTERACTION :
+ return basicSetEnclosingInteraction(null, msgs);
+ case UMLPackage.STATE_INVARIANT__GENERAL_ORDERING :
+ return ((InternalEList<?>) getGeneralOrderings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_INVARIANT__INVARIANT :
+ return basicSetInvariant(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.STATE_INVARIANT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.STATE_INVARIANT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.STATE_INVARIANT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.STATE_INVARIANT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.STATE_INVARIANT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.STATE_INVARIANT__NAME :
+ return getName();
+ case UMLPackage.STATE_INVARIANT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.STATE_INVARIANT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.STATE_INVARIANT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STATE_INVARIANT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.STATE_INVARIANT__COVERED :
+ return getCovereds();
+ case UMLPackage.STATE_INVARIANT__ENCLOSING_OPERAND :
+ if (resolve)
+ return getEnclosingOperand();
+ return basicGetEnclosingOperand();
+ case UMLPackage.STATE_INVARIANT__ENCLOSING_INTERACTION :
+ if (resolve)
+ return getEnclosingInteraction();
+ return basicGetEnclosingInteraction();
+ case UMLPackage.STATE_INVARIANT__GENERAL_ORDERING :
+ return getGeneralOrderings();
+ case UMLPackage.STATE_INVARIANT__INVARIANT :
+ if (resolve)
+ return getInvariant();
+ return basicGetInvariant();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.STATE_INVARIANT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.STATE_INVARIANT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.STATE_INVARIANT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.STATE_INVARIANT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.STATE_INVARIANT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.STATE_INVARIANT__COVERED :
+ getCovereds().clear();
+ getCovereds().addAll((Collection<? extends Lifeline>) newValue);
+ return;
+ case UMLPackage.STATE_INVARIANT__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) newValue);
+ return;
+ case UMLPackage.STATE_INVARIANT__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) newValue);
+ return;
+ case UMLPackage.STATE_INVARIANT__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ getGeneralOrderings()
+ .addAll((Collection<? extends GeneralOrdering>) newValue);
+ return;
+ case UMLPackage.STATE_INVARIANT__INVARIANT :
+ setInvariant((Constraint) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STATE_INVARIANT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.STATE_INVARIANT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.STATE_INVARIANT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.STATE_INVARIANT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.STATE_INVARIANT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.STATE_INVARIANT__COVERED :
+ getCovereds().clear();
+ return;
+ case UMLPackage.STATE_INVARIANT__ENCLOSING_OPERAND :
+ setEnclosingOperand((InteractionOperand) null);
+ return;
+ case UMLPackage.STATE_INVARIANT__ENCLOSING_INTERACTION :
+ setEnclosingInteraction((Interaction) null);
+ return;
+ case UMLPackage.STATE_INVARIANT__GENERAL_ORDERING :
+ getGeneralOrderings().clear();
+ return;
+ case UMLPackage.STATE_INVARIANT__INVARIANT :
+ setInvariant((Constraint) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STATE_INVARIANT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.STATE_INVARIANT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.STATE_INVARIANT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.STATE_INVARIANT__OWNER :
+ return isSetOwner();
+ case UMLPackage.STATE_INVARIANT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.STATE_INVARIANT__NAME :
+ return isSetName();
+ case UMLPackage.STATE_INVARIANT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.STATE_INVARIANT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.STATE_INVARIANT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.STATE_INVARIANT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.STATE_INVARIANT__COVERED :
+ return isSetCovereds();
+ case UMLPackage.STATE_INVARIANT__ENCLOSING_OPERAND :
+ return basicGetEnclosingOperand() != null;
+ case UMLPackage.STATE_INVARIANT__ENCLOSING_INTERACTION :
+ return basicGetEnclosingInteraction() != null;
+ case UMLPackage.STATE_INVARIANT__GENERAL_ORDERING :
+ return !getGeneralOrderings().isEmpty();
+ case UMLPackage.STATE_INVARIANT__INVARIANT :
+ return basicGetInvariant() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.STATE_INVARIANT__OWNED_COMMENT,
+ UMLPackage.STATE_INVARIANT__NAME_EXPRESSION,
+ UMLPackage.STATE_INVARIANT__GENERAL_ORDERING,
+ UMLPackage.STATE_INVARIANT__INVARIANT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.STATE_INVARIANT__INVARIANT);
+ }
+
+} //StateInvariantImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StateMachineImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StateMachineImpl.java
new file mode 100644
index 00000000..0c8412cd
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StateMachineImpl.java
@@ -0,0 +1,1773 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 479276, 485756, 511674
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.Vertex;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.StateMachineOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>State Machine</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateMachineImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateMachineImpl#getRedefinedClassifiers <em>Redefined Classifier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateMachineImpl#getConnectionPoints <em>Connection Point</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateMachineImpl#getSubmachineStates <em>Submachine State</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateMachineImpl#getRegions <em>Region</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StateMachineImpl#getExtendedStateMachines <em>Extended State Machine</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StateMachineImpl
+ extends BehaviorImpl
+ implements StateMachine {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StateMachineImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.STATE_MACHINE;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.STATE_MACHINE__EXTENDED_STATE_MACHINE) {
+ return createExtendedStateMachinesList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.CLASSIFIER__REDEFINED_CLASSIFIER) {
+ return createRedefinedClassifiersList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.STATE_MACHINE__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.STATE_MACHINE__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Region> getRegions() {
+ return (EList<Region>) eDynamicGet(
+ UMLPackage.STATE_MACHINE__REGION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE_MACHINE__REGION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region createRegion(String name) {
+ Region newRegion = (Region) create(UMLPackage.Literals.REGION);
+ getRegions().add(newRegion);
+ if (name != null)
+ newRegion.setName(name);
+ return newRegion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region getRegion(String name) {
+ return getRegion(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region getRegion(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ regionLoop : for (Region region : getRegions()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(region.getName())
+ : name.equals(region.getName())))
+ continue regionLoop;
+ return region;
+ }
+ return createOnDemand
+ ? createRegion(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<State> getSubmachineStates() {
+ return (EList<State>) eDynamicGet(
+ UMLPackage.STATE_MACHINE__SUBMACHINE_STATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE_MACHINE__SUBMACHINE_STATE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State getSubmachineState(String name) {
+ return getSubmachineState(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State getSubmachineState(String name, boolean ignoreCase,
+ EClass eClass) {
+ submachineStateLoop : for (State submachineState : getSubmachineStates()) {
+ if (eClass != null && !eClass.isInstance(submachineState))
+ continue submachineStateLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(submachineState.getName())
+ : name.equals(submachineState.getName())))
+ continue submachineStateLoop;
+ return submachineState;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Pseudostate> getConnectionPoints() {
+ return (EList<Pseudostate>) eDynamicGet(
+ UMLPackage.STATE_MACHINE__CONNECTION_POINT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE_MACHINE__CONNECTION_POINT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Pseudostate createConnectionPoint(String name) {
+ Pseudostate newConnectionPoint = (Pseudostate) create(
+ UMLPackage.Literals.PSEUDOSTATE);
+ getConnectionPoints().add(newConnectionPoint);
+ if (name != null)
+ newConnectionPoint.setName(name);
+ return newConnectionPoint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Pseudostate getConnectionPoint(String name) {
+ return getConnectionPoint(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Pseudostate getConnectionPoint(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ connectionPointLoop : for (Pseudostate connectionPoint : getConnectionPoints()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(connectionPoint.getName())
+ : name.equals(connectionPoint.getName())))
+ continue connectionPointLoop;
+ return connectionPoint;
+ }
+ return createOnDemand
+ ? createConnectionPoint(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<StateMachine> getExtendedStateMachines() {
+ return (EList<StateMachine>) eDynamicGet(
+ UMLPackage.STATE_MACHINE__EXTENDED_STATE_MACHINE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STATE_MACHINE__EXTENDED_STATE_MACHINE, true,
+ true);
+ }
+
+ private EList<StateMachine> createExtendedStateMachinesList() {
+ return new SubsetSupersetEObjectResolvingEList<StateMachine>(
+ StateMachine.class, this,
+ UMLPackage.STATE_MACHINE__EXTENDED_STATE_MACHINE,
+ EXTENDED_STATE_MACHINE_ESUPERSETS, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachine getExtendedStateMachine(String name) {
+ return getExtendedStateMachine(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachine getExtendedStateMachine(String name, boolean ignoreCase,
+ EClass eClass) {
+ extendedStateMachineLoop : for (StateMachine extendedStateMachine : getExtendedStateMachines()) {
+ if (eClass != null && !eClass.isInstance(extendedStateMachine))
+ continue extendedStateMachineLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(extendedStateMachine.getName())
+ : name.equals(extendedStateMachine.getName())))
+ continue extendedStateMachineLoop;
+ return extendedStateMachine;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetExtendedStateMachines() {
+ return !getExtendedStateMachines().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClassifierContext(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StateMachineOperations.validateClassifierContext(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateContextClassifier(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StateMachineOperations.validateContextClassifier(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region LCA(Vertex s1, Vertex s2) {
+ return StateMachineOperations.LCA(this, s1, s2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ancestor(Vertex s1, Vertex s2) {
+ return StateMachineOperations.ancestor(this, s1, s2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State LCAState(Vertex v1, Vertex v2) {
+ return StateMachineOperations.LCAState(this, v1, v2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConnectionPoints(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StateMachineOperations.validateConnectionPoints(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMethod(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StateMachineOperations.validateMethod(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isConsistentWith(RedefinableElement redefiningElement) {
+ return StateMachineOperations.isConsistentWith(this, redefiningElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STATE_MACHINE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.STATE_MACHINE__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__INTERFACE_REALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInterfaceRealizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_OPERATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedOperations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__SPECIFICATION :
+ BehavioralFeature specification = basicGetSpecification();
+ if (specification != null)
+ msgs = ((InternalEObject) specification).eInverseRemove(
+ this, UMLPackage.BEHAVIORAL_FEATURE__METHOD,
+ BehavioralFeature.class, msgs);
+ return basicSetSpecification((BehavioralFeature) otherEnd,
+ msgs);
+ case UMLPackage.STATE_MACHINE__CONNECTION_POINT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getConnectionPoints())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__SUBMACHINE_STATE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubmachineStates())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__REGION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getRegions())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STATE_MACHINE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.STATE_MACHINE__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.STATE_MACHINE__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.STATE_MACHINE__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.STATE_MACHINE__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_CONNECTOR :
+ return ((InternalEList<?>) getOwnedConnectors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__INTERFACE_REALIZATION :
+ return ((InternalEList<?>) getInterfaceRealizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_BEHAVIOR :
+ return ((InternalEList<?>) getOwnedBehaviors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__NESTED_CLASSIFIER :
+ return ((InternalEList<?>) getNestedClassifiers())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_RECEPTION :
+ return ((InternalEList<?>) getOwnedReceptions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__SPECIFICATION :
+ return basicSetSpecification(null, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_PARAMETER :
+ return ((InternalEList<?>) getOwnedParameters())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__OWNED_PARAMETER_SET :
+ return ((InternalEList<?>) getOwnedParameterSets())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__CONNECTION_POINT :
+ return ((InternalEList<?>) getConnectionPoints())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__SUBMACHINE_STATE :
+ return ((InternalEList<?>) getSubmachineStates())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STATE_MACHINE__REGION :
+ return ((InternalEList<?>) getRegions()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.STATE_MACHINE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.STATE_MACHINE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.STATE_MACHINE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.STATE_MACHINE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.STATE_MACHINE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.STATE_MACHINE__NAME :
+ return getName();
+ case UMLPackage.STATE_MACHINE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.STATE_MACHINE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.STATE_MACHINE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STATE_MACHINE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.STATE_MACHINE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.STATE_MACHINE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.STATE_MACHINE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.STATE_MACHINE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.STATE_MACHINE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.STATE_MACHINE__MEMBER :
+ return getMembers();
+ case UMLPackage.STATE_MACHINE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.STATE_MACHINE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.STATE_MACHINE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.STATE_MACHINE__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.STATE_MACHINE__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.STATE_MACHINE__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.STATE_MACHINE__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.STATE_MACHINE__FEATURE :
+ return getFeatures();
+ case UMLPackage.STATE_MACHINE__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.STATE_MACHINE__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.STATE_MACHINE__GENERAL :
+ return getGenerals();
+ case UMLPackage.STATE_MACHINE__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.STATE_MACHINE__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.STATE_MACHINE__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.STATE_MACHINE__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.STATE_MACHINE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.STATE_MACHINE__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.STATE_MACHINE__USE_CASE :
+ return getUseCases();
+ case UMLPackage.STATE_MACHINE__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.STATE_MACHINE__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.STATE_MACHINE__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.STATE_MACHINE__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.STATE_MACHINE__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.STATE_MACHINE__PART :
+ return getParts();
+ case UMLPackage.STATE_MACHINE__ROLE :
+ return getRoles();
+ case UMLPackage.STATE_MACHINE__OWNED_PORT :
+ return getOwnedPorts();
+ case UMLPackage.STATE_MACHINE__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.STATE_MACHINE__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.STATE_MACHINE__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ case UMLPackage.STATE_MACHINE__OWNED_OPERATION :
+ return getOwnedOperations();
+ case UMLPackage.STATE_MACHINE__EXTENSION :
+ return getExtensions();
+ case UMLPackage.STATE_MACHINE__IS_ACTIVE :
+ return isActive();
+ case UMLPackage.STATE_MACHINE__NESTED_CLASSIFIER :
+ return getNestedClassifiers();
+ case UMLPackage.STATE_MACHINE__OWNED_RECEPTION :
+ return getOwnedReceptions();
+ case UMLPackage.STATE_MACHINE__SUPER_CLASS :
+ return getSuperClasses();
+ case UMLPackage.STATE_MACHINE__SPECIFICATION :
+ if (resolve)
+ return getSpecification();
+ return basicGetSpecification();
+ case UMLPackage.STATE_MACHINE__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.STATE_MACHINE__IS_REENTRANT :
+ return isReentrant();
+ case UMLPackage.STATE_MACHINE__OWNED_PARAMETER :
+ return getOwnedParameters();
+ case UMLPackage.STATE_MACHINE__OWNED_PARAMETER_SET :
+ return getOwnedParameterSets();
+ case UMLPackage.STATE_MACHINE__POSTCONDITION :
+ return getPostconditions();
+ case UMLPackage.STATE_MACHINE__PRECONDITION :
+ return getPreconditions();
+ case UMLPackage.STATE_MACHINE__REDEFINED_BEHAVIOR :
+ return getRedefinedBehaviors();
+ case UMLPackage.STATE_MACHINE__CONNECTION_POINT :
+ return getConnectionPoints();
+ case UMLPackage.STATE_MACHINE__SUBMACHINE_STATE :
+ return getSubmachineStates();
+ case UMLPackage.STATE_MACHINE__REGION :
+ return getRegions();
+ case UMLPackage.STATE_MACHINE__EXTENDED_STATE_MACHINE :
+ return getExtendedStateMachines();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.STATE_MACHINE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__IS_ACTIVE :
+ setIsActive((Boolean) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ getNestedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ getOwnedReceptions()
+ .addAll((Collection<? extends Reception>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__SUPER_CLASS :
+ getSuperClasses().clear();
+ getSuperClasses().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Class>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__SPECIFICATION :
+ setSpecification((BehavioralFeature) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__IS_REENTRANT :
+ setIsReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ getOwnedParameters()
+ .addAll((Collection<? extends Parameter>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ getOwnedParameterSets()
+ .addAll((Collection<? extends ParameterSet>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__POSTCONDITION :
+ getPostconditions().clear();
+ getPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__PRECONDITION :
+ getPreconditions().clear();
+ getPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__REDEFINED_BEHAVIOR :
+ getRedefinedBehaviors().clear();
+ getRedefinedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__CONNECTION_POINT :
+ getConnectionPoints().clear();
+ getConnectionPoints()
+ .addAll((Collection<? extends Pseudostate>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__SUBMACHINE_STATE :
+ getSubmachineStates().clear();
+ getSubmachineStates()
+ .addAll((Collection<? extends State>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__REGION :
+ getRegions().clear();
+ getRegions().addAll((Collection<? extends Region>) newValue);
+ return;
+ case UMLPackage.STATE_MACHINE__EXTENDED_STATE_MACHINE :
+ getExtendedStateMachines().clear();
+ getExtendedStateMachines()
+ .addAll((Collection<? extends StateMachine>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STATE_MACHINE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.STATE_MACHINE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.STATE_MACHINE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.STATE_MACHINE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.STATE_MACHINE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.STATE_MACHINE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.STATE_MACHINE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.STATE_MACHINE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.STATE_MACHINE__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.STATE_MACHINE__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__IS_ACTIVE :
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ case UMLPackage.STATE_MACHINE__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__SUPER_CLASS :
+ getSuperClasses().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__SPECIFICATION :
+ setSpecification((BehavioralFeature) null);
+ return;
+ case UMLPackage.STATE_MACHINE__IS_REENTRANT :
+ unsetIsReentrant();
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__OWNED_PARAMETER_SET :
+ getOwnedParameterSets().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__POSTCONDITION :
+ getPostconditions().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__PRECONDITION :
+ getPreconditions().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__REDEFINED_BEHAVIOR :
+ getRedefinedBehaviors().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__CONNECTION_POINT :
+ getConnectionPoints().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__SUBMACHINE_STATE :
+ getSubmachineStates().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__REGION :
+ getRegions().clear();
+ return;
+ case UMLPackage.STATE_MACHINE__EXTENDED_STATE_MACHINE :
+ getExtendedStateMachines().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STATE_MACHINE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.STATE_MACHINE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.STATE_MACHINE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.STATE_MACHINE__OWNER :
+ return isSetOwner();
+ case UMLPackage.STATE_MACHINE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.STATE_MACHINE__NAME :
+ return isSetName();
+ case UMLPackage.STATE_MACHINE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.STATE_MACHINE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.STATE_MACHINE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.STATE_MACHINE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.STATE_MACHINE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.STATE_MACHINE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.STATE_MACHINE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.STATE_MACHINE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.STATE_MACHINE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.STATE_MACHINE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.STATE_MACHINE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.STATE_MACHINE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.STATE_MACHINE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.STATE_MACHINE__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.STATE_MACHINE__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.STATE_MACHINE__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.STATE_MACHINE__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.STATE_MACHINE__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.STATE_MACHINE__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.STATE_MACHINE__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.STATE_MACHINE__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.STATE_MACHINE__GENERAL :
+ return isSetGenerals();
+ case UMLPackage.STATE_MACHINE__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.STATE_MACHINE__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.STATE_MACHINE__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.STATE_MACHINE__IS_ABSTRACT :
+ return isSetIsAbstract();
+ case UMLPackage.STATE_MACHINE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.STATE_MACHINE__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.STATE_MACHINE__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.STATE_MACHINE__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.STATE_MACHINE__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.STATE_MACHINE__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.STATE_MACHINE__OWNED_ATTRIBUTE :
+ return isSetOwnedAttributes();
+ case UMLPackage.STATE_MACHINE__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.STATE_MACHINE__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.STATE_MACHINE__ROLE :
+ return isSetRoles();
+ case UMLPackage.STATE_MACHINE__OWNED_PORT :
+ return !getOwnedPorts().isEmpty();
+ case UMLPackage.STATE_MACHINE__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.STATE_MACHINE__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.STATE_MACHINE__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ case UMLPackage.STATE_MACHINE__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ case UMLPackage.STATE_MACHINE__EXTENSION :
+ return !getExtensions().isEmpty();
+ case UMLPackage.STATE_MACHINE__IS_ACTIVE :
+ return isActive() != IS_ACTIVE_EDEFAULT;
+ case UMLPackage.STATE_MACHINE__NESTED_CLASSIFIER :
+ return !getNestedClassifiers().isEmpty();
+ case UMLPackage.STATE_MACHINE__OWNED_RECEPTION :
+ return !getOwnedReceptions().isEmpty();
+ case UMLPackage.STATE_MACHINE__SUPER_CLASS :
+ return isSetSuperClasses();
+ case UMLPackage.STATE_MACHINE__SPECIFICATION :
+ return basicGetSpecification() != null;
+ case UMLPackage.STATE_MACHINE__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.STATE_MACHINE__IS_REENTRANT :
+ return isSetIsReentrant();
+ case UMLPackage.STATE_MACHINE__OWNED_PARAMETER :
+ return !getOwnedParameters().isEmpty();
+ case UMLPackage.STATE_MACHINE__OWNED_PARAMETER_SET :
+ return !getOwnedParameterSets().isEmpty();
+ case UMLPackage.STATE_MACHINE__POSTCONDITION :
+ return !getPostconditions().isEmpty();
+ case UMLPackage.STATE_MACHINE__PRECONDITION :
+ return !getPreconditions().isEmpty();
+ case UMLPackage.STATE_MACHINE__REDEFINED_BEHAVIOR :
+ return isSetRedefinedBehaviors();
+ case UMLPackage.STATE_MACHINE__CONNECTION_POINT :
+ return !getConnectionPoints().isEmpty();
+ case UMLPackage.STATE_MACHINE__SUBMACHINE_STATE :
+ return !getSubmachineStates().isEmpty();
+ case UMLPackage.STATE_MACHINE__REGION :
+ return !getRegions().isEmpty();
+ case UMLPackage.STATE_MACHINE__EXTENDED_STATE_MACHINE :
+ return isSetExtendedStateMachines();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.STATE_MACHINE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.STATE_MACHINE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.STATE_MACHINE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.STATE_MACHINE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.STATE_MACHINE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___GET_MODEL :
+ return getModel();
+ case UMLPackage.STATE_MACHINE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.STATE_MACHINE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.STATE_MACHINE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.STATE_MACHINE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.STATE_MACHINE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.STATE_MACHINE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.STATE_MACHINE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.STATE_MACHINE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.STATE_MACHINE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.STATE_MACHINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.STATE_MACHINE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.STATE_MACHINE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.STATE_MACHINE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.STATE_MACHINE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STATE_MACHINE___SEPARATOR :
+ return separator();
+ case UMLPackage.STATE_MACHINE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.STATE_MACHINE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.STATE_MACHINE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.STATE_MACHINE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.STATE_MACHINE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.STATE_MACHINE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.STATE_MACHINE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.STATE_MACHINE___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.STATE_MACHINE___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.STATE_MACHINE___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.STATE_MACHINE___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.STATE_MACHINE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.STATE_MACHINE___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.STATE_MACHINE___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.STATE_MACHINE___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.STATE_MACHINE___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.STATE_MACHINE___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.STATE_MACHINE___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.STATE_MACHINE___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.STATE_MACHINE___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.STATE_MACHINE___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.STATE_MACHINE___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.STATE_MACHINE___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___PARENTS :
+ return parents();
+ case UMLPackage.STATE_MACHINE___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.STATE_MACHINE___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.STATE_MACHINE___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.STATE_MACHINE___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.STATE_MACHINE___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.STATE_MACHINE___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.STATE_MACHINE___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.STATE_MACHINE___GET_PARTS :
+ return getParts();
+ case UMLPackage.STATE_MACHINE___ALL_ROLES :
+ return allRoles();
+ case UMLPackage.STATE_MACHINE___GET_OWNED_PORTS :
+ return getOwnedPorts();
+ case UMLPackage.STATE_MACHINE___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.STATE_MACHINE___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ case UMLPackage.STATE_MACHINE___VALIDATE_PASSIVE_CLASS__DIAGNOSTICCHAIN_MAP :
+ return validatePassiveClass((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ case UMLPackage.STATE_MACHINE___IS_METACLASS :
+ return isMetaclass();
+ case UMLPackage.STATE_MACHINE___GET_EXTENSIONS :
+ return getExtensions();
+ case UMLPackage.STATE_MACHINE___GET_SUPER_CLASSES :
+ return getSuperClasses();
+ case UMLPackage.STATE_MACHINE___VALIDATE_MOST_ONE_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateMostOneBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_PARAMETERS_MATCH__DIAGNOSTICCHAIN_MAP :
+ return validateParametersMatch(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateFeatureOfContextClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.STATE_MACHINE___BEHAVIORED_CLASSIFIER__ELEMENT :
+ return behavioredClassifier((Element) arguments.get(0));
+ case UMLPackage.STATE_MACHINE___INPUT_PARAMETERS :
+ return inputParameters();
+ case UMLPackage.STATE_MACHINE___OUTPUT_PARAMETERS :
+ return outputParameters();
+ case UMLPackage.STATE_MACHINE___VALIDATE_CONNECTION_POINTS__DIAGNOSTICCHAIN_MAP :
+ return validateConnectionPoints(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_CLASSIFIER_CONTEXT__DIAGNOSTICCHAIN_MAP :
+ return validateClassifierContext(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_METHOD__DIAGNOSTICCHAIN_MAP :
+ return validateMethod((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___VALIDATE_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateContextClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___LCA__VERTEX_VERTEX :
+ return LCA((Vertex) arguments.get(0),
+ (Vertex) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___ANCESTOR__VERTEX_VERTEX :
+ return ancestor((Vertex) arguments.get(0),
+ (Vertex) arguments.get(1));
+ case UMLPackage.STATE_MACHINE___LCA_STATE__VERTEX_VERTEX :
+ return LCAState((Vertex) arguments.get(0),
+ (Vertex) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.STATE_MACHINE__OWNED_RULE,
+ UMLPackage.STATE_MACHINE__OWNED_USE_CASE,
+ UMLPackage.STATE_MACHINE__OWNED_ATTRIBUTE,
+ UMLPackage.STATE_MACHINE__OWNED_CONNECTOR,
+ UMLPackage.STATE_MACHINE__OWNED_BEHAVIOR,
+ UMLPackage.STATE_MACHINE__OWNED_OPERATION,
+ UMLPackage.STATE_MACHINE__NESTED_CLASSIFIER,
+ UMLPackage.STATE_MACHINE__OWNED_RECEPTION,
+ UMLPackage.STATE_MACHINE__OWNED_PARAMETER,
+ UMLPackage.STATE_MACHINE__OWNED_PARAMETER_SET,
+ UMLPackage.STATE_MACHINE__CONNECTION_POINT,
+ UMLPackage.STATE_MACHINE__REGION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getRedefinedClassifiers() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.STATE_MACHINE__REDEFINED_CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CLASSIFIER__REDEFINED_CLASSIFIER, true, true);
+ }
+
+ private EList<Classifier> createRedefinedClassifiersList() {
+ return new SubsetSupersetEObjectResolvingEList<Classifier>(
+ Classifier.class, this,
+ UMLPackage.STATE_MACHINE__REDEFINED_CLASSIFIER, null,
+ REDEFINED_CLASSIFIER_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedClassifiers() <em>Redefined Classifier</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedClassifiers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_CLASSIFIER_ESUBSETS = new int[]{
+ UMLPackage.STATE_MACHINE__REDEFINED_BEHAVIOR,
+ UMLPackage.STATE_MACHINE__EXTENDED_STATE_MACHINE};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getExtendedStateMachines() <em>Extended State Machine</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtendedStateMachines()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] EXTENDED_STATE_MACHINE_ESUPERSETS = new int[]{
+ UMLPackage.STATE_MACHINE__REDEFINED_CLASSIFIER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.STATE_MACHINE__CONNECTION_POINT)
+ || eIsSet(UMLPackage.STATE_MACHINE__REGION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Behavior> getRedefinedBehaviors() {
+ @SuppressWarnings("unchecked")
+ EList<Behavior> extendedStateMachine = (EList<Behavior>) ((EList<?>) getExtendedStateMachines());
+ return extendedStateMachine;
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getRedefinedBehaviors() <em>Redefined Behavior</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedBehaviors()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_BEHAVIOR_ESUPERSETS = new int[]{
+ UMLPackage.STATE_MACHINE__REDEFINED_CLASSIFIER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRedefinedBehaviors() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isRedefinitionContextValid(
+ RedefinableElement redefinedElement) {
+ return StateMachineOperations.isRedefinitionContextValid(this,
+ redefinedElement);
+ }
+
+} //StateMachineImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StereotypeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StereotypeImpl.java
new file mode 100644
index 00000000..c3184030
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StereotypeImpl.java
@@ -0,0 +1,1391 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.StereotypeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stereotype</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StereotypeImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StereotypeImpl#getIcons <em>Icon</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StereotypeImpl#getProfile <em>Profile</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StereotypeImpl
+ extends ClassImpl
+ implements Stereotype {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.STEREOTYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.STEREOTYPE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.STEREOTYPE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.STEREOTYPE__OWNED_COMMENT,
+ UMLPackage.STEREOTYPE__NAME_EXPRESSION,
+ UMLPackage.STEREOTYPE__ELEMENT_IMPORT,
+ UMLPackage.STEREOTYPE__PACKAGE_IMPORT,
+ UMLPackage.STEREOTYPE__OWNED_MEMBER,
+ UMLPackage.STEREOTYPE__TEMPLATE_BINDING,
+ UMLPackage.STEREOTYPE__OWNED_TEMPLATE_SIGNATURE,
+ UMLPackage.STEREOTYPE__COLLABORATION_USE,
+ UMLPackage.STEREOTYPE__GENERALIZATION,
+ UMLPackage.STEREOTYPE__SUBSTITUTION,
+ UMLPackage.STEREOTYPE__INTERFACE_REALIZATION,
+ UMLPackage.STEREOTYPE__ICON};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Image> getIcons() {
+ return (EList<Image>) eDynamicGet(
+ UMLPackage.STEREOTYPE__ICON - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STEREOTYPE__ICON, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image createIcon() {
+ Image newIcon = (Image) create(UMLPackage.Literals.IMAGE);
+ getIcons().add(newIcon);
+ return newIcon;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNameNotClash(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StereotypeOperations.validateNameNotClash(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAssociationEndOwnership(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StereotypeOperations.validateAssociationEndOwnership(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBasePropertyUpperBound(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StereotypeOperations.validateBasePropertyUpperBound(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBasePropertyMultiplicitySingleExtension(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return StereotypeOperations
+ .validateBasePropertyMultiplicitySingleExtension(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBasePropertyMultiplicityMultipleExtension(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return StereotypeOperations
+ .validateBasePropertyMultiplicityMultipleExtension(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGeneralize(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StereotypeOperations.validateGeneralize(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Extension createExtension(org.eclipse.uml2.uml.Class metaclass,
+ boolean isRequired) {
+ return StereotypeOperations.createExtension(this, metaclass,
+ isRequired);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Profile getProfile() {
+ Profile profile = basicGetProfile();
+ return profile != null && profile.eIsProxy()
+ ? (Profile) eResolveProxy((InternalEObject) profile)
+ : profile;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Profile basicGetProfile() {
+ return StereotypeOperations.getProfile(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBinaryAssociationsOnly(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StereotypeOperations.validateBinaryAssociationsOnly(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getKeyword() {
+ return StereotypeOperations.getKeyword(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getKeyword(boolean localize) {
+ return StereotypeOperations.getKeyword(this, localize);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Profile containingProfile() {
+ return StereotypeOperations.containingProfile(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<org.eclipse.uml2.uml.Class> getExtendedMetaclasses() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<org.eclipse.uml2.uml.Class> result = (EList<org.eclipse.uml2.uml.Class>) cache
+ .get(this,
+ UMLPackage.Literals.STEREOTYPE___GET_EXTENDED_METACLASSES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.STEREOTYPE___GET_EXTENDED_METACLASSES,
+ result = StereotypeOperations.getExtendedMetaclasses(this));
+ }
+ return result;
+ }
+ return StereotypeOperations.getExtendedMetaclasses(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<org.eclipse.uml2.uml.Class> getAllExtendedMetaclasses() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<org.eclipse.uml2.uml.Class> result = (EList<org.eclipse.uml2.uml.Class>) cache
+ .get(this,
+ UMLPackage.Literals.STEREOTYPE___GET_ALL_EXTENDED_METACLASSES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.STEREOTYPE___GET_ALL_EXTENDED_METACLASSES,
+ result = StereotypeOperations
+ .getAllExtendedMetaclasses(this));
+ }
+ return result;
+ }
+ return StereotypeOperations.getAllExtendedMetaclasses(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDefinition() {
+ return StereotypeOperations.getDefinition(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image createIcon(String location) {
+ return StereotypeOperations.createIcon(this, location);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image createIcon(String format, String content) {
+ return StereotypeOperations.createIcon(this, format, content);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STEREOTYPE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.STEREOTYPE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.STEREOTYPE__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.STEREOTYPE__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.STEREOTYPE__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.STEREOTYPE__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__OWNED_CONNECTOR :
+ return ((InternalEList<?>) getOwnedConnectors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__INTERFACE_REALIZATION :
+ return ((InternalEList<?>) getInterfaceRealizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__OWNED_BEHAVIOR :
+ return ((InternalEList<?>) getOwnedBehaviors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__OWNED_OPERATION :
+ return ((InternalEList<?>) getOwnedOperations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__NESTED_CLASSIFIER :
+ return ((InternalEList<?>) getNestedClassifiers())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__OWNED_RECEPTION :
+ return ((InternalEList<?>) getOwnedReceptions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STEREOTYPE__ICON :
+ return ((InternalEList<?>) getIcons()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.STEREOTYPE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.STEREOTYPE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.STEREOTYPE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.STEREOTYPE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.STEREOTYPE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.STEREOTYPE__NAME :
+ return getName();
+ case UMLPackage.STEREOTYPE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.STEREOTYPE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.STEREOTYPE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STEREOTYPE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.STEREOTYPE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.STEREOTYPE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.STEREOTYPE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.STEREOTYPE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.STEREOTYPE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.STEREOTYPE__MEMBER :
+ return getMembers();
+ case UMLPackage.STEREOTYPE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.STEREOTYPE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.STEREOTYPE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.STEREOTYPE__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.STEREOTYPE__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.STEREOTYPE__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.STEREOTYPE__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.STEREOTYPE__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.STEREOTYPE__FEATURE :
+ return getFeatures();
+ case UMLPackage.STEREOTYPE__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.STEREOTYPE__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.STEREOTYPE__GENERAL :
+ return getGenerals();
+ case UMLPackage.STEREOTYPE__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.STEREOTYPE__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.STEREOTYPE__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.STEREOTYPE__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.STEREOTYPE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.STEREOTYPE__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.STEREOTYPE__USE_CASE :
+ return getUseCases();
+ case UMLPackage.STEREOTYPE__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.STEREOTYPE__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.STEREOTYPE__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.STEREOTYPE__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.STEREOTYPE__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.STEREOTYPE__PART :
+ return getParts();
+ case UMLPackage.STEREOTYPE__ROLE :
+ return getRoles();
+ case UMLPackage.STEREOTYPE__OWNED_PORT :
+ return getOwnedPorts();
+ case UMLPackage.STEREOTYPE__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.STEREOTYPE__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.STEREOTYPE__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ case UMLPackage.STEREOTYPE__OWNED_OPERATION :
+ return getOwnedOperations();
+ case UMLPackage.STEREOTYPE__EXTENSION :
+ return getExtensions();
+ case UMLPackage.STEREOTYPE__IS_ACTIVE :
+ return isActive();
+ case UMLPackage.STEREOTYPE__NESTED_CLASSIFIER :
+ return getNestedClassifiers();
+ case UMLPackage.STEREOTYPE__OWNED_RECEPTION :
+ return getOwnedReceptions();
+ case UMLPackage.STEREOTYPE__SUPER_CLASS :
+ return getSuperClasses();
+ case UMLPackage.STEREOTYPE__ICON :
+ return getIcons();
+ case UMLPackage.STEREOTYPE__PROFILE :
+ if (resolve)
+ return getProfile();
+ return basicGetProfile();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.STEREOTYPE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ getOwnedOperations()
+ .addAll((Collection<? extends Operation>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__IS_ACTIVE :
+ setIsActive((Boolean) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ getNestedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ getOwnedReceptions()
+ .addAll((Collection<? extends Reception>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__SUPER_CLASS :
+ getSuperClasses().clear();
+ getSuperClasses().addAll(
+ (Collection<? extends org.eclipse.uml2.uml.Class>) newValue);
+ return;
+ case UMLPackage.STEREOTYPE__ICON :
+ getIcons().clear();
+ getIcons().addAll((Collection<? extends Image>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STEREOTYPE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.STEREOTYPE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.STEREOTYPE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.STEREOTYPE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.STEREOTYPE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.STEREOTYPE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.STEREOTYPE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.STEREOTYPE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.STEREOTYPE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.STEREOTYPE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.STEREOTYPE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.STEREOTYPE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.STEREOTYPE__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.STEREOTYPE__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.STEREOTYPE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.STEREOTYPE__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.STEREOTYPE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.STEREOTYPE__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.STEREOTYPE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.STEREOTYPE__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.STEREOTYPE__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ case UMLPackage.STEREOTYPE__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.STEREOTYPE__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_OPERATION :
+ getOwnedOperations().clear();
+ return;
+ case UMLPackage.STEREOTYPE__IS_ACTIVE :
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ case UMLPackage.STEREOTYPE__NESTED_CLASSIFIER :
+ getNestedClassifiers().clear();
+ return;
+ case UMLPackage.STEREOTYPE__OWNED_RECEPTION :
+ getOwnedReceptions().clear();
+ return;
+ case UMLPackage.STEREOTYPE__SUPER_CLASS :
+ getSuperClasses().clear();
+ return;
+ case UMLPackage.STEREOTYPE__ICON :
+ getIcons().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STEREOTYPE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.STEREOTYPE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.STEREOTYPE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.STEREOTYPE__OWNER :
+ return isSetOwner();
+ case UMLPackage.STEREOTYPE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.STEREOTYPE__NAME :
+ return isSetName();
+ case UMLPackage.STEREOTYPE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.STEREOTYPE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.STEREOTYPE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.STEREOTYPE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.STEREOTYPE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.STEREOTYPE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.STEREOTYPE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.STEREOTYPE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.STEREOTYPE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.STEREOTYPE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.STEREOTYPE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.STEREOTYPE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.STEREOTYPE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.STEREOTYPE__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.STEREOTYPE__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.STEREOTYPE__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.STEREOTYPE__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.STEREOTYPE__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.STEREOTYPE__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.STEREOTYPE__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.STEREOTYPE__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.STEREOTYPE__GENERAL :
+ return isSetGenerals();
+ case UMLPackage.STEREOTYPE__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.STEREOTYPE__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.STEREOTYPE__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.STEREOTYPE__IS_ABSTRACT :
+ return isSetIsAbstract();
+ case UMLPackage.STEREOTYPE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.STEREOTYPE__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.STEREOTYPE__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.STEREOTYPE__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.STEREOTYPE__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.STEREOTYPE__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.STEREOTYPE__OWNED_ATTRIBUTE :
+ return isSetOwnedAttributes();
+ case UMLPackage.STEREOTYPE__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.STEREOTYPE__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.STEREOTYPE__ROLE :
+ return isSetRoles();
+ case UMLPackage.STEREOTYPE__OWNED_PORT :
+ return !getOwnedPorts().isEmpty();
+ case UMLPackage.STEREOTYPE__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.STEREOTYPE__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.STEREOTYPE__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ case UMLPackage.STEREOTYPE__OWNED_OPERATION :
+ return !getOwnedOperations().isEmpty();
+ case UMLPackage.STEREOTYPE__EXTENSION :
+ return !getExtensions().isEmpty();
+ case UMLPackage.STEREOTYPE__IS_ACTIVE :
+ return isActive() != IS_ACTIVE_EDEFAULT;
+ case UMLPackage.STEREOTYPE__NESTED_CLASSIFIER :
+ return !getNestedClassifiers().isEmpty();
+ case UMLPackage.STEREOTYPE__OWNED_RECEPTION :
+ return !getOwnedReceptions().isEmpty();
+ case UMLPackage.STEREOTYPE__SUPER_CLASS :
+ return isSetSuperClasses();
+ case UMLPackage.STEREOTYPE__ICON :
+ return !getIcons().isEmpty();
+ case UMLPackage.STEREOTYPE__PROFILE :
+ return basicGetProfile() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.STEREOTYPE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.STEREOTYPE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.STEREOTYPE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STEREOTYPE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.STEREOTYPE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.STEREOTYPE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.STEREOTYPE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.STEREOTYPE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.STEREOTYPE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.STEREOTYPE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.STEREOTYPE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STEREOTYPE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.STEREOTYPE___GET_MODEL :
+ return getModel();
+ case UMLPackage.STEREOTYPE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.STEREOTYPE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.STEREOTYPE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.STEREOTYPE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.STEREOTYPE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.STEREOTYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.STEREOTYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STEREOTYPE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.STEREOTYPE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.STEREOTYPE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.STEREOTYPE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STEREOTYPE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STEREOTYPE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.STEREOTYPE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STEREOTYPE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.STEREOTYPE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.STEREOTYPE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.STEREOTYPE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.STEREOTYPE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.STEREOTYPE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STEREOTYPE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.STEREOTYPE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.STEREOTYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.STEREOTYPE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.STEREOTYPE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.STEREOTYPE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.STEREOTYPE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.STEREOTYPE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.STEREOTYPE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.STEREOTYPE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.STEREOTYPE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STEREOTYPE___SEPARATOR :
+ return separator();
+ case UMLPackage.STEREOTYPE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.STEREOTYPE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.STEREOTYPE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.STEREOTYPE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.STEREOTYPE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.STEREOTYPE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.STEREOTYPE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.STEREOTYPE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.STEREOTYPE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.STEREOTYPE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.STEREOTYPE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.STEREOTYPE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.STEREOTYPE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.STEREOTYPE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.STEREOTYPE___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.STEREOTYPE___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.STEREOTYPE___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.STEREOTYPE___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.STEREOTYPE___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.STEREOTYPE___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.STEREOTYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.STEREOTYPE___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.STEREOTYPE___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.STEREOTYPE___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.STEREOTYPE___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.STEREOTYPE___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.STEREOTYPE___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.STEREOTYPE___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.STEREOTYPE___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.STEREOTYPE___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.STEREOTYPE___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.STEREOTYPE___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.STEREOTYPE___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.STEREOTYPE___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.STEREOTYPE___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.STEREOTYPE___PARENTS :
+ return parents();
+ case UMLPackage.STEREOTYPE___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.STEREOTYPE___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.STEREOTYPE___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.STEREOTYPE___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.STEREOTYPE___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.STEREOTYPE___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.STEREOTYPE___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.STEREOTYPE___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.STEREOTYPE___GET_PARTS :
+ return getParts();
+ case UMLPackage.STEREOTYPE___ALL_ROLES :
+ return allRoles();
+ case UMLPackage.STEREOTYPE___GET_OWNED_PORTS :
+ return getOwnedPorts();
+ case UMLPackage.STEREOTYPE___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.STEREOTYPE___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ case UMLPackage.STEREOTYPE___VALIDATE_PASSIVE_CLASS__DIAGNOSTICCHAIN_MAP :
+ return validatePassiveClass((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE :
+ return createOwnedOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Type) arguments.get(3));
+ case UMLPackage.STEREOTYPE___IS_METACLASS :
+ return isMetaclass();
+ case UMLPackage.STEREOTYPE___GET_EXTENSIONS :
+ return getExtensions();
+ case UMLPackage.STEREOTYPE___GET_SUPER_CLASSES :
+ return getSuperClasses();
+ case UMLPackage.STEREOTYPE___VALIDATE_BINARY_ASSOCIATIONS_ONLY__DIAGNOSTICCHAIN_MAP :
+ return validateBinaryAssociationsOnly(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_GENERALIZE__DIAGNOSTICCHAIN_MAP :
+ return validateGeneralize((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_NAME_NOT_CLASH__DIAGNOSTICCHAIN_MAP :
+ return validateNameNotClash((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_ASSOCIATION_END_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateAssociationEndOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_BASE_PROPERTY_UPPER_BOUND__DIAGNOSTICCHAIN_MAP :
+ return validateBasePropertyUpperBound(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_BASE_PROPERTY_MULTIPLICITY_SINGLE_EXTENSION__DIAGNOSTICCHAIN_MAP :
+ return validateBasePropertyMultiplicitySingleExtension(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___VALIDATE_BASE_PROPERTY_MULTIPLICITY_MULTIPLE_EXTENSION__DIAGNOSTICCHAIN_MAP :
+ return validateBasePropertyMultiplicityMultipleExtension(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STEREOTYPE___CREATE_EXTENSION__CLASS_BOOLEAN :
+ return createExtension(
+ (org.eclipse.uml2.uml.Class) arguments.get(0),
+ (Boolean) arguments.get(1));
+ case UMLPackage.STEREOTYPE___CREATE_ICON__STRING :
+ return createIcon((String) arguments.get(0));
+ case UMLPackage.STEREOTYPE___CREATE_ICON__STRING_STRING :
+ return createIcon((String) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STEREOTYPE___GET_ALL_EXTENDED_METACLASSES :
+ return getAllExtendedMetaclasses();
+ case UMLPackage.STEREOTYPE___GET_DEFINITION :
+ return getDefinition();
+ case UMLPackage.STEREOTYPE___GET_EXTENDED_METACLASSES :
+ return getExtendedMetaclasses();
+ case UMLPackage.STEREOTYPE___GET_KEYWORD :
+ return getKeyword();
+ case UMLPackage.STEREOTYPE___GET_KEYWORD__BOOLEAN :
+ return getKeyword((Boolean) arguments.get(0));
+ case UMLPackage.STEREOTYPE___CONTAINING_PROFILE :
+ return containingProfile();
+ case UMLPackage.STEREOTYPE___GET_PROFILE :
+ return getProfile();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.STEREOTYPE__ICON);
+ }
+
+} //StereotypeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StringExpressionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StringExpressionImpl.java
new file mode 100644
index 00000000..68394437
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StringExpressionImpl.java
@@ -0,0 +1,1072 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TemplateableElement;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.StringExpressionOperations;
+import org.eclipse.uml2.uml.internal.operations.TemplateableElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>String Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StringExpressionImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StringExpressionImpl#getTemplateBindings <em>Template Binding</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StringExpressionImpl#getOwnedTemplateSignature <em>Owned Template Signature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StringExpressionImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StringExpressionImpl#getOwningExpression <em>Owning Expression</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StringExpressionImpl#getSubExpressions <em>Sub Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StringExpressionImpl
+ extends ExpressionImpl
+ implements StringExpression {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StringExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.STRING_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.STRING_EXPRESSION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.STRING_EXPRESSION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<TemplateBinding> getTemplateBindings() {
+ return (EList<TemplateBinding>) eDynamicGet(
+ UMLPackage.STRING_EXPRESSION__TEMPLATE_BINDING
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding createTemplateBinding(TemplateSignature signature) {
+ TemplateBinding newTemplateBinding = (TemplateBinding) create(
+ UMLPackage.Literals.TEMPLATE_BINDING);
+ getTemplateBindings().add(newTemplateBinding);
+ if (signature != null)
+ newTemplateBinding.setSignature(signature);
+ return newTemplateBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding getTemplateBinding(TemplateSignature signature) {
+ return getTemplateBinding(signature, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding getTemplateBinding(TemplateSignature signature,
+ boolean createOnDemand) {
+ templateBindingLoop : for (TemplateBinding templateBinding : getTemplateBindings()) {
+ if (signature != null
+ && !signature.equals(templateBinding.getSignature()))
+ continue templateBindingLoop;
+ return templateBinding;
+ }
+ return createOnDemand
+ ? createTemplateBinding(signature)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature getOwnedTemplateSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature basicGetOwnedTemplateSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedTemplateSignature(
+ TemplateSignature newOwnedTemplateSignature,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newOwnedTemplateSignature,
+ UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedTemplateSignature(
+ TemplateSignature newOwnedTemplateSignature) {
+ eDynamicSet(
+ UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ newOwnedTemplateSignature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature createOwnedTemplateSignature(EClass eClass) {
+ TemplateSignature newOwnedTemplateSignature = (TemplateSignature) create(
+ eClass);
+ setOwnedTemplateSignature(newOwnedTemplateSignature);
+ return newOwnedTemplateSignature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature createOwnedTemplateSignature() {
+ return createOwnedTemplateSignature(
+ UMLPackage.Literals.TEMPLATE_SIGNATURE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<StringExpression> getSubExpressions() {
+ return (EList<StringExpression>) eDynamicGet(
+ UMLPackage.STRING_EXPRESSION__SUB_EXPRESSION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRING_EXPRESSION__SUB_EXPRESSION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringExpression createSubExpression(String name, Type type) {
+ StringExpression newSubExpression = (StringExpression) create(
+ UMLPackage.Literals.STRING_EXPRESSION);
+ getSubExpressions().add(newSubExpression);
+ if (name != null)
+ newSubExpression.setName(name);
+ if (type != null)
+ newSubExpression.setType(type);
+ return newSubExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringExpression getSubExpression(String name, Type type) {
+ return getSubExpression(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringExpression getSubExpression(String name, Type type,
+ boolean ignoreCase, boolean createOnDemand) {
+ subExpressionLoop : for (StringExpression subExpression : getSubExpressions()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(subExpression.getName())
+ : name.equals(subExpression.getName())))
+ continue subExpressionLoop;
+ if (type != null && !type.equals(subExpression.getType()))
+ continue subExpressionLoop;
+ return subExpression;
+ }
+ return createOnDemand
+ ? createSubExpression(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringExpression getOwningExpression() {
+ return (StringExpression) eDynamicGet(
+ UMLPackage.STRING_EXPRESSION__OWNING_EXPRESSION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRING_EXPRESSION__OWNING_EXPRESSION, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringExpression basicGetOwningExpression() {
+ return (StringExpression) eDynamicGet(
+ UMLPackage.STRING_EXPRESSION__OWNING_EXPRESSION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRING_EXPRESSION__OWNING_EXPRESSION, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwningExpression(
+ StringExpression newOwningExpression, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newOwningExpression,
+ UMLPackage.STRING_EXPRESSION__OWNING_EXPRESSION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwningExpression(StringExpression newOwningExpression) {
+ eDynamicSet(
+ UMLPackage.STRING_EXPRESSION__OWNING_EXPRESSION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRING_EXPRESSION__OWNING_EXPRESSION,
+ newOwningExpression);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParameterableElement> parameterableElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<ParameterableElement> result = (EList<ParameterableElement>) cache
+ .get(this,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS,
+ result = TemplateableElementOperations
+ .parameterableElements(this));
+ }
+ return result;
+ }
+ return TemplateableElementOperations.parameterableElements(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTemplate() {
+ return TemplateableElementOperations.isTemplate(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOperands(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StringExpressionOperations.validateOperands(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSubexpressions(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StringExpressionOperations.validateSubexpressions(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String stringValue() {
+ return StringExpressionOperations.stringValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STRING_EXPRESSION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STRING_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.STRING_EXPRESSION__OWNING_EXPRESSION :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningExpression((StringExpression) otherEnd,
+ msgs);
+ case UMLPackage.STRING_EXPRESSION__SUB_EXPRESSION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubExpressions())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STRING_EXPRESSION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRING_EXPRESSION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRING_EXPRESSION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.STRING_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.STRING_EXPRESSION__OPERAND :
+ return ((InternalEList<?>) getOperands()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.STRING_EXPRESSION__OWNING_EXPRESSION :
+ return basicSetOwningExpression(null, msgs);
+ case UMLPackage.STRING_EXPRESSION__SUB_EXPRESSION :
+ return ((InternalEList<?>) getSubExpressions())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.STRING_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ case UMLPackage.STRING_EXPRESSION__OWNING_EXPRESSION :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.STRING_EXPRESSION__SUB_EXPRESSION,
+ StringExpression.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.STRING_EXPRESSION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.STRING_EXPRESSION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.STRING_EXPRESSION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.STRING_EXPRESSION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.STRING_EXPRESSION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.STRING_EXPRESSION__NAME :
+ return getName();
+ case UMLPackage.STRING_EXPRESSION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.STRING_EXPRESSION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.STRING_EXPRESSION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STRING_EXPRESSION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.STRING_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.STRING_EXPRESSION__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.STRING_EXPRESSION__OPERAND :
+ return getOperands();
+ case UMLPackage.STRING_EXPRESSION__SYMBOL :
+ return getSymbol();
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.STRING_EXPRESSION__OWNING_EXPRESSION :
+ if (resolve)
+ return getOwningExpression();
+ return basicGetOwningExpression();
+ case UMLPackage.STRING_EXPRESSION__SUB_EXPRESSION :
+ return getSubExpressions();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.STRING_EXPRESSION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.STRING_EXPRESSION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.STRING_EXPRESSION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.STRING_EXPRESSION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.STRING_EXPRESSION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.STRING_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.STRING_EXPRESSION__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.STRING_EXPRESSION__OPERAND :
+ getOperands().clear();
+ getOperands().addAll(
+ (Collection<? extends ValueSpecification>) newValue);
+ return;
+ case UMLPackage.STRING_EXPRESSION__SYMBOL :
+ setSymbol((String) newValue);
+ return;
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.STRING_EXPRESSION__OWNING_EXPRESSION :
+ setOwningExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.STRING_EXPRESSION__SUB_EXPRESSION :
+ getSubExpressions().clear();
+ getSubExpressions()
+ .addAll((Collection<? extends StringExpression>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STRING_EXPRESSION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.STRING_EXPRESSION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.STRING_EXPRESSION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.STRING_EXPRESSION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.STRING_EXPRESSION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.STRING_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.STRING_EXPRESSION__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.STRING_EXPRESSION__OPERAND :
+ getOperands().clear();
+ return;
+ case UMLPackage.STRING_EXPRESSION__SYMBOL :
+ unsetSymbol();
+ return;
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.STRING_EXPRESSION__OWNING_EXPRESSION :
+ setOwningExpression((StringExpression) null);
+ return;
+ case UMLPackage.STRING_EXPRESSION__SUB_EXPRESSION :
+ getSubExpressions().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STRING_EXPRESSION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.STRING_EXPRESSION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.STRING_EXPRESSION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.STRING_EXPRESSION__OWNER :
+ return isSetOwner();
+ case UMLPackage.STRING_EXPRESSION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.STRING_EXPRESSION__NAME :
+ return isSetName();
+ case UMLPackage.STRING_EXPRESSION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.STRING_EXPRESSION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.STRING_EXPRESSION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.STRING_EXPRESSION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.STRING_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.STRING_EXPRESSION__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.STRING_EXPRESSION__OPERAND :
+ return !getOperands().isEmpty();
+ case UMLPackage.STRING_EXPRESSION__SYMBOL :
+ return isSetSymbol();
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE :
+ return basicGetOwnedTemplateSignature() != null;
+ case UMLPackage.STRING_EXPRESSION__OWNING_EXPRESSION :
+ return basicGetOwningExpression() != null;
+ case UMLPackage.STRING_EXPRESSION__SUB_EXPRESSION :
+ return !getSubExpressions().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == TemplateableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_BINDING :
+ return UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING;
+ case UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE :
+ return UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == TemplateableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING :
+ return UMLPackage.STRING_EXPRESSION__TEMPLATE_BINDING;
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE :
+ return UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == TemplateableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT___IS_TEMPLATE :
+ return UMLPackage.STRING_EXPRESSION___IS_TEMPLATE;
+ case UMLPackage.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS :
+ return UMLPackage.STRING_EXPRESSION___PARAMETERABLE_ELEMENTS;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.STRING_EXPRESSION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRING_EXPRESSION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRING_EXPRESSION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.STRING_EXPRESSION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.STRING_EXPRESSION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.STRING_EXPRESSION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.STRING_EXPRESSION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRING_EXPRESSION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___GET_MODEL :
+ return getModel();
+ case UMLPackage.STRING_EXPRESSION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.STRING_EXPRESSION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.STRING_EXPRESSION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.STRING_EXPRESSION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.STRING_EXPRESSION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.STRING_EXPRESSION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.STRING_EXPRESSION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRING_EXPRESSION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRING_EXPRESSION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.STRING_EXPRESSION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.STRING_EXPRESSION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.STRING_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRING_EXPRESSION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRING_EXPRESSION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRING_EXPRESSION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.STRING_EXPRESSION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.STRING_EXPRESSION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.STRING_EXPRESSION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.STRING_EXPRESSION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.STRING_EXPRESSION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STRING_EXPRESSION___SEPARATOR :
+ return separator();
+ case UMLPackage.STRING_EXPRESSION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.STRING_EXPRESSION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.STRING_EXPRESSION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.STRING_EXPRESSION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRING_EXPRESSION___BOOLEAN_VALUE :
+ return booleanValue();
+ case UMLPackage.STRING_EXPRESSION___INTEGER_VALUE :
+ return integerValue();
+ case UMLPackage.STRING_EXPRESSION___IS_COMPUTABLE :
+ return isComputable();
+ case UMLPackage.STRING_EXPRESSION___IS_NULL :
+ return isNull();
+ case UMLPackage.STRING_EXPRESSION___REAL_VALUE :
+ return realValue();
+ case UMLPackage.STRING_EXPRESSION___STRING_VALUE :
+ return stringValue();
+ case UMLPackage.STRING_EXPRESSION___UNLIMITED_VALUE :
+ return unlimitedValue();
+ case UMLPackage.STRING_EXPRESSION___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.STRING_EXPRESSION___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.STRING_EXPRESSION___VALIDATE_OPERANDS__DIAGNOSTICCHAIN_MAP :
+ return validateOperands((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRING_EXPRESSION___VALIDATE_SUBEXPRESSIONS__DIAGNOSTICCHAIN_MAP :
+ return validateSubexpressions(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.STRING_EXPRESSION__OWNED_COMMENT,
+ UMLPackage.STRING_EXPRESSION__NAME_EXPRESSION,
+ UMLPackage.STRING_EXPRESSION__OPERAND,
+ UMLPackage.STRING_EXPRESSION__TEMPLATE_BINDING,
+ UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE,
+ UMLPackage.STRING_EXPRESSION__SUB_EXPRESSION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.STRING_EXPRESSION__TEMPLATE_BINDING)
+ || eIsSet(UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE)
+ || eIsSet(UMLPackage.STRING_EXPRESSION__SUB_EXPRESSION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ StringExpression owningExpression = basicGetOwningExpression();
+ if (owningExpression != null) {
+ return owningExpression;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.STRING_EXPRESSION__OWNING_EXPRESSION);
+ }
+
+} //StringExpressionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuralFeatureActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuralFeatureActionImpl.java
new file mode 100644
index 00000000..62722f86
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuralFeatureActionImpl.java
@@ -0,0 +1,855 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.StructuralFeatureAction;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.StructuralFeatureActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Structural Feature Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuralFeatureActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuralFeatureActionImpl#getObject <em>Object</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuralFeatureActionImpl#getStructuralFeature <em>Structural Feature</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class StructuralFeatureActionImpl
+ extends ActionImpl
+ implements StructuralFeatureAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StructuralFeatureActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.STRUCTURAL_FEATURE_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.STRUCTURAL_FEATURE_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.STRUCTURAL_FEATURE_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuralFeature getStructuralFeature() {
+ return (StructuralFeature) eDynamicGet(
+ UMLPackage.STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuralFeature basicGetStructuralFeature() {
+ return (StructuralFeature) eDynamicGet(
+ UMLPackage.STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStructuralFeature(StructuralFeature newStructuralFeature) {
+ eDynamicSet(
+ UMLPackage.STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE,
+ newStructuralFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.STRUCTURAL_FEATURE_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURAL_FEATURE_ACTION__OBJECT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.STRUCTURAL_FEATURE_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURAL_FEATURE_ACTION__OBJECT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObject(InputPin newObject,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newObject,
+ UMLPackage.STRUCTURAL_FEATURE_ACTION__OBJECT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObject(InputPin newObject) {
+ eDynamicSet(
+ UMLPackage.STRUCTURAL_FEATURE_ACTION__OBJECT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURAL_FEATURE_ACTION__OBJECT, newObject);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type, EClass eClass) {
+ InputPin newObject = (InputPin) create(eClass);
+ setObject(newObject);
+ if (name != null)
+ newObject.setName(name);
+ if (type != null)
+ newObject.setType(type);
+ return newObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type) {
+ return createObject(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNotStatic(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StructuralFeatureActionOperations.validateNotStatic(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StructuralFeatureActionOperations.validateMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateObjectType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StructuralFeatureActionOperations.validateObjectType(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateVisibility(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StructuralFeatureActionOperations.validateVisibility(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneFeaturingClassifier(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StructuralFeatureActionOperations
+ .validateOneFeaturingClassifier(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__NAME :
+ return getName();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ if (resolve)
+ return getStructuralFeature();
+ return basicGetStructuralFeature();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ setStructuralFeature((StructuralFeature) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ setStructuralFeature((StructuralFeature) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OBJECT :
+ return basicGetObject() != null;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ return basicGetStructuralFeature() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_OBJECT_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateObjectType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateVisibility((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
+ return validateNotStatic((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateOneFeaturingClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURAL_FEATURE_ACTION__OBJECT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.STRUCTURAL_FEATURE_ACTION__OBJECT);
+ }
+
+} //StructuralFeatureActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuralFeatureImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuralFeatureImpl.java
new file mode 100644
index 00000000..4e40963d
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuralFeatureImpl.java
@@ -0,0 +1,1181 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.TypedElement;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.MultiplicityElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Structural Feature</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuralFeatureImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuralFeatureImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuralFeatureImpl#isOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuralFeatureImpl#isUnique <em>Is Unique</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuralFeatureImpl#getLower <em>Lower</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuralFeatureImpl#getLowerValue <em>Lower Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuralFeatureImpl#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuralFeatureImpl#getUpperValue <em>Upper Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuralFeatureImpl#isReadOnly <em>Is Read Only</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class StructuralFeatureImpl
+ extends FeatureImpl
+ implements StructuralFeature {
+
+ /**
+ * The default value of the '{@link #isOrdered() <em>Is Ordered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOrdered()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ORDERED_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isUnique() <em>Is Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnique()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_UNIQUE_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLower()
+ * @generated
+ * @ordered
+ */
+ protected static final int LOWER_EDEFAULT = 1;
+
+ /**
+ * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpper()
+ * @generated
+ * @ordered
+ */
+ protected static final int UPPER_EDEFAULT = 1;
+
+ /**
+ * The default value of the '{@link #isReadOnly() <em>Is Read Only</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReadOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_READ_ONLY_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StructuralFeatureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.STRUCTURAL_FEATURE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getType() {
+ return (Type) eDynamicGet(
+ UMLPackage.STRUCTURAL_FEATURE__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type basicGetType() {
+ return (Type) eDynamicGet(
+ UMLPackage.STRUCTURAL_FEATURE__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(Type newType) {
+ eDynamicSet(UMLPackage.STRUCTURAL_FEATURE__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, newType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.STRUCTURAL_FEATURE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.STRUCTURAL_FEATURE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOrdered() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.STRUCTURAL_FEATURE__IS_ORDERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_ORDERED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsOrdered(boolean newIsOrdered) {
+ eDynamicSet(
+ UMLPackage.STRUCTURAL_FEATURE__IS_ORDERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_ORDERED, newIsOrdered);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnique() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.STRUCTURAL_FEATURE__IS_UNIQUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_UNIQUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsUnique(boolean newIsUnique) {
+ eDynamicSet(
+ UMLPackage.STRUCTURAL_FEATURE__IS_UNIQUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_UNIQUE, newIsUnique);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getUpper() {
+ return MultiplicityElementOperations.getUpper(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpper(int newUpper) {
+ MultiplicityElementOperations.setUpper(this, newUpper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLower() {
+ return MultiplicityElementOperations.getLower(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLower(int newLower) {
+ MultiplicityElementOperations.setLower(this, newLower);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getUpperValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetUpperValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetUpperValue(
+ ValueSpecification newUpperValue, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newUpperValue,
+ UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpperValue(ValueSpecification newUpperValue) {
+ eDynamicSet(
+ UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE,
+ newUpperValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createUpperValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newUpperValue = (ValueSpecification) create(eClass);
+ setUpperValue(newUpperValue);
+ if (name != null)
+ newUpperValue.setName(name);
+ if (type != null)
+ newUpperValue.setType(type);
+ return newUpperValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getLowerValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetLowerValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLowerValue(
+ ValueSpecification newLowerValue, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newLowerValue,
+ UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLowerValue(ValueSpecification newLowerValue) {
+ eDynamicSet(
+ UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE,
+ newLowerValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createLowerValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newLowerValue = (ValueSpecification) create(eClass);
+ setLowerValue(newLowerValue);
+ if (name != null)
+ newLowerValue.setName(name);
+ if (type != null)
+ newLowerValue.setType(type);
+ return newLowerValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isReadOnly() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.STRUCTURAL_FEATURE__IS_READ_ONLY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURAL_FEATURE__IS_READ_ONLY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsReadOnly(boolean newIsReadOnly) {
+ eDynamicSet(
+ UMLPackage.STRUCTURAL_FEATURE__IS_READ_ONLY - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURAL_FEATURE__IS_READ_ONLY,
+ newIsReadOnly);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLowerGe0(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateLowerGe0(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUpperGeLower(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateUpperGeLower(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateValueSpecificationNoSideEffects(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateValueSpecificationNoSideEffects(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateValueSpecificationConstant(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateValueSpecificationConstant(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLowerIsInteger(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateLowerIsInteger(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUpperIsUnlimitedNatural(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateUpperIsUnlimitedNatural(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMultivalued() {
+ return MultiplicityElementOperations.isMultivalued(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean includesMultiplicity(MultiplicityElement M) {
+ return MultiplicityElementOperations.includesMultiplicity(this, M);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int lowerBound() {
+ return MultiplicityElementOperations.lowerBound(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int upperBound() {
+ return MultiplicityElementOperations.upperBound(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean compatibleWith(MultiplicityElement other) {
+ return MultiplicityElementOperations.compatibleWith(this, other);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean is(int lowerbound, int upperbound) {
+ return MultiplicityElementOperations.is(this, lowerbound, upperbound);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURAL_FEATURE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURAL_FEATURE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURAL_FEATURE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE :
+ return basicSetLowerValue(null, msgs);
+ case UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE :
+ return basicSetUpperValue(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURAL_FEATURE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.STRUCTURAL_FEATURE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.STRUCTURAL_FEATURE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.STRUCTURAL_FEATURE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.STRUCTURAL_FEATURE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.STRUCTURAL_FEATURE__NAME :
+ return getName();
+ case UMLPackage.STRUCTURAL_FEATURE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.STRUCTURAL_FEATURE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.STRUCTURAL_FEATURE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STRUCTURAL_FEATURE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.STRUCTURAL_FEATURE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.STRUCTURAL_FEATURE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.STRUCTURAL_FEATURE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.STRUCTURAL_FEATURE__FEATURING_CLASSIFIER :
+ return getFeaturingClassifiers();
+ case UMLPackage.STRUCTURAL_FEATURE__IS_STATIC :
+ return isStatic();
+ case UMLPackage.STRUCTURAL_FEATURE__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.STRUCTURAL_FEATURE__IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.STRUCTURAL_FEATURE__IS_UNIQUE :
+ return isUnique();
+ case UMLPackage.STRUCTURAL_FEATURE__LOWER :
+ return getLower();
+ case UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE :
+ if (resolve)
+ return getLowerValue();
+ return basicGetLowerValue();
+ case UMLPackage.STRUCTURAL_FEATURE__UPPER :
+ return getUpper();
+ case UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE :
+ if (resolve)
+ return getUpperValue();
+ return basicGetUpperValue();
+ case UMLPackage.STRUCTURAL_FEATURE__IS_READ_ONLY :
+ return isReadOnly();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURAL_FEATURE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_STATIC :
+ setIsStatic((Boolean) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_ORDERED :
+ setIsOrdered((Boolean) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_UNIQUE :
+ setIsUnique((Boolean) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__LOWER :
+ setLower((Integer) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE :
+ setLowerValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__UPPER :
+ setUpper((Integer) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE :
+ setUpperValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_READ_ONLY :
+ setIsReadOnly((Boolean) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURAL_FEATURE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_STATIC :
+ setIsStatic(IS_STATIC_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_ORDERED :
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_UNIQUE :
+ setIsUnique(IS_UNIQUE_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__LOWER :
+ setLower(LOWER_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE :
+ setLowerValue((ValueSpecification) null);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__UPPER :
+ setUpper(UPPER_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE :
+ setUpperValue((ValueSpecification) null);
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_READ_ONLY :
+ setIsReadOnly(IS_READ_ONLY_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURAL_FEATURE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.STRUCTURAL_FEATURE__OWNER :
+ return isSetOwner();
+ case UMLPackage.STRUCTURAL_FEATURE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.STRUCTURAL_FEATURE__NAME :
+ return isSetName();
+ case UMLPackage.STRUCTURAL_FEATURE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.STRUCTURAL_FEATURE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.STRUCTURAL_FEATURE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.STRUCTURAL_FEATURE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.STRUCTURAL_FEATURE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.STRUCTURAL_FEATURE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.STRUCTURAL_FEATURE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.STRUCTURAL_FEATURE__FEATURING_CLASSIFIER :
+ return isSetFeaturingClassifiers();
+ case UMLPackage.STRUCTURAL_FEATURE__IS_STATIC :
+ return isStatic() != IS_STATIC_EDEFAULT;
+ case UMLPackage.STRUCTURAL_FEATURE__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_ORDERED :
+ return isOrdered() != IS_ORDERED_EDEFAULT;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_UNIQUE :
+ return isUnique() != IS_UNIQUE_EDEFAULT;
+ case UMLPackage.STRUCTURAL_FEATURE__LOWER :
+ return getLower() != LOWER_EDEFAULT;
+ case UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE :
+ return basicGetLowerValue() != null;
+ case UMLPackage.STRUCTURAL_FEATURE__UPPER :
+ return getUpper() != UPPER_EDEFAULT;
+ case UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE :
+ return basicGetUpperValue() != null;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_READ_ONLY :
+ return isReadOnly() != IS_READ_ONLY_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == TypedElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.STRUCTURAL_FEATURE__TYPE :
+ return UMLPackage.TYPED_ELEMENT__TYPE;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == MultiplicityElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.STRUCTURAL_FEATURE__IS_ORDERED :
+ return UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED;
+ case UMLPackage.STRUCTURAL_FEATURE__IS_UNIQUE :
+ return UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE;
+ case UMLPackage.STRUCTURAL_FEATURE__LOWER :
+ return UMLPackage.MULTIPLICITY_ELEMENT__LOWER;
+ case UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE :
+ return UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE;
+ case UMLPackage.STRUCTURAL_FEATURE__UPPER :
+ return UMLPackage.MULTIPLICITY_ELEMENT__UPPER;
+ case UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE :
+ return UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == TypedElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.TYPED_ELEMENT__TYPE :
+ return UMLPackage.STRUCTURAL_FEATURE__TYPE;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == MultiplicityElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED :
+ return UMLPackage.STRUCTURAL_FEATURE__IS_ORDERED;
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE :
+ return UMLPackage.STRUCTURAL_FEATURE__IS_UNIQUE;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER :
+ return UMLPackage.STRUCTURAL_FEATURE__LOWER;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE :
+ return UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER :
+ return UMLPackage.STRUCTURAL_FEATURE__UPPER;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE :
+ return UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == TypedElement.class) {
+ switch (baseOperationID) {
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == MultiplicityElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STRUCTURAL_FEATURE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STRUCTURAL_FEATURE___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STRUCTURAL_FEATURE___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STRUCTURAL_FEATURE___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___SET_LOWER__INT :
+ return UMLPackage.STRUCTURAL_FEATURE___SET_LOWER__INT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___SET_UPPER__INT :
+ return UMLPackage.STRUCTURAL_FEATURE___SET_UPPER__INT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return UMLPackage.STRUCTURAL_FEATURE___COMPATIBLE_WITH__MULTIPLICITYELEMENT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return UMLPackage.STRUCTURAL_FEATURE___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___IS__INT_INT :
+ return UMLPackage.STRUCTURAL_FEATURE___IS__INT_INT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___IS_MULTIVALUED :
+ return UMLPackage.STRUCTURAL_FEATURE___IS_MULTIVALUED;
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_LOWER :
+ return UMLPackage.STRUCTURAL_FEATURE___GET_LOWER;
+ case UMLPackage.MULTIPLICITY_ELEMENT___LOWER_BOUND :
+ return UMLPackage.STRUCTURAL_FEATURE___LOWER_BOUND;
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_UPPER :
+ return UMLPackage.STRUCTURAL_FEATURE___GET_UPPER;
+ case UMLPackage.MULTIPLICITY_ELEMENT___UPPER_BOUND :
+ return UMLPackage.STRUCTURAL_FEATURE___UPPER_BOUND;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.STRUCTURAL_FEATURE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.STRUCTURAL_FEATURE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___GET_MODEL :
+ return getModel();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.STRUCTURAL_FEATURE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.STRUCTURAL_FEATURE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.STRUCTURAL_FEATURE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.STRUCTURAL_FEATURE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.STRUCTURAL_FEATURE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STRUCTURAL_FEATURE___SEPARATOR :
+ return separator();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return validateUpperGeLower((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return validateLowerGe0((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationNoSideEffects(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationConstant(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return validateLowerIsInteger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return validateUpperIsUnlimitedNatural(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.STRUCTURAL_FEATURE___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.STRUCTURAL_FEATURE___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return compatibleWith((MultiplicityElement) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return includesMultiplicity(
+ (MultiplicityElement) arguments.get(0));
+ case UMLPackage.STRUCTURAL_FEATURE___IS__INT_INT :
+ return is((Integer) arguments.get(0),
+ (Integer) arguments.get(1));
+ case UMLPackage.STRUCTURAL_FEATURE___IS_MULTIVALUED :
+ return isMultivalued();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_LOWER :
+ return getLower();
+ case UMLPackage.STRUCTURAL_FEATURE___LOWER_BOUND :
+ return lowerBound();
+ case UMLPackage.STRUCTURAL_FEATURE___GET_UPPER :
+ return getUpper();
+ case UMLPackage.STRUCTURAL_FEATURE___UPPER_BOUND :
+ return upperBound();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURAL_FEATURE__OWNED_COMMENT,
+ UMLPackage.STRUCTURAL_FEATURE__NAME_EXPRESSION,
+ UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE,
+ UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE)
+ || eIsSet(UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE);
+ }
+
+} //StructuralFeatureImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuredActivityNodeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuredActivityNodeImpl.java
new file mode 100644
index 00000000..03f7ac08
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuredActivityNodeImpl.java
@@ -0,0 +1,2604 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 465214, 485756, 491587
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Variable;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ActivityGroupOperations;
+import org.eclipse.uml2.uml.internal.operations.NamespaceOperations;
+import org.eclipse.uml2.uml.internal.operations.StructuredActivityNodeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Structured Activity Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getMembers <em>Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getOwnedRules <em>Owned Rule</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getElementImports <em>Element Import</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getPackageImports <em>Package Import</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getImportedMembers <em>Imported Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getContainedEdges <em>Contained Edge</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getContainedNodes <em>Contained Node</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getSubgroups <em>Subgroup</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getSuperGroup <em>Super Group</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getEdges <em>Edge</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#isMustIsolate <em>Must Isolate</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getStructuredNodeInputs <em>Structured Node Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getStructuredNodeOutputs <em>Structured Node Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getVariables <em>Variable</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getNodes <em>Node</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredActivityNodeImpl#getActivity <em>Activity</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StructuredActivityNodeImpl
+ extends ActionImpl
+ implements StructuredActivityNode {
+
+ /**
+ * The default value of the '{@link #isMustIsolate() <em>Must Isolate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMustIsolate()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean MUST_ISOLATE_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StructuredActivityNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.STRUCTURED_ACTIVITY_NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> members = (EList<NamedElement>) cache
+ .get(eResource, this, UMLPackage.Literals.NAMESPACE__MEMBER);
+ if (members == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__MEMBER,
+ members = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__MEMBER,
+ MEMBER_ESUBSETS));
+ }
+ return members;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.STRUCTURED_ACTIVITY_NODE__MEMBER, MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementImport> getElementImports() {
+ return (EList<ElementImport>) eDynamicGet(
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMESPACE__ELEMENT_IMPORT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementImport createElementImport(
+ PackageableElement importedElement) {
+ ElementImport newElementImport = (ElementImport) create(
+ UMLPackage.Literals.ELEMENT_IMPORT);
+ getElementImports().add(newElementImport);
+ if (importedElement != null)
+ newElementImport.setImportedElement(importedElement);
+ return newElementImport;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementImport getElementImport(PackageableElement importedElement) {
+ return getElementImport(importedElement, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementImport getElementImport(PackageableElement importedElement,
+ boolean createOnDemand) {
+ elementImportLoop : for (ElementImport elementImport : getElementImports()) {
+ if (importedElement != null
+ && !importedElement.equals(elementImport.getImportedElement()))
+ continue elementImportLoop;
+ return elementImport;
+ }
+ return createOnDemand
+ ? createElementImport(importedElement)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<PackageImport> getPackageImports() {
+ return (EList<PackageImport>) eDynamicGet(
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMESPACE__PACKAGE_IMPORT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport createPackageImport(
+ org.eclipse.uml2.uml.Package importedPackage) {
+ PackageImport newPackageImport = (PackageImport) create(
+ UMLPackage.Literals.PACKAGE_IMPORT);
+ getPackageImports().add(newPackageImport);
+ if (importedPackage != null)
+ newPackageImport.setImportedPackage(importedPackage);
+ return newPackageImport;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport getPackageImport(
+ org.eclipse.uml2.uml.Package importedPackage) {
+ return getPackageImport(importedPackage, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport getPackageImport(
+ org.eclipse.uml2.uml.Package importedPackage,
+ boolean createOnDemand) {
+ packageImportLoop : for (PackageImport packageImport : getPackageImports()) {
+ if (importedPackage != null
+ && !importedPackage.equals(packageImport.getImportedPackage()))
+ continue packageImportLoop;
+ return packageImport;
+ }
+ return createOnDemand
+ ? createPackageImport(importedPackage)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getOwnedRules() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMESPACE__OWNED_RULE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createOwnedRule(String name, EClass eClass) {
+ Constraint newOwnedRule = (Constraint) create(eClass);
+ getOwnedRules().add(newOwnedRule);
+ if (name != null)
+ newOwnedRule.setName(name);
+ return newOwnedRule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createOwnedRule(String name) {
+ return createOwnedRule(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getOwnedRule(String name) {
+ return getOwnedRule(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getOwnedRule(String name, boolean ignoreCase,
+ EClass eClass, boolean createOnDemand) {
+ ownedRuleLoop : for (Constraint ownedRule : getOwnedRules()) {
+ if (eClass != null && !eClass.isInstance(ownedRule))
+ continue ownedRuleLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedRule.getName())
+ : name.equals(ownedRule.getName())))
+ continue ownedRuleLoop;
+ return ownedRule;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedRule(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PackageableElement> getImportedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<PackageableElement> result = (EList<PackageableElement>) cache
+ .get(this, UMLPackage.Literals.NAMESPACE__IMPORTED_MEMBER);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.NAMESPACE__IMPORTED_MEMBER,
+ result = NamespaceOperations.getImportedMembers(this));
+ }
+ return result;
+ }
+ return NamespaceOperations.getImportedMembers(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getImportedMember(String name) {
+ return getImportedMember(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getImportedMember(String name, boolean ignoreCase,
+ EClass eClass) {
+ importedMemberLoop : for (PackageableElement importedMember : getImportedMembers()) {
+ if (eClass != null && !eClass.isInstance(importedMember))
+ continue importedMemberLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(importedMember.getName())
+ : name.equals(importedMember.getName())))
+ continue importedMemberLoop;
+ return importedMember;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ActivityGroup> getSubgroups() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ActivityGroup> subgroups = (EList<ActivityGroup>) cache.get(
+ eResource, this, UMLPackage.Literals.ACTIVITY_GROUP__SUBGROUP);
+ if (subgroups == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__SUBGROUP,
+ subgroups = new DerivedUnionEObjectEList<ActivityGroup>(
+ ActivityGroup.class, this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__SUBGROUP, null));
+ }
+ return subgroups;
+ }
+ return new DerivedUnionEObjectEList<ActivityGroup>(ActivityGroup.class,
+ this, UMLPackage.STRUCTURED_ACTIVITY_NODE__SUBGROUP, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getSubgroup(String name) {
+ return getSubgroup(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getSubgroup(String name, boolean ignoreCase,
+ EClass eClass) {
+ subgroupLoop : for (ActivityGroup subgroup : getSubgroups()) {
+ if (eClass != null && !eClass.isInstance(subgroup))
+ continue subgroupLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(subgroup.getName())
+ : name.equals(subgroup.getName())))
+ continue subgroupLoop;
+ return subgroup;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ActivityNode> getContainedNodes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ActivityNode> containedNodes = (EList<ActivityNode>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_NODE);
+ if (containedNodes == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_NODE,
+ containedNodes = new DerivedUnionEObjectEList<ActivityNode>(
+ ActivityNode.class, this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE,
+ CONTAINED_NODE_ESUBSETS));
+ }
+ return containedNodes;
+ }
+ return new DerivedUnionEObjectEList<ActivityNode>(ActivityNode.class,
+ this, UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE,
+ CONTAINED_NODE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ActivityEdge> getContainedEdges() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ActivityEdge> containedEdges = (EList<ActivityEdge>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_EDGE);
+ if (containedEdges == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ACTIVITY_GROUP__CONTAINED_EDGE,
+ containedEdges = new DerivedUnionEObjectEList<ActivityEdge>(
+ ActivityEdge.class, this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE,
+ CONTAINED_EDGE_ESUBSETS));
+ }
+ return containedEdges;
+ }
+ return new DerivedUnionEObjectEList<ActivityEdge>(ActivityEdge.class,
+ this, UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE,
+ CONTAINED_EDGE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Variable> getVariables() {
+ return (EList<Variable>) eDynamicGet(
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__VARIABLE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURED_ACTIVITY_NODE__VARIABLE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variable createVariable(String name, Type type) {
+ Variable newVariable = (Variable) create(UMLPackage.Literals.VARIABLE);
+ getVariables().add(newVariable);
+ if (name != null)
+ newVariable.setName(name);
+ if (type != null)
+ newVariable.setType(type);
+ return newVariable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variable getVariable(String name, Type type) {
+ return getVariable(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variable getVariable(String name, Type type, boolean ignoreCase,
+ boolean createOnDemand) {
+ variableLoop : for (Variable variable : getVariables()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(variable.getName())
+ : name.equals(variable.getName())))
+ continue variableLoop;
+ if (type != null && !type.equals(variable.getType()))
+ continue variableLoop;
+ return variable;
+ }
+ return createOnDemand
+ ? createVariable(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityNode> getNodes() {
+ return (EList<ActivityNode>) eDynamicGet(
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURED_ACTIVITY_NODE__NODE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode createNode(String name, EClass eClass) {
+ ActivityNode newNode = (ActivityNode) create(eClass);
+ getNodes().add(newNode);
+ if (name != null)
+ newNode.setName(name);
+ return newNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getNode(String name) {
+ return getNode(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getNode(String name, boolean ignoreCase, EClass eClass,
+ boolean createOnDemand) {
+ nodeLoop : for (ActivityNode node : getNodes()) {
+ if (eClass != null && !eClass.isInstance(node))
+ continue nodeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(node.getName())
+ : name.equals(node.getName())))
+ continue nodeLoop;
+ return node;
+ }
+ return createOnDemand && eClass != null
+ ? createNode(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InputPin> getStructuredNodeInputs() {
+ return (EList<InputPin>) eDynamicGet(
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_INPUT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_INPUT,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createStructuredNodeInput(String name, Type type,
+ EClass eClass) {
+ InputPin newStructuredNodeInput = (InputPin) create(eClass);
+ getStructuredNodeInputs().add(newStructuredNodeInput);
+ if (name != null)
+ newStructuredNodeInput.setName(name);
+ if (type != null)
+ newStructuredNodeInput.setType(type);
+ return newStructuredNodeInput;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createStructuredNodeInput(String name, Type type) {
+ return createStructuredNodeInput(name, type,
+ UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getStructuredNodeInput(String name, Type type) {
+ return getStructuredNodeInput(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getStructuredNodeInput(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ structuredNodeInputLoop : for (InputPin structuredNodeInput : getStructuredNodeInputs()) {
+ if (eClass != null && !eClass.isInstance(structuredNodeInput))
+ continue structuredNodeInputLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(structuredNodeInput.getName())
+ : name.equals(structuredNodeInput.getName())))
+ continue structuredNodeInputLoop;
+ if (type != null && !type.equals(structuredNodeInput.getType()))
+ continue structuredNodeInputLoop;
+ return structuredNodeInput;
+ }
+ return createOnDemand && eClass != null
+ ? createStructuredNodeInput(name, type, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputPin> getStructuredNodeOutputs() {
+ return (EList<OutputPin>) eDynamicGet(
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_OUTPUT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_OUTPUT,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createStructuredNodeOutput(String name, Type type) {
+ OutputPin newStructuredNodeOutput = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ getStructuredNodeOutputs().add(newStructuredNodeOutput);
+ if (name != null)
+ newStructuredNodeOutput.setName(name);
+ if (type != null)
+ newStructuredNodeOutput.setType(type);
+ return newStructuredNodeOutput;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getStructuredNodeOutput(String name, Type type) {
+ return getStructuredNodeOutput(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getStructuredNodeOutput(String name, Type type,
+ boolean ignoreCase, boolean createOnDemand) {
+ structuredNodeOutputLoop : for (OutputPin structuredNodeOutput : getStructuredNodeOutputs()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(structuredNodeOutput.getName())
+ : name.equals(structuredNodeOutput.getName())))
+ continue structuredNodeOutputLoop;
+ if (type != null && !type.equals(structuredNodeOutput.getType()))
+ continue structuredNodeOutputLoop;
+ return structuredNodeOutput;
+ }
+ return createOnDemand
+ ? createStructuredNodeOutput(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMustIsolate() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMustIsolate(boolean newMustIsolate) {
+ eDynamicSet(
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE,
+ newMustIsolate);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ActivityEdge> getEdges() {
+ return (EList<ActivityEdge>) eDynamicGet(
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURED_ACTIVITY_NODE__EDGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge createEdge(String name, EClass eClass) {
+ ActivityEdge newEdge = (ActivityEdge) create(eClass);
+ getEdges().add(newEdge);
+ if (name != null)
+ newEdge.setName(name);
+ return newEdge;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getEdge(String name) {
+ return getEdge(name, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getEdge(String name, boolean ignoreCase, EClass eClass,
+ boolean createOnDemand) {
+ edgeLoop : for (ActivityEdge edge : getEdges()) {
+ if (eClass != null && !eClass.isInstance(edge))
+ continue edgeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(edge.getName())
+ : name.equals(edge.getName())))
+ continue edgeLoop;
+ return edge;
+ }
+ return createOnDemand && eClass != null
+ ? createEdge(name, eClass)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Activity getActivity() {
+ Activity activity = basicGetActivity();
+ return activity != null && activity.eIsProxy()
+ ? (Activity) eResolveProxy((InternalEObject) activity)
+ : activity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public Activity basicGetActivity() {
+ return super.basicGetActivity();
+ }
+
+ @Override
+ public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
+ InternalEObject eInternalContainer = eInternalContainer();
+ if (eInternalContainer instanceof Activity) {
+ Activity activity = (Activity) eInternalContainer;
+ msgs = ((InternalEList<ActivityGroup>) activity.getGroups())
+ .basicRemove(this, msgs);
+ return ((InternalEList<ActivityNode>) activity.getNodes())
+ .basicRemove(this, msgs);
+ }
+ return super.eBasicRemoveFromContainer(msgs);
+ }
+
+ @Override
+ public NotificationChain eBasicSetContainer(InternalEObject newContainer,
+ int newContainerFeatureID, NotificationChain msgs) {
+ InternalEObject eInternalContainer = eInternalContainer();
+ if (eInternalContainer instanceof Activity) {
+ Activity activity = (Activity) eInternalContainer;
+ msgs = ((InternalEList<ActivityGroup>) activity.getGroups())
+ .basicRemove(this, msgs);
+ msgs = ((InternalEList<ActivityNode>) activity.getNodes())
+ .basicRemove(this, msgs);
+ }
+ return super.eBasicSetContainer(newContainer, newContainerFeatureID,
+ msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public void setActivity(Activity newActivity) {
+ InternalEObject eInternalContaner = eInternalContainer();
+ if (newActivity != eInternalContaner) {
+ if (EcoreUtil.isAncestor(this, newActivity))
+ throw new IllegalArgumentException(
+ "Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ NotificationChain msgs = null;
+ if (eInternalContaner != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newActivity != null)
+ msgs = ((InternalEList<StructuredActivityNode>) newActivity
+ .getStructuredNodes()).basicAdd(this, msgs);
+ msgs = eBasicSetContainer((InternalEObject) newActivity,
+ InternalEObject.EOPPOSITE_FEATURE_BASE
+ - UMLPackage.ACTIVITY__STRUCTURED_NODE,
+ msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ UMLPackage.ACTIVITY_NODE__ACTIVITY, newActivity, newActivity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetActivity() {
+ return basicGetActivity() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMembersDistinguishable(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return NamespaceOperations.validateMembersDistinguishable(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCannotImportSelf(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return NamespaceOperations.validateCannotImportSelf(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCannotImportOwnedMembers(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return NamespaceOperations.validateCannotImportOwnedMembers(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementImport createElementImport(PackageableElement element,
+ VisibilityKind visibility) {
+ return NamespaceOperations.createElementImport(this, element,
+ visibility);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport createPackageImport(
+ org.eclipse.uml2.uml.Package package_, VisibilityKind visibility) {
+ return NamespaceOperations.createPackageImport(this, package_,
+ visibility);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PackageableElement> getImportedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<PackageableElement> result = (EList<PackageableElement>) cache
+ .get(this,
+ UMLPackage.Literals.NAMESPACE___GET_IMPORTED_ELEMENTS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.NAMESPACE___GET_IMPORTED_ELEMENTS,
+ result = NamespaceOperations.getImportedElements(this));
+ }
+ return result;
+ }
+ return NamespaceOperations.getImportedElements(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<org.eclipse.uml2.uml.Package> getImportedPackages() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<org.eclipse.uml2.uml.Package> result = (EList<org.eclipse.uml2.uml.Package>) cache
+ .get(this,
+ UMLPackage.Literals.NAMESPACE___GET_IMPORTED_PACKAGES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.NAMESPACE___GET_IMPORTED_PACKAGES,
+ result = NamespaceOperations.getImportedPackages(this));
+ }
+ return result;
+ }
+ return NamespaceOperations.getImportedPackages(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getNamesOfMember(NamedElement element) {
+ return NamespaceOperations.getNamesOfMember(this, element);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean membersAreDistinguishable() {
+ return NamespaceOperations.membersAreDistinguishable(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PackageableElement> importMembers(
+ EList<PackageableElement> imps) {
+ return NamespaceOperations.importMembers(this, imps);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PackageableElement> excludeCollisions(
+ EList<PackageableElement> imps) {
+ return NamespaceOperations.excludeCollisions(this, imps);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNodesAndEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityGroupOperations.validateNodesAndEdges(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNotContained(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ActivityGroupOperations.validateNotContained(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Activity containingActivity() {
+ return StructuredActivityNodeOperations.containingActivity(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOutputPinEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StructuredActivityNodeOperations.validateOutputPinEdges(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StructuredActivityNodeOperations.validateEdges(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInputPinEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return StructuredActivityNodeOperations.validateInputPinEdges(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ActivityNode> sourceNodes() {
+ return StructuredActivityNodeOperations.sourceNodes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ActivityNode> targetNodes() {
+ return StructuredActivityNodeOperations.targetNodes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Action> allActions() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Action> result = (EList<Action>) cache.get(this,
+ UMLPackage.Literals.ACTION___ALL_ACTIONS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.ACTION___ALL_ACTIONS,
+ result = StructuredActivityNodeOperations.allActions(this));
+ }
+ return result;
+ }
+ return StructuredActivityNodeOperations.allActions(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<ActivityNode> allOwnedNodes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<ActivityNode> result = (EList<ActivityNode>) cache.get(this,
+ UMLPackage.Literals.ACTION___ALL_OWNED_NODES);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.ACTION___ALL_OWNED_NODES,
+ result = StructuredActivityNodeOperations
+ .allOwnedNodes(this));
+ }
+ return result;
+ }
+ return StructuredActivityNodeOperations.allOwnedNodes(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInInterruptibleRegions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetInStructuredNode(
+ (StructuredActivityNode) otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__INCOMING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getIncomings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OUTGOING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOutgoings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_PARTITION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInPartitions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__HANDLER :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getHandlers())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEdges())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__VARIABLE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getVariables())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getNodes())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE :
+ return ((InternalEList<?>) getEdges()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_INPUT :
+ return ((InternalEList<?>) getStructuredNodeInputs())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_OUTPUT :
+ return ((InternalEList<?>) getStructuredNodeOutputs())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__VARIABLE :
+ return ((InternalEList<?>) getVariables()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE :
+ return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NAME :
+ return getName();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__INCOMING :
+ return getIncomings();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__HANDLER :
+ return getHandlers();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__INPUT :
+ return getInputs();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OUTPUT :
+ return getOutputs();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__MEMBER :
+ return getMembers();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE :
+ return getContainedEdges();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE :
+ return getContainedNodes();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY :
+ if (resolve)
+ return getInActivity();
+ return basicGetInActivity();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__SUBGROUP :
+ return getSubgroups();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__SUPER_GROUP :
+ if (resolve)
+ return getSuperGroup();
+ return basicGetSuperGroup();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE :
+ return getEdges();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE :
+ return isMustIsolate();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_INPUT :
+ return getStructuredNodeInputs();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_OUTPUT :
+ return getStructuredNodeOutputs();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__VARIABLE :
+ return getVariables();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE :
+ return getNodes();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY :
+ setInActivity((Activity) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE :
+ getEdges().clear();
+ getEdges()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE :
+ setMustIsolate((Boolean) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_INPUT :
+ getStructuredNodeInputs().clear();
+ getStructuredNodeInputs()
+ .addAll((Collection<? extends InputPin>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_OUTPUT :
+ getStructuredNodeOutputs().clear();
+ getStructuredNodeOutputs()
+ .addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__VARIABLE :
+ getVariables().clear();
+ getVariables()
+ .addAll((Collection<? extends Variable>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE :
+ getNodes().clear();
+ getNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY :
+ setInActivity((Activity) null);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE :
+ getEdges().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE :
+ setMustIsolate(MUST_ISOLATE_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_INPUT :
+ getStructuredNodeInputs().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_OUTPUT :
+ getStructuredNodeOutputs().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__VARIABLE :
+ getVariables().clear();
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE :
+ getNodes().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNER :
+ return isSetOwner();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NAME :
+ return isSetName();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__ACTIVITY :
+ return isSetActivity();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__INPUT :
+ return isSetInputs();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE :
+ return isSetContainedEdges();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE :
+ return isSetContainedNodes();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY :
+ return isSetInActivity();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__SUBGROUP :
+ return isSetSubgroups();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__SUPER_GROUP :
+ return isSetSuperGroup();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE :
+ return !getEdges().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE :
+ return isMustIsolate() != MUST_ISOLATE_EDEFAULT;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_INPUT :
+ return !getStructuredNodeInputs().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_OUTPUT :
+ return !getStructuredNodeOutputs().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__VARIABLE :
+ return !getVariables().isEmpty();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE :
+ return !getNodes().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Namespace.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE :
+ return UMLPackage.NAMESPACE__OWNED_RULE;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT :
+ return UMLPackage.NAMESPACE__ELEMENT_IMPORT;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT :
+ return UMLPackage.NAMESPACE__PACKAGE_IMPORT;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_MEMBER :
+ return UMLPackage.NAMESPACE__OWNED_MEMBER;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IMPORTED_MEMBER :
+ return UMLPackage.NAMESPACE__IMPORTED_MEMBER;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__MEMBER :
+ return UMLPackage.NAMESPACE__MEMBER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == ActivityGroup.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE :
+ return UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE :
+ return UMLPackage.ACTIVITY_GROUP__CONTAINED_NODE;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY :
+ return UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__SUBGROUP :
+ return UMLPackage.ACTIVITY_GROUP__SUBGROUP;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__SUPER_GROUP :
+ return UMLPackage.ACTIVITY_GROUP__SUPER_GROUP;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == Namespace.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.NAMESPACE__OWNED_RULE :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE;
+ case UMLPackage.NAMESPACE__ELEMENT_IMPORT :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT;
+ case UMLPackage.NAMESPACE__PACKAGE_IMPORT :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT;
+ case UMLPackage.NAMESPACE__OWNED_MEMBER :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_MEMBER;
+ case UMLPackage.NAMESPACE__IMPORTED_MEMBER :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE__IMPORTED_MEMBER;
+ case UMLPackage.NAMESPACE__MEMBER :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE__MEMBER;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == ActivityGroup.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE;
+ case UMLPackage.ACTIVITY_GROUP__CONTAINED_NODE :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE;
+ case UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY;
+ case UMLPackage.ACTIVITY_GROUP__SUBGROUP :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE__SUBGROUP;
+ case UMLPackage.ACTIVITY_GROUP__SUPER_GROUP :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE__SUPER_GROUP;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Namespace.class) {
+ switch (baseOperationID) {
+ case UMLPackage.NAMESPACE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.NAMESPACE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.NAMESPACE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.NAMESPACE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND;
+ case UMLPackage.NAMESPACE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND;
+ case UMLPackage.NAMESPACE___GET_IMPORTED_ELEMENTS :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_IMPORTED_ELEMENTS;
+ case UMLPackage.NAMESPACE___GET_IMPORTED_PACKAGES :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_IMPORTED_PACKAGES;
+ case UMLPackage.NAMESPACE___GET_OWNED_MEMBERS :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_OWNED_MEMBERS;
+ case UMLPackage.NAMESPACE___EXCLUDE_COLLISIONS__ELIST :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___EXCLUDE_COLLISIONS__ELIST;
+ case UMLPackage.NAMESPACE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_NAMES_OF_MEMBER__NAMEDELEMENT;
+ case UMLPackage.NAMESPACE___IMPORT_MEMBERS__ELIST :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___IMPORT_MEMBERS__ELIST;
+ case UMLPackage.NAMESPACE___GET_IMPORTED_MEMBERS :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_IMPORTED_MEMBERS;
+ case UMLPackage.NAMESPACE___MEMBERS_ARE_DISTINGUISHABLE :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___MEMBERS_ARE_DISTINGUISHABLE;
+ default :
+ return -1;
+ }
+ }
+ if (baseClass == ActivityGroup.class) {
+ switch (baseOperationID) {
+ case UMLPackage.ACTIVITY_GROUP___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.ACTIVITY_GROUP___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_MODEL :
+ return getModel();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___SEPARATOR :
+ return separator();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateNodesAndEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
+ return validateNotContained((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateOutputPinEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateInputPinEdges((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___SOURCE_NODES :
+ return sourceNodes();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE___TARGET_NODES :
+ return targetNodes();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT)
+ || eIsSet(UMLPackage.STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT)
+ || isSetOwnedMembers() || isSetSubgroups()
+ || eIsSet(UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE)
+ || eIsSet(UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__VARIABLE};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_COMMENT,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__NAME_EXPRESSION,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__HANDLER,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__INPUT,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__LOCAL_POSTCONDITION,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__LOCAL_PRECONDITION,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__OUTPUT,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_MEMBER,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__SUBGROUP,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getOwnedMember(String name) {
+ return getOwnedMember(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getOwnedMember(String name, boolean ignoreCase,
+ EClass eClass) {
+ ownedMemberLoop : for (NamedElement ownedMember : getOwnedMembers()) {
+ if (eClass != null && !eClass.isInstance(ownedMember))
+ continue ownedMemberLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedMember.getName())
+ : name.equals(ownedMember.getName())))
+ continue ownedMemberLoop;
+ return ownedMember;
+ }
+ return null;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getMembers() <em>Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] MEMBER_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_MEMBER,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__IMPORTED_MEMBER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getMember(String name) {
+ return getMember(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getMember(String name, boolean ignoreCase,
+ EClass eClass) {
+ memberLoop : for (NamedElement member : getMembers()) {
+ if (eClass != null && !eClass.isInstance(member))
+ continue memberLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(member.getName())
+ : name.equals(member.getName())))
+ continue memberLoop;
+ return member;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetOwnedMembers() {
+ return eIsSet(UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE)
+ || eIsSet(UMLPackage.STRUCTURED_ACTIVITY_NODE__VARIABLE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetMembers() {
+ return isSetOwnedMembers()
+ || eIsSet(UMLPackage.STRUCTURED_ACTIVITY_NODE__IMPORTED_MEMBER);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSubgroups() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup basicGetSuperGroup() {
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getSuperGroup() {
+ ActivityGroup superGroup = basicGetSuperGroup();
+ return superGroup != null && superGroup.eIsProxy()
+ ? (ActivityGroup) eResolveProxy((InternalEObject) superGroup)
+ : superGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSuperGroup() {
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ if (isSetInActivity()) {
+ return basicGetInActivity();
+ }
+ if (isSetSuperGroup()) {
+ return basicGetSuperGroup();
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner() || isSetInActivity() || isSetSuperGroup();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getContainedNode(String name) {
+ return getContainedNode(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getContainedNode(String name, boolean ignoreCase,
+ EClass eClass) {
+ containedNodeLoop : for (ActivityNode containedNode : getContainedNodes()) {
+ if (eClass != null && !eClass.isInstance(containedNode))
+ continue containedNodeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(containedNode.getName())
+ : name.equals(containedNode.getName())))
+ continue containedNodeLoop;
+ return containedNode;
+ }
+ return null;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getContainedEdges() <em>Contained Edge</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainedEdges()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] CONTAINED_EDGE_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getContainedNodes() <em>Contained Node</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainedNodes()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] CONTAINED_NODE_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getContainedEdge(String name) {
+ return getContainedEdge(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge getContainedEdge(String name, boolean ignoreCase,
+ EClass eClass) {
+ containedEdgeLoop : for (ActivityEdge containedEdge : getContainedEdges()) {
+ if (eClass != null && !eClass.isInstance(containedEdge))
+ continue containedEdgeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(containedEdge.getName())
+ : name.equals(containedEdge.getName())))
+ continue containedEdgeLoop;
+ return containedEdge;
+ }
+ return null;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_INPUT};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_OUTPUT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetContainedNodes() {
+ return eIsSet(UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetContainedEdges() {
+ return eIsSet(UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs() || eIsSet(
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_INPUT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs() || eIsSet(
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__STRUCTURED_NODE_OUTPUT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity getInActivity() {
+ return getActivity();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity basicGetInActivity() {
+ return basicGetActivity();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInActivity(Activity newInActivity) {
+ setActivity(newInActivity);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetInActivity() {
+ return false;
+ }
+
+} //StructuredActivityNodeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuredClassifierImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuredClassifierImpl.java
new file mode 100644
index 00000000..ee32b19a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/StructuredClassifierImpl.java
@@ -0,0 +1,1432 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedEObjectEList;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredClassifier;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.StructuredClassifierOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Structured Classifier</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredClassifierImpl#getAttributes <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredClassifierImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredClassifierImpl#getRoles <em>Role</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredClassifierImpl#getFeatures <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredClassifierImpl#getMembers <em>Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredClassifierImpl#getOwnedAttributes <em>Owned Attribute</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredClassifierImpl#getOwnedConnectors <em>Owned Connector</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.StructuredClassifierImpl#getParts <em>Part</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class StructuredClassifierImpl
+ extends ClassifierImpl
+ implements StructuredClassifier {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StructuredClassifierImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.STRUCTURED_CLASSIFIER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConnectableElement> getRoles() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<ConnectableElement> roles = (EList<ConnectableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER__ROLE);
+ if (roles == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER__ROLE,
+ roles = new DerivedUnionEObjectEList<ConnectableElement>(
+ ConnectableElement.class, this,
+ UMLPackage.STRUCTURED_CLASSIFIER__ROLE, ROLE_ESUBSETS));
+ }
+ return roles;
+ }
+ return new DerivedUnionEObjectEList<ConnectableElement>(
+ ConnectableElement.class, this,
+ UMLPackage.STRUCTURED_CLASSIFIER__ROLE, ROLE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.STRUCTURED_CLASSIFIER__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.STRUCTURED_CLASSIFIER__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Property> getAttributes() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Property> attributes = (EList<Property>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__ATTRIBUTE);
+ if (attributes == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__ATTRIBUTE,
+ attributes = new DerivedUnionEObjectEList<Property>(
+ Property.class, this,
+ UMLPackage.STRUCTURED_CLASSIFIER__ATTRIBUTE,
+ ATTRIBUTE_ESUBSETS));
+ }
+ return attributes;
+ }
+ return new DerivedUnionEObjectEList<Property>(Property.class, this,
+ UMLPackage.STRUCTURED_CLASSIFIER__ATTRIBUTE, ATTRIBUTE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> members = (EList<NamedElement>) cache
+ .get(eResource, this, UMLPackage.Literals.NAMESPACE__MEMBER);
+ if (members == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__MEMBER,
+ members = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.STRUCTURED_CLASSIFIER__MEMBER,
+ MEMBER_ESUBSETS));
+ }
+ return members;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.STRUCTURED_CLASSIFIER__MEMBER, MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Feature> getFeatures() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Feature> features = (EList<Feature>) cache.get(eResource,
+ this, UMLPackage.Literals.CLASSIFIER__FEATURE);
+ if (features == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.CLASSIFIER__FEATURE,
+ features = new DerivedUnionEObjectEList<Feature>(
+ Feature.class, this,
+ UMLPackage.STRUCTURED_CLASSIFIER__FEATURE,
+ FEATURE_ESUBSETS));
+ }
+ return features;
+ }
+ return new DerivedUnionEObjectEList<Feature>(Feature.class, this,
+ UMLPackage.STRUCTURED_CLASSIFIER__FEATURE, FEATURE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Property> getOwnedAttributes() {
+ return (EList<Property>) eDynamicGet(
+ UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type,
+ EClass eClass) {
+ Property newOwnedAttribute = (Property) create(eClass);
+ getOwnedAttributes().add(newOwnedAttribute);
+ if (name != null)
+ newOwnedAttribute.setName(name);
+ if (type != null)
+ newOwnedAttribute.setType(type);
+ return newOwnedAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type) {
+ return createOwnedAttribute(name, type, UMLPackage.Literals.PROPERTY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedAttribute(String name, Type type) {
+ return getOwnedAttribute(name, type, false, null, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getOwnedAttribute(String name, Type type,
+ boolean ignoreCase, EClass eClass, boolean createOnDemand) {
+ ownedAttributeLoop : for (Property ownedAttribute : getOwnedAttributes()) {
+ if (eClass != null && !eClass.isInstance(ownedAttribute))
+ continue ownedAttributeLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedAttribute.getName())
+ : name.equals(ownedAttribute.getName())))
+ continue ownedAttributeLoop;
+ if (type != null && !type.equals(ownedAttribute.getType()))
+ continue ownedAttributeLoop;
+ return ownedAttribute;
+ }
+ return createOnDemand && eClass != null
+ ? createOwnedAttribute(name, type, eClass)
+ : null;
+ }
+
+ protected static class PartEList
+ extends DerivedEObjectEList<Property> {
+
+ protected PartEList(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] sourceFeatureIDs) {
+ super(dataClass, owner, featureID, sourceFeatureIDs);
+ }
+
+ @Override
+ public List<Property> basicList() {
+ return new PartEList(dataClass, owner, featureID,
+ sourceFeatureIDs) {
+
+ @Override
+ public ListIterator<Property> listIterator(int index) {
+ return basicListIterator(index);
+ }
+ };
+ }
+
+ @Override
+ protected boolean isIncluded(EStructuralFeature feature) {
+ return false;
+ }
+
+ @Override
+ protected boolean isIncluded(Object object) {
+ return super.isIncluded(object)
+ && ((Property) object).isComposite();
+ }
+
+ }
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getParts() <em>Part</em>}' reference list.
+ * @see #getParts()
+ */
+ protected static final int[] PART_ESUPERSETS = new int[]{
+ UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList<Property> getParts() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Property> parts = (EList<Property>) cache.get(eResource, this,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER__PART);
+ if (parts == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER__PART,
+ parts = new PartEList(Property.class, this,
+ UMLPackage.STRUCTURED_CLASSIFIER__PART,
+ PART_ESUPERSETS));
+ }
+ return parts;
+ }
+ return new PartEList(Property.class, this,
+ UMLPackage.STRUCTURED_CLASSIFIER__PART, PART_ESUPERSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getPart(String name, Type type) {
+ return getPart(name, type, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getPart(String name, Type type, boolean ignoreCase,
+ EClass eClass) {
+ partLoop : for (Property part : getParts()) {
+ if (eClass != null && !eClass.isInstance(part))
+ continue partLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(part.getName())
+ : name.equals(part.getName())))
+ continue partLoop;
+ if (type != null && !type.equals(part.getType()))
+ continue partLoop;
+ return part;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Connector> getOwnedConnectors() {
+ return (EList<Connector>) eDynamicGet(
+ UMLPackage.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Connector createOwnedConnector(String name) {
+ Connector newOwnedConnector = (Connector) create(
+ UMLPackage.Literals.CONNECTOR);
+ getOwnedConnectors().add(newOwnedConnector);
+ if (name != null)
+ newOwnedConnector.setName(name);
+ return newOwnedConnector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Connector getOwnedConnector(String name) {
+ return getOwnedConnector(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Connector getOwnedConnector(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ ownedConnectorLoop : for (Connector ownedConnector : getOwnedConnectors()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(ownedConnector.getName())
+ : name.equals(ownedConnector.getName())))
+ continue ownedConnectorLoop;
+ return ownedConnector;
+ }
+ return createOnDemand
+ ? createOwnedConnector(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createOwnedAttribute(String name, Type type, int lower,
+ int upper) {
+ return StructuredClassifierOperations.createOwnedAttribute(this, name,
+ type, lower, upper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConnectableElement> allRoles() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<ConnectableElement> result = (EList<ConnectableElement>) cache
+ .get(this,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER___ALL_ROLES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.STRUCTURED_CLASSIFIER___ALL_ROLES,
+ result = StructuredClassifierOperations.allRoles(this));
+ }
+ return result;
+ }
+ return StructuredClassifierOperations.allRoles(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURED_CLASSIFIER__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE :
+ return ((InternalEList<?>) getOwnedAttributes())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR :
+ return ((InternalEList<?>) getOwnedConnectors())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURED_CLASSIFIER__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.STRUCTURED_CLASSIFIER__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.STRUCTURED_CLASSIFIER__NAME :
+ return getName();
+ case UMLPackage.STRUCTURED_CLASSIFIER__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.STRUCTURED_CLASSIFIER__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.STRUCTURED_CLASSIFIER__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STRUCTURED_CLASSIFIER__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.STRUCTURED_CLASSIFIER__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.STRUCTURED_CLASSIFIER__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.STRUCTURED_CLASSIFIER__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.STRUCTURED_CLASSIFIER__MEMBER :
+ return getMembers();
+ case UMLPackage.STRUCTURED_CLASSIFIER__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.STRUCTURED_CLASSIFIER__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.STRUCTURED_CLASSIFIER__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.STRUCTURED_CLASSIFIER__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.STRUCTURED_CLASSIFIER__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.STRUCTURED_CLASSIFIER__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.STRUCTURED_CLASSIFIER__FEATURE :
+ return getFeatures();
+ case UMLPackage.STRUCTURED_CLASSIFIER__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.STRUCTURED_CLASSIFIER__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.STRUCTURED_CLASSIFIER__GENERAL :
+ return getGenerals();
+ case UMLPackage.STRUCTURED_CLASSIFIER__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.STRUCTURED_CLASSIFIER__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.STRUCTURED_CLASSIFIER__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.STRUCTURED_CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.STRUCTURED_CLASSIFIER__USE_CASE :
+ return getUseCases();
+ case UMLPackage.STRUCTURED_CLASSIFIER__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.STRUCTURED_CLASSIFIER__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.STRUCTURED_CLASSIFIER__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE :
+ return getOwnedAttributes();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR :
+ return getOwnedConnectors();
+ case UMLPackage.STRUCTURED_CLASSIFIER__PART :
+ return getParts();
+ case UMLPackage.STRUCTURED_CLASSIFIER__ROLE :
+ return getRoles();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURED_CLASSIFIER__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ getOwnedAttributes()
+ .addAll((Collection<? extends Property>) newValue);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ getOwnedConnectors()
+ .addAll((Collection<? extends Connector>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURED_CLASSIFIER__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__NAME :
+ unsetName();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE :
+ getOwnedAttributes().clear();
+ return;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR :
+ getOwnedConnectors().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.STRUCTURED_CLASSIFIER__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNER :
+ return isSetOwner();
+ case UMLPackage.STRUCTURED_CLASSIFIER__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__NAME :
+ return isSetName();
+ case UMLPackage.STRUCTURED_CLASSIFIER__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.STRUCTURED_CLASSIFIER__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.STRUCTURED_CLASSIFIER__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.STRUCTURED_CLASSIFIER__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.STRUCTURED_CLASSIFIER__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__MEMBER :
+ return isSetMembers();
+ case UMLPackage.STRUCTURED_CLASSIFIER__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.STRUCTURED_CLASSIFIER__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.STRUCTURED_CLASSIFIER__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.STRUCTURED_CLASSIFIER__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.STRUCTURED_CLASSIFIER__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.STRUCTURED_CLASSIFIER__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.STRUCTURED_CLASSIFIER__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.STRUCTURED_CLASSIFIER__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.STRUCTURED_CLASSIFIER__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.STRUCTURED_CLASSIFIER__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.STRUCTURED_CLASSIFIER__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE :
+ return !getOwnedAttributes().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR :
+ return !getOwnedConnectors().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__PART :
+ return !getParts().isEmpty();
+ case UMLPackage.STRUCTURED_CLASSIFIER__ROLE :
+ return isSetRoles();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_MODEL :
+ return getModel();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.STRUCTURED_CLASSIFIER___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.STRUCTURED_CLASSIFIER___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_LABEL :
+ return getLabel();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.STRUCTURED_CLASSIFIER___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.STRUCTURED_CLASSIFIER___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.STRUCTURED_CLASSIFIER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.STRUCTURED_CLASSIFIER___SEPARATOR :
+ return separator();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.STRUCTURED_CLASSIFIER___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.STRUCTURED_CLASSIFIER___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.STRUCTURED_CLASSIFIER___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.STRUCTURED_CLASSIFIER___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.STRUCTURED_CLASSIFIER___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.STRUCTURED_CLASSIFIER___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.STRUCTURED_CLASSIFIER___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.STRUCTURED_CLASSIFIER___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___PARENTS :
+ return parents();
+ case UMLPackage.STRUCTURED_CLASSIFIER___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.STRUCTURED_CLASSIFIER___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.STRUCTURED_CLASSIFIER___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.STRUCTURED_CLASSIFIER___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.STRUCTURED_CLASSIFIER___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.STRUCTURED_CLASSIFIER___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.STRUCTURED_CLASSIFIER___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.STRUCTURED_CLASSIFIER___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT :
+ return createOwnedAttribute((String) arguments.get(0),
+ (Type) arguments.get(1), (Integer) arguments.get(2),
+ (Integer) arguments.get(3));
+ case UMLPackage.STRUCTURED_CLASSIFIER___GET_PARTS :
+ return getParts();
+ case UMLPackage.STRUCTURED_CLASSIFIER___ALL_ROLES :
+ return allRoles();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRoles() {
+ return eIsSet(UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers()
+ || eIsSet(UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE)
+ || eIsSet(UMLPackage.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getAttributes() <em>Attribute</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributes()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] ATTRIBUTE_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectableElement getRole(String name, Type type) {
+ return getRole(name, type, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectableElement getRole(String name, Type type,
+ boolean ignoreCase, EClass eClass) {
+ roleLoop : for (ConnectableElement role : getRoles()) {
+ if (eClass != null && !eClass.isInstance(role))
+ continue roleLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(role.getName())
+ : name.equals(role.getName())))
+ continue roleLoop;
+ if (type != null && !type.equals(role.getType()))
+ continue roleLoop;
+ return role;
+ }
+ return null;
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURED_CLASSIFIER__OWNED_RULE,
+ UMLPackage.STRUCTURED_CLASSIFIER__OWNED_USE_CASE,
+ UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE,
+ UMLPackage.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRoles() <em>Role</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRoles()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] ROLE_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetAttributes() {
+ return super.isSetAttributes()
+ || eIsSet(UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetMembers() {
+ return super.isSetMembers() || isSetRoles();
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getFeatures() <em>Feature</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeatures()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] FEATURE_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURED_CLASSIFIER__ATTRIBUTE,
+ UMLPackage.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getMembers() <em>Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] MEMBER_ESUBSETS = new int[]{
+ UMLPackage.STRUCTURED_CLASSIFIER__OWNED_MEMBER,
+ UMLPackage.STRUCTURED_CLASSIFIER__IMPORTED_MEMBER,
+ UMLPackage.STRUCTURED_CLASSIFIER__FEATURE,
+ UMLPackage.STRUCTURED_CLASSIFIER__INHERITED_MEMBER,
+ UMLPackage.STRUCTURED_CLASSIFIER__ROLE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetFeatures() {
+ return super.isSetFeatures()
+ || eIsSet(UMLPackage.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR);
+ }
+
+} //StructuredClassifierImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SubstitutionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SubstitutionImpl.java
new file mode 100644
index 00000000..931edca3
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/SubstitutionImpl.java
@@ -0,0 +1,621 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Substitution</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SubstitutionImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SubstitutionImpl#getSuppliers <em>Supplier</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SubstitutionImpl#getClients <em>Client</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SubstitutionImpl#getContract <em>Contract</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.SubstitutionImpl#getSubstitutingClassifier <em>Substituting Classifier</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SubstitutionImpl
+ extends RealizationImpl
+ implements Substitution {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SubstitutionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.SUBSTITUTION;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.DEPENDENCY__CLIENT) {
+ return createClientsList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.DEPENDENCY__SUPPLIER) {
+ return createSuppliersList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ Classifier substitutingClassifier = basicGetSubstitutingClassifier();
+ if (substitutingClassifier != null) {
+ return substitutingClassifier;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getSuppliers() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.SUBSTITUTION__SUPPLIER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPENDENCY__SUPPLIER, true, true);
+ }
+
+ private EList<NamedElement> createSuppliersList() {
+ return new SubsetSupersetEObjectResolvingEList<NamedElement>(
+ NamedElement.class, this, UMLPackage.SUBSTITUTION__SUPPLIER, null,
+ SUPPLIER_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSuppliers() <em>Supplier</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuppliers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SUPPLIER_ESUBSETS = new int[]{
+ UMLPackage.SUBSTITUTION__CONTRACT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<NamedElement> getClients() {
+ return (EList<NamedElement>) eDynamicGet(
+ UMLPackage.SUBSTITUTION__CLIENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.DEPENDENCY__CLIENT, true, true);
+ }
+
+ private EList<NamedElement> createClientsList() {
+ return new SubsetSupersetEObjectResolvingEList<NamedElement>(
+ NamedElement.class, this, UMLPackage.SUBSTITUTION__CLIENT, null,
+ CLIENT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getClients() <em>Client</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClients()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] CLIENT_ESUBSETS = new int[]{
+ UMLPackage.SUBSTITUTION__SUBSTITUTING_CLASSIFIER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getContract() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.SUBSTITUTION__CONTRACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SUBSTITUTION__CONTRACT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier basicGetContract() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.SUBSTITUTION__CONTRACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SUBSTITUTION__CONTRACT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setContract(Classifier newContract) {
+ eDynamicSet(UMLPackage.SUBSTITUTION__CONTRACT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SUBSTITUTION__CONTRACT, newContract);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newContract != null) {
+ EList<NamedElement> suppliers = getSuppliers();
+ if (!suppliers.contains(newContract)) {
+ suppliers.add(newContract);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getSubstitutingClassifier() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.SUBSTITUTION__SUBSTITUTING_CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SUBSTITUTION__SUBSTITUTING_CLASSIFIER, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier basicGetSubstitutingClassifier() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.SUBSTITUTION__SUBSTITUTING_CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SUBSTITUTION__SUBSTITUTING_CLASSIFIER, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSubstitutingClassifier(
+ Classifier newSubstitutingClassifier, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newSubstitutingClassifier,
+ UMLPackage.SUBSTITUTION__SUBSTITUTING_CLASSIFIER, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newSubstitutingClassifier != null) {
+ EList<NamedElement> clients = getClients();
+ if (!clients.contains(newSubstitutingClassifier)) {
+ clients.add(newSubstitutingClassifier);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSubstitutingClassifier(
+ Classifier newSubstitutingClassifier) {
+ eDynamicSet(
+ UMLPackage.SUBSTITUTION__SUBSTITUTING_CLASSIFIER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.SUBSTITUTION__SUBSTITUTING_CLASSIFIER,
+ newSubstitutingClassifier);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newSubstitutingClassifier != null) {
+ EList<NamedElement> clients = getClients();
+ if (!clients.contains(newSubstitutingClassifier)) {
+ clients.add(newSubstitutingClassifier);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.SUBSTITUTION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.SUBSTITUTION__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.SUBSTITUTION__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.SUBSTITUTION__SUBSTITUTING_CLASSIFIER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetSubstitutingClassifier((Classifier) otherEnd,
+ msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.SUBSTITUTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SUBSTITUTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.SUBSTITUTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.SUBSTITUTION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.SUBSTITUTION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.SUBSTITUTION__MAPPING :
+ return basicSetMapping(null, msgs);
+ case UMLPackage.SUBSTITUTION__SUBSTITUTING_CLASSIFIER :
+ return basicSetSubstitutingClassifier(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.SUBSTITUTION__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ case UMLPackage.SUBSTITUTION__SUBSTITUTING_CLASSIFIER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.CLASSIFIER__SUBSTITUTION, Classifier.class,
+ msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.SUBSTITUTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.SUBSTITUTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.SUBSTITUTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.SUBSTITUTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.SUBSTITUTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.SUBSTITUTION__NAME :
+ return getName();
+ case UMLPackage.SUBSTITUTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.SUBSTITUTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.SUBSTITUTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.SUBSTITUTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.SUBSTITUTION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.SUBSTITUTION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.SUBSTITUTION__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.SUBSTITUTION__SOURCE :
+ return getSources();
+ case UMLPackage.SUBSTITUTION__TARGET :
+ return getTargets();
+ case UMLPackage.SUBSTITUTION__CLIENT :
+ return getClients();
+ case UMLPackage.SUBSTITUTION__SUPPLIER :
+ return getSuppliers();
+ case UMLPackage.SUBSTITUTION__MAPPING :
+ if (resolve)
+ return getMapping();
+ return basicGetMapping();
+ case UMLPackage.SUBSTITUTION__CONTRACT :
+ if (resolve)
+ return getContract();
+ return basicGetContract();
+ case UMLPackage.SUBSTITUTION__SUBSTITUTING_CLASSIFIER :
+ if (resolve)
+ return getSubstitutingClassifier();
+ return basicGetSubstitutingClassifier();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.SUBSTITUTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.SUBSTITUTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.SUBSTITUTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.SUBSTITUTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.SUBSTITUTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.SUBSTITUTION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.SUBSTITUTION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.SUBSTITUTION__CLIENT :
+ getClients().clear();
+ getClients()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.SUBSTITUTION__SUPPLIER :
+ getSuppliers().clear();
+ getSuppliers()
+ .addAll((Collection<? extends NamedElement>) newValue);
+ return;
+ case UMLPackage.SUBSTITUTION__MAPPING :
+ setMapping((OpaqueExpression) newValue);
+ return;
+ case UMLPackage.SUBSTITUTION__CONTRACT :
+ setContract((Classifier) newValue);
+ return;
+ case UMLPackage.SUBSTITUTION__SUBSTITUTING_CLASSIFIER :
+ setSubstitutingClassifier((Classifier) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SUBSTITUTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.SUBSTITUTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.SUBSTITUTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.SUBSTITUTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.SUBSTITUTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.SUBSTITUTION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.SUBSTITUTION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.SUBSTITUTION__CLIENT :
+ getClients().clear();
+ return;
+ case UMLPackage.SUBSTITUTION__SUPPLIER :
+ getSuppliers().clear();
+ return;
+ case UMLPackage.SUBSTITUTION__MAPPING :
+ setMapping((OpaqueExpression) null);
+ return;
+ case UMLPackage.SUBSTITUTION__CONTRACT :
+ setContract((Classifier) null);
+ return;
+ case UMLPackage.SUBSTITUTION__SUBSTITUTING_CLASSIFIER :
+ setSubstitutingClassifier((Classifier) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.SUBSTITUTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.SUBSTITUTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.SUBSTITUTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.SUBSTITUTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.SUBSTITUTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.SUBSTITUTION__NAME :
+ return isSetName();
+ case UMLPackage.SUBSTITUTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.SUBSTITUTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.SUBSTITUTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.SUBSTITUTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.SUBSTITUTION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.SUBSTITUTION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.SUBSTITUTION__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.SUBSTITUTION__SOURCE :
+ return isSetSources();
+ case UMLPackage.SUBSTITUTION__TARGET :
+ return isSetTargets();
+ case UMLPackage.SUBSTITUTION__CLIENT :
+ return !getClients().isEmpty();
+ case UMLPackage.SUBSTITUTION__SUPPLIER :
+ return !getSuppliers().isEmpty();
+ case UMLPackage.SUBSTITUTION__MAPPING :
+ return basicGetMapping() != null;
+ case UMLPackage.SUBSTITUTION__CONTRACT :
+ return basicGetContract() != null;
+ case UMLPackage.SUBSTITUTION__SUBSTITUTING_CLASSIFIER :
+ return basicGetSubstitutingClassifier() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.SUBSTITUTION__SUBSTITUTING_CLASSIFIER);
+ }
+
+} //SubstitutionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateBindingImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateBindingImpl.java
new file mode 100644
index 00000000..72eba868
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateBindingImpl.java
@@ -0,0 +1,704 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TemplateableElement;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.TemplateBindingOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Template Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateBindingImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateBindingImpl#getTargets <em>Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateBindingImpl#getSources <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateBindingImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateBindingImpl#getParameterSubstitutions <em>Parameter Substitution</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateBindingImpl#getSignature <em>Signature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateBindingImpl#getBoundElement <em>Bound Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TemplateBindingImpl
+ extends DirectedRelationshipImpl
+ implements TemplateBinding {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateBindingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TEMPLATE_BINDING;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getTargets() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> targets = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET);
+ if (targets == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__TARGET,
+ targets = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.TEMPLATE_BINDING__TARGET, TARGET_ESUBSETS));
+ }
+ return targets;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.TEMPLATE_BINDING__TARGET, TARGET_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.TEMPLATE_BINDING__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.TEMPLATE_BINDING__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getSources() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> sources = (EList<Element>) cache.get(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE);
+ if (sources == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.DIRECTED_RELATIONSHIP__SOURCE,
+ sources = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.TEMPLATE_BINDING__SOURCE, SOURCE_ESUBSETS));
+ }
+ return sources;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.TEMPLATE_BINDING__SOURCE, SOURCE_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature getSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.TEMPLATE_BINDING__SIGNATURE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_BINDING__SIGNATURE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature basicGetSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.TEMPLATE_BINDING__SIGNATURE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_BINDING__SIGNATURE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSignature(TemplateSignature newSignature) {
+ eDynamicSet(
+ UMLPackage.TEMPLATE_BINDING__SIGNATURE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_BINDING__SIGNATURE, newSignature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<TemplateParameterSubstitution> getParameterSubstitutions() {
+ return (EList<TemplateParameterSubstitution>) eDynamicGet(
+ UMLPackage.TEMPLATE_BINDING__PARAMETER_SUBSTITUTION
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_BINDING__PARAMETER_SUBSTITUTION, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameterSubstitution createParameterSubstitution() {
+ TemplateParameterSubstitution newParameterSubstitution = (TemplateParameterSubstitution) create(
+ UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION);
+ getParameterSubstitutions().add(newParameterSubstitution);
+ return newParameterSubstitution;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateableElement getBoundElement() {
+ return (TemplateableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_BINDING__BOUND_ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateableElement basicGetBoundElement() {
+ return (TemplateableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_BINDING__BOUND_ELEMENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBoundElement(
+ TemplateableElement newBoundElement, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newBoundElement,
+ UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBoundElement(TemplateableElement newBoundElement) {
+ eDynamicSet(
+ UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_BINDING__BOUND_ELEMENT,
+ newBoundElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParameterSubstitutionFormal(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return TemplateBindingOperations
+ .validateParameterSubstitutionFormal(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneParameterSubstitution(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TemplateBindingOperations.validateOneParameterSubstitution(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_BINDING__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_BINDING__PARAMETER_SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getParameterSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetBoundElement((TemplateableElement) otherEnd,
+ msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_BINDING__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_BINDING__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_BINDING__PARAMETER_SUBSTITUTION :
+ return ((InternalEList<?>) getParameterSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT :
+ return basicSetBoundElement(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING,
+ TemplateableElement.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_BINDING__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TEMPLATE_BINDING__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TEMPLATE_BINDING__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TEMPLATE_BINDING__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TEMPLATE_BINDING__RELATED_ELEMENT :
+ return getRelatedElements();
+ case UMLPackage.TEMPLATE_BINDING__SOURCE :
+ return getSources();
+ case UMLPackage.TEMPLATE_BINDING__TARGET :
+ return getTargets();
+ case UMLPackage.TEMPLATE_BINDING__PARAMETER_SUBSTITUTION :
+ return getParameterSubstitutions();
+ case UMLPackage.TEMPLATE_BINDING__SIGNATURE :
+ if (resolve)
+ return getSignature();
+ return basicGetSignature();
+ case UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT :
+ if (resolve)
+ return getBoundElement();
+ return basicGetBoundElement();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_BINDING__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TEMPLATE_BINDING__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TEMPLATE_BINDING__PARAMETER_SUBSTITUTION :
+ getParameterSubstitutions().clear();
+ getParameterSubstitutions().addAll(
+ (Collection<? extends TemplateParameterSubstitution>) newValue);
+ return;
+ case UMLPackage.TEMPLATE_BINDING__SIGNATURE :
+ setSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT :
+ setBoundElement((TemplateableElement) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_BINDING__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TEMPLATE_BINDING__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TEMPLATE_BINDING__PARAMETER_SUBSTITUTION :
+ getParameterSubstitutions().clear();
+ return;
+ case UMLPackage.TEMPLATE_BINDING__SIGNATURE :
+ setSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT :
+ setBoundElement((TemplateableElement) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_BINDING__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TEMPLATE_BINDING__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TEMPLATE_BINDING__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TEMPLATE_BINDING__OWNER :
+ return isSetOwner();
+ case UMLPackage.TEMPLATE_BINDING__RELATED_ELEMENT :
+ return isSetRelatedElements();
+ case UMLPackage.TEMPLATE_BINDING__SOURCE :
+ return isSetSources();
+ case UMLPackage.TEMPLATE_BINDING__TARGET :
+ return isSetTargets();
+ case UMLPackage.TEMPLATE_BINDING__PARAMETER_SUBSTITUTION :
+ return !getParameterSubstitutions().isEmpty();
+ case UMLPackage.TEMPLATE_BINDING__SIGNATURE :
+ return basicGetSignature() != null;
+ case UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT :
+ return basicGetBoundElement() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.TEMPLATE_BINDING___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEMPLATE_BINDING___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEMPLATE_BINDING___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.TEMPLATE_BINDING___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.TEMPLATE_BINDING___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.TEMPLATE_BINDING___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.TEMPLATE_BINDING___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATE_BINDING___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___GET_MODEL :
+ return getModel();
+ case UMLPackage.TEMPLATE_BINDING___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.TEMPLATE_BINDING___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.TEMPLATE_BINDING___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.TEMPLATE_BINDING___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.TEMPLATE_BINDING___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.TEMPLATE_BINDING___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.TEMPLATE_BINDING___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATE_BINDING___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATE_BINDING___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.TEMPLATE_BINDING___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_BINDING___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.TEMPLATE_BINDING___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.TEMPLATE_BINDING___VALIDATE_PARAMETER_SUBSTITUTION_FORMAL__DIAGNOSTICCHAIN_MAP :
+ return validateParameterSubstitutionFormal(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEMPLATE_BINDING___VALIDATE_ONE_PARAMETER_SUBSTITUTION__DIAGNOSTICCHAIN_MAP :
+ return validateOneParameterSubstitution(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetTargets() {
+ return super.isSetTargets()
+ || eIsSet(UMLPackage.TEMPLATE_BINDING__SIGNATURE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.TEMPLATE_BINDING__OWNED_COMMENT,
+ UMLPackage.TEMPLATE_BINDING__PARAMETER_SUBSTITUTION};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getTargets() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] TARGET_ESUBSETS = new int[]{
+ UMLPackage.TEMPLATE_BINDING__SIGNATURE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.TEMPLATE_BINDING__PARAMETER_SUBSTITUTION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ TemplateableElement boundElement = basicGetBoundElement();
+ if (boundElement != null) {
+ return boundElement;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getSources() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSources()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] SOURCE_ESUBSETS = new int[]{
+ UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetSources() {
+ return super.isSetSources()
+ || eIsSet(UMLPackage.TEMPLATE_BINDING__BOUND_ELEMENT);
+ }
+
+} //TemplateBindingImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateParameterImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateParameterImpl.java
new file mode 100644
index 00000000..b70679ad
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateParameterImpl.java
@@ -0,0 +1,831 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.TemplateParameterOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Template Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateParameterImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateParameterImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateParameterImpl#getDefault <em>Default</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateParameterImpl#getParameteredElement <em>Parametered Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateParameterImpl#getOwnedDefault <em>Owned Default</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateParameterImpl#getSignature <em>Signature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateParameterImpl#getOwnedParameteredElement <em>Owned Parametered Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TemplateParameterImpl
+ extends ElementImpl
+ implements TemplateParameter {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TEMPLATE_PARAMETER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement getParameteredElement() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement basicGetParameteredElement() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParameteredElement(
+ ParameterableElement newParameteredElement,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newParameteredElement,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ ParameterableElement ownedParameteredElement = getOwnedParameteredElement();
+ if (ownedParameteredElement != null
+ && ownedParameteredElement != newParameteredElement) {
+ setOwnedParameteredElement(null);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParameteredElement(
+ ParameterableElement newParameteredElement) {
+ eDynamicSet(
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ newParameteredElement);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ ParameterableElement ownedParameteredElement = getOwnedParameteredElement();
+ if (ownedParameteredElement != null
+ && ownedParameteredElement != newParameteredElement) {
+ setOwnedParameteredElement(null);
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement getDefault() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER__DEFAULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__DEFAULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement basicGetDefault() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER__DEFAULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__DEFAULT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefault(ParameterableElement newDefault) {
+ eDynamicSet(
+ UMLPackage.TEMPLATE_PARAMETER__DEFAULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__DEFAULT, newDefault);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ ParameterableElement ownedDefault = getOwnedDefault();
+ if (ownedDefault != null && ownedDefault != newDefault) {
+ setOwnedDefault(null);
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature getSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER__SIGNATURE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__SIGNATURE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature basicGetSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER__SIGNATURE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__SIGNATURE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSignature(TemplateSignature newSignature,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newSignature,
+ UMLPackage.TEMPLATE_PARAMETER__SIGNATURE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSignature(TemplateSignature newSignature) {
+ eDynamicSet(
+ UMLPackage.TEMPLATE_PARAMETER__SIGNATURE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__SIGNATURE, newSignature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement getOwnedParameteredElement() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement basicGetOwnedParameteredElement() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedParameteredElement(
+ ParameterableElement newOwnedParameteredElement,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newOwnedParameteredElement,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwnedParameteredElement != null) {
+ if (newOwnedParameteredElement != getParameteredElement()) {
+ setParameteredElement(newOwnedParameteredElement);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedParameteredElement(
+ ParameterableElement newOwnedParameteredElement) {
+ eDynamicSet(
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ newOwnedParameteredElement);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwnedParameteredElement != null) {
+ if (newOwnedParameteredElement != getParameteredElement()) {
+ setParameteredElement(newOwnedParameteredElement);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement createOwnedParameteredElement(EClass eClass) {
+ ParameterableElement newOwnedParameteredElement = (ParameterableElement) create(
+ eClass);
+ setOwnedParameteredElement(newOwnedParameteredElement);
+ return newOwnedParameteredElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement getOwnedDefault() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement basicGetOwnedDefault() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedDefault(
+ ParameterableElement newOwnedDefault, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newOwnedDefault,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwnedDefault != null) {
+ if (newOwnedDefault != getDefault()) {
+ setDefault(newOwnedDefault);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedDefault(ParameterableElement newOwnedDefault) {
+ eDynamicSet(
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+ newOwnedDefault);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwnedDefault != null) {
+ if (newOwnedDefault != getDefault()) {
+ setDefault(newOwnedDefault);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement createOwnedDefault(EClass eClass) {
+ ParameterableElement newOwnedDefault = (ParameterableElement) create(
+ eClass);
+ setOwnedDefault(newOwnedDefault);
+ return newOwnedDefault;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMustBeCompatible(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TemplateParameterOperations.validateMustBeCompatible(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_PARAMETER__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ ParameterableElement parameteredElement = basicGetParameteredElement();
+ if (parameteredElement != null)
+ msgs = ((InternalEObject) parameteredElement)
+ .eInverseRemove(this,
+ UMLPackage.PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER,
+ ParameterableElement.class, msgs);
+ return basicSetParameteredElement(
+ (ParameterableElement) otherEnd, msgs);
+ case UMLPackage.TEMPLATE_PARAMETER__SIGNATURE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetSignature((TemplateSignature) otherEnd, msgs);
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ ParameterableElement ownedParameteredElement = basicGetOwnedParameteredElement();
+ if (ownedParameteredElement != null)
+ msgs = ((InternalEObject) ownedParameteredElement)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ null, msgs);
+ return basicSetOwnedParameteredElement(
+ (ParameterableElement) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_PARAMETER__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ return basicSetOwnedDefault(null, msgs);
+ case UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ return basicSetParameteredElement(null, msgs);
+ case UMLPackage.TEMPLATE_PARAMETER__SIGNATURE :
+ return basicSetSignature(null, msgs);
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ return basicSetOwnedParameteredElement(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.TEMPLATE_PARAMETER__SIGNATURE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER,
+ TemplateSignature.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_PARAMETER__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TEMPLATE_PARAMETER__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TEMPLATE_PARAMETER__DEFAULT :
+ if (resolve)
+ return getDefault();
+ return basicGetDefault();
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ if (resolve)
+ return getOwnedDefault();
+ return basicGetOwnedDefault();
+ case UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ if (resolve)
+ return getParameteredElement();
+ return basicGetParameteredElement();
+ case UMLPackage.TEMPLATE_PARAMETER__SIGNATURE :
+ if (resolve)
+ return getSignature();
+ return basicGetSignature();
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ if (resolve)
+ return getOwnedParameteredElement();
+ return basicGetOwnedParameteredElement();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_PARAMETER__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER__DEFAULT :
+ setDefault((ParameterableElement) newValue);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ setOwnedDefault((ParameterableElement) newValue);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ setParameteredElement((ParameterableElement) newValue);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER__SIGNATURE :
+ setSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ setOwnedParameteredElement((ParameterableElement) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_PARAMETER__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER__DEFAULT :
+ setDefault((ParameterableElement) null);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ setOwnedDefault((ParameterableElement) null);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ setParameteredElement((ParameterableElement) null);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER__SIGNATURE :
+ setSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ setOwnedParameteredElement((ParameterableElement) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_PARAMETER__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TEMPLATE_PARAMETER__OWNER :
+ return isSetOwner();
+ case UMLPackage.TEMPLATE_PARAMETER__DEFAULT :
+ return basicGetDefault() != null;
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ return basicGetOwnedDefault() != null;
+ case UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
+ return basicGetParameteredElement() != null;
+ case UMLPackage.TEMPLATE_PARAMETER__SIGNATURE :
+ return basicGetSignature() != null;
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ return basicGetOwnedParameteredElement() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.TEMPLATE_PARAMETER___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEMPLATE_PARAMETER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEMPLATE_PARAMETER___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.TEMPLATE_PARAMETER___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.TEMPLATE_PARAMETER___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.TEMPLATE_PARAMETER___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.TEMPLATE_PARAMETER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATE_PARAMETER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___GET_MODEL :
+ return getModel();
+ case UMLPackage.TEMPLATE_PARAMETER___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.TEMPLATE_PARAMETER___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.TEMPLATE_PARAMETER___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.TEMPLATE_PARAMETER___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.TEMPLATE_PARAMETER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.TEMPLATE_PARAMETER___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.TEMPLATE_PARAMETER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATE_PARAMETER___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATE_PARAMETER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.TEMPLATE_PARAMETER___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.TEMPLATE_PARAMETER___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.TEMPLATE_PARAMETER___VALIDATE_MUST_BE_COMPATIBLE__DIAGNOSTICCHAIN_MAP :
+ return validateMustBeCompatible(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ TemplateSignature signature = basicGetSignature();
+ if (signature != null) {
+ return signature;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.TEMPLATE_PARAMETER__SIGNATURE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_COMMENT,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT)
+ || eIsSet(UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT);
+ }
+
+} //TemplateParameterImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateParameterSubstitutionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateParameterSubstitutionImpl.java
new file mode 100644
index 00000000..6c7612b6
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateParameterSubstitutionImpl.java
@@ -0,0 +1,699 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.TemplateParameterSubstitutionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Template Parameter Substitution</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateParameterSubstitutionImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateParameterSubstitutionImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateParameterSubstitutionImpl#getActual <em>Actual</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateParameterSubstitutionImpl#getFormal <em>Formal</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateParameterSubstitutionImpl#getOwnedActual <em>Owned Actual</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateParameterSubstitutionImpl#getTemplateBinding <em>Template Binding</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TemplateParameterSubstitutionImpl
+ extends ElementImpl
+ implements TemplateParameterSubstitution {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateParameterSubstitutionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter getFormal() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter basicGetFormal() {
+ return (TemplateParameter) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFormal(TemplateParameter newFormal) {
+ eDynamicSet(
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL,
+ newFormal);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement getOwnedActual() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement basicGetOwnedActual() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedActual(
+ ParameterableElement newOwnedActual, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newOwnedActual,
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL, msgs);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwnedActual != null) {
+ if (newOwnedActual != getActual()) {
+ setActual(newOwnedActual);
+ }
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedActual(ParameterableElement newOwnedActual) {
+ eDynamicSet(
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
+ newOwnedActual);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newOwnedActual != null) {
+ if (newOwnedActual != getActual()) {
+ setActual(newOwnedActual);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement createOwnedActual(EClass eClass) {
+ ParameterableElement newOwnedActual = (ParameterableElement) create(
+ eClass);
+ setOwnedActual(newOwnedActual);
+ return newOwnedActual;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding getTemplateBinding() {
+ return (TemplateBinding) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding basicGetTemplateBinding() {
+ return (TemplateBinding) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemplateBinding(
+ TemplateBinding newTemplateBinding, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newTemplateBinding,
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemplateBinding(TemplateBinding newTemplateBinding) {
+ eDynamicSet(
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING,
+ newTemplateBinding);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMustBeCompatible(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TemplateParameterSubstitutionOperations
+ .validateMustBeCompatible(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetTemplateBinding((TemplateBinding) otherEnd,
+ msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL :
+ return basicSetOwnedActual(null, msgs);
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING :
+ return basicSetTemplateBinding(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_BINDING__PARAMETER_SUBSTITUTION,
+ TemplateBinding.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL :
+ if (resolve)
+ return getActual();
+ return basicGetActual();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL :
+ if (resolve)
+ return getFormal();
+ return basicGetFormal();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL :
+ if (resolve)
+ return getOwnedActual();
+ return basicGetOwnedActual();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING :
+ if (resolve)
+ return getTemplateBinding();
+ return basicGetTemplateBinding();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL :
+ setActual((ParameterableElement) newValue);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL :
+ setFormal((TemplateParameter) newValue);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL :
+ setOwnedActual((ParameterableElement) newValue);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING :
+ setTemplateBinding((TemplateBinding) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL :
+ setActual((ParameterableElement) null);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL :
+ setFormal((TemplateParameter) null);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL :
+ setOwnedActual((ParameterableElement) null);
+ return;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING :
+ setTemplateBinding((TemplateBinding) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL :
+ return basicGetActual() != null;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL :
+ return basicGetFormal() != null;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL :
+ return basicGetOwnedActual() != null;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING :
+ return basicGetTemplateBinding() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION___VALIDATE_MUST_BE_COMPATIBLE__DIAGNOSTICCHAIN_MAP :
+ return validateMustBeCompatible(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_COMMENT,
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ TemplateBinding templateBinding = basicGetTemplateBinding();
+ if (templateBinding != null) {
+ return templateBinding;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement getActual() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElement basicGetActual() {
+ return (ParameterableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActual(ParameterableElement newActual) {
+ eDynamicSet(
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL,
+ newActual);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ ParameterableElement ownedActual = getOwnedActual();
+ if (ownedActual != null && ownedActual != newActual) {
+ setOwnedActual(null);
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner() || eIsSet(
+ UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING);
+ }
+
+} //TemplateParameterSubstitutionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateSignatureImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateSignatureImpl.java
new file mode 100644
index 00000000..0b90fd9b
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateSignatureImpl.java
@@ -0,0 +1,640 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentWithInverseEList;
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectResolvingEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TemplateableElement;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.TemplateSignatureOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Template Signature</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateSignatureImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateSignatureImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateSignatureImpl#getParameters <em>Parameter</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateSignatureImpl#getTemplate <em>Template</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateSignatureImpl#getOwnedParameters <em>Owned Parameter</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TemplateSignatureImpl
+ extends ElementImpl
+ implements TemplateSignature {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateSignatureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TEMPLATE_SIGNATURE;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.TEMPLATE_SIGNATURE__PARAMETER) {
+ return createParametersList();
+ }
+
+ if (eStructuralFeature == UMLPackage.Literals.TEMPLATE_SIGNATURE__OWNED_PARAMETER) {
+ return createOwnedParametersList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.TEMPLATE_SIGNATURE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.TEMPLATE_SIGNATURE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<TemplateParameter> getParameters() {
+ return (EList<TemplateParameter>) eDynamicGet(
+ UMLPackage.TEMPLATE_SIGNATURE__PARAMETER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_SIGNATURE__PARAMETER, true, true);
+ }
+
+ private EList<TemplateParameter> createParametersList() {
+ return new SubsetSupersetEObjectResolvingEList<TemplateParameter>(
+ TemplateParameter.class, this,
+ UMLPackage.TEMPLATE_SIGNATURE__PARAMETER, null, PARAMETER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateableElement getTemplate() {
+ return (TemplateableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_SIGNATURE__TEMPLATE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateableElement basicGetTemplate() {
+ return (TemplateableElement) eDynamicGet(
+ UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_SIGNATURE__TEMPLATE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemplate(TemplateableElement newTemplate,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newTemplate,
+ UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemplate(TemplateableElement newTemplate) {
+ eDynamicSet(
+ UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_SIGNATURE__TEMPLATE, newTemplate);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<TemplateParameter> getOwnedParameters() {
+ return (EList<TemplateParameter>) eDynamicGet(
+ UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATE_SIGNATURE__OWNED_PARAMETER, true,
+ true);
+ }
+
+ private EList<TemplateParameter> createOwnedParametersList() {
+ return new SubsetSupersetEObjectContainmentWithInverseEList.Resolving<TemplateParameter>(
+ TemplateParameter.class, this,
+ UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER,
+ OWNED_PARAMETER_ESUPERSETS, null,
+ UMLPackage.TEMPLATE_PARAMETER__SIGNATURE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter createOwnedParameter(EClass eClass) {
+ TemplateParameter newOwnedParameter = (TemplateParameter) create(
+ eClass);
+ getOwnedParameters().add(newOwnedParameter);
+ return newOwnedParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter createOwnedParameter() {
+ return createOwnedParameter(UMLPackage.Literals.TEMPLATE_PARAMETER);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOwnElements(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TemplateSignatureOperations.validateOwnElements(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUniqueParameters(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TemplateSignatureOperations.validateUniqueParameters(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_SIGNATURE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetTemplate((TemplateableElement) otherEnd, msgs);
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedParameters())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_SIGNATURE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE :
+ return basicSetTemplate(null, msgs);
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ return ((InternalEList<?>) getOwnedParameters())
+ .basicRemove(otherEnd, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ TemplateableElement.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_SIGNATURE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TEMPLATE_SIGNATURE__PARAMETER :
+ return getParameters();
+ case UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE :
+ if (resolve)
+ return getTemplate();
+ return basicGetTemplate();
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ return getOwnedParameters();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_SIGNATURE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TEMPLATE_SIGNATURE__PARAMETER :
+ getParameters().clear();
+ getParameters()
+ .addAll((Collection<? extends TemplateParameter>) newValue);
+ return;
+ case UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE :
+ setTemplate((TemplateableElement) newValue);
+ return;
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ getOwnedParameters()
+ .addAll((Collection<? extends TemplateParameter>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_SIGNATURE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TEMPLATE_SIGNATURE__PARAMETER :
+ getParameters().clear();
+ return;
+ case UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE :
+ setTemplate((TemplateableElement) null);
+ return;
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ getOwnedParameters().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATE_SIGNATURE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNER :
+ return isSetOwner();
+ case UMLPackage.TEMPLATE_SIGNATURE__PARAMETER :
+ return !getParameters().isEmpty();
+ case UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE :
+ return basicGetTemplate() != null;
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ return !getOwnedParameters().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEMPLATE_SIGNATURE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEMPLATE_SIGNATURE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_MODEL :
+ return getModel();
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATE_SIGNATURE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATE_SIGNATURE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.TEMPLATE_SIGNATURE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATE_SIGNATURE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.TEMPLATE_SIGNATURE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.TEMPLATE_SIGNATURE___VALIDATE_OWN_ELEMENTS__DIAGNOSTICCHAIN_MAP :
+ return validateOwnElements((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEMPLATE_SIGNATURE___VALIDATE_UNIQUE_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+ return validateUniqueParameters(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.TEMPLATE_SIGNATURE__OWNED_COMMENT,
+ UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getParameters() <em>Parameter</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParameters()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] PARAMETER_ESUBSETS = new int[]{
+ UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER};
+
+ /**
+ * The array of superset feature identifiers for the '{@link #getOwnedParameters() <em>Owned Parameter</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedParameters()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_PARAMETER_ESUPERSETS = new int[]{
+ UMLPackage.TEMPLATE_SIGNATURE__PARAMETER};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getOwner() {
+ Element owner = basicGetOwner();
+ return owner != null && owner.eIsProxy()
+ ? (Element) eResolveProxy((InternalEObject) owner)
+ : owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element basicGetOwner() {
+ TemplateableElement template = basicGetTemplate();
+ if (template != null) {
+ return template;
+ }
+ return super.basicGetOwner();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwner() {
+ return super.isSetOwner()
+ || eIsSet(UMLPackage.TEMPLATE_SIGNATURE__TEMPLATE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER);
+ }
+
+} //TemplateSignatureImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateableElementImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateableElementImpl.java
new file mode 100644
index 00000000..938946d6
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TemplateableElementImpl.java
@@ -0,0 +1,562 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TemplateableElement;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.internal.operations.TemplateableElementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Templateable Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateableElementImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateableElementImpl#getTemplateBindings <em>Template Binding</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TemplateableElementImpl#getOwnedTemplateSignature <em>Owned Template Signature</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class TemplateableElementImpl
+ extends ElementImpl
+ implements TemplateableElement {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateableElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TEMPLATEABLE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<TemplateBinding> getTemplateBindings() {
+ return (EList<TemplateBinding>) eDynamicGet(
+ UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding createTemplateBinding(TemplateSignature signature) {
+ TemplateBinding newTemplateBinding = (TemplateBinding) create(
+ UMLPackage.Literals.TEMPLATE_BINDING);
+ getTemplateBindings().add(newTemplateBinding);
+ if (signature != null)
+ newTemplateBinding.setSignature(signature);
+ return newTemplateBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding getTemplateBinding(TemplateSignature signature) {
+ return getTemplateBinding(signature, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding getTemplateBinding(TemplateSignature signature,
+ boolean createOnDemand) {
+ templateBindingLoop : for (TemplateBinding templateBinding : getTemplateBindings()) {
+ if (signature != null
+ && !signature.equals(templateBinding.getSignature()))
+ continue templateBindingLoop;
+ return templateBinding;
+ }
+ return createOnDemand
+ ? createTemplateBinding(signature)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature getOwnedTemplateSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature basicGetOwnedTemplateSignature() {
+ return (TemplateSignature) eDynamicGet(
+ UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedTemplateSignature(
+ TemplateSignature newOwnedTemplateSignature,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newOwnedTemplateSignature,
+ UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedTemplateSignature(
+ TemplateSignature newOwnedTemplateSignature) {
+ eDynamicSet(
+ UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ newOwnedTemplateSignature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature createOwnedTemplateSignature(EClass eClass) {
+ TemplateSignature newOwnedTemplateSignature = (TemplateSignature) create(
+ eClass);
+ setOwnedTemplateSignature(newOwnedTemplateSignature);
+ return newOwnedTemplateSignature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature createOwnedTemplateSignature() {
+ return createOwnedTemplateSignature(
+ UMLPackage.Literals.TEMPLATE_SIGNATURE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParameterableElement> parameterableElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<ParameterableElement> result = (EList<ParameterableElement>) cache
+ .get(this,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS,
+ result = TemplateableElementOperations
+ .parameterableElements(this));
+ }
+ return result;
+ }
+ return TemplateableElementOperations.parameterableElements(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTemplate() {
+ return TemplateableElementOperations.isTemplate(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE :
+ return basicGetOwnedTemplateSignature() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_MODEL :
+ return getModel();
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.TEMPLATEABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TEMPLATEABLE_ELEMENT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.TEMPLATEABLE_ELEMENT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.TEMPLATEABLE_ELEMENT___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.TEMPLATEABLE_ELEMENT___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_COMMENT,
+ UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING,
+ UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING)
+ || eIsSet(
+ UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE);
+ }
+
+} //TemplateableElementImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TestIdentityActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TestIdentityActionImpl.java
new file mode 100644
index 00000000..d9b5c957
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TestIdentityActionImpl.java
@@ -0,0 +1,983 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.TestIdentityActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Test Identity Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TestIdentityActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TestIdentityActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TestIdentityActionImpl#getFirst <em>First</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TestIdentityActionImpl#getResult <em>Result</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TestIdentityActionImpl#getSecond <em>Second</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TestIdentityActionImpl
+ extends ActionImpl
+ implements TestIdentityAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TestIdentityActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TEST_IDENTITY_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.TEST_IDENTITY_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.TEST_IDENTITY_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.TEST_IDENTITY_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.TEST_IDENTITY_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getFirst() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.TEST_IDENTITY_ACTION__FIRST - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEST_IDENTITY_ACTION__FIRST, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetFirst() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.TEST_IDENTITY_ACTION__FIRST - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEST_IDENTITY_ACTION__FIRST, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFirst(InputPin newFirst,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newFirst,
+ UMLPackage.TEST_IDENTITY_ACTION__FIRST, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFirst(InputPin newFirst) {
+ eDynamicSet(
+ UMLPackage.TEST_IDENTITY_ACTION__FIRST - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEST_IDENTITY_ACTION__FIRST, newFirst);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createFirst(String name, Type type, EClass eClass) {
+ InputPin newFirst = (InputPin) create(eClass);
+ setFirst(newFirst);
+ if (name != null)
+ newFirst.setName(name);
+ if (type != null)
+ newFirst.setType(type);
+ return newFirst;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createFirst(String name, Type type) {
+ return createFirst(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getSecond() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.TEST_IDENTITY_ACTION__SECOND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEST_IDENTITY_ACTION__SECOND, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetSecond() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.TEST_IDENTITY_ACTION__SECOND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEST_IDENTITY_ACTION__SECOND, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSecond(InputPin newSecond,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newSecond,
+ UMLPackage.TEST_IDENTITY_ACTION__SECOND, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSecond(InputPin newSecond) {
+ eDynamicSet(
+ UMLPackage.TEST_IDENTITY_ACTION__SECOND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEST_IDENTITY_ACTION__SECOND, newSecond);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createSecond(String name, Type type, EClass eClass) {
+ InputPin newSecond = (InputPin) create(eClass);
+ setSecond(newSecond);
+ if (name != null)
+ newSecond.setName(name);
+ if (type != null)
+ newSecond.setType(type);
+ return newSecond;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createSecond(String name, Type type) {
+ return createSecond(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.TEST_IDENTITY_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEST_IDENTITY_ACTION__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.TEST_IDENTITY_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEST_IDENTITY_ACTION__RESULT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.TEST_IDENTITY_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(
+ UMLPackage.TEST_IDENTITY_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TEST_IDENTITY_ACTION__RESULT, newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TestIdentityActionOperations.validateNoType(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TestIdentityActionOperations.validateMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResultIsBoolean(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TestIdentityActionOperations.validateResultIsBoolean(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TEST_IDENTITY_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEST_IDENTITY_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEST_IDENTITY_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.TEST_IDENTITY_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.TEST_IDENTITY_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEST_IDENTITY_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.TEST_IDENTITY_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEST_IDENTITY_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TEST_IDENTITY_ACTION__FIRST :
+ return basicSetFirst(null, msgs);
+ case UMLPackage.TEST_IDENTITY_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ case UMLPackage.TEST_IDENTITY_ACTION__SECOND :
+ return basicSetSecond(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TEST_IDENTITY_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TEST_IDENTITY_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TEST_IDENTITY_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TEST_IDENTITY_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TEST_IDENTITY_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.TEST_IDENTITY_ACTION__NAME :
+ return getName();
+ case UMLPackage.TEST_IDENTITY_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.TEST_IDENTITY_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.TEST_IDENTITY_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TEST_IDENTITY_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.TEST_IDENTITY_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.TEST_IDENTITY_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.TEST_IDENTITY_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.TEST_IDENTITY_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.TEST_IDENTITY_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.TEST_IDENTITY_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.TEST_IDENTITY_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.TEST_IDENTITY_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.TEST_IDENTITY_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.TEST_IDENTITY_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.TEST_IDENTITY_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.TEST_IDENTITY_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.TEST_IDENTITY_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.TEST_IDENTITY_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.TEST_IDENTITY_ACTION__FIRST :
+ if (resolve)
+ return getFirst();
+ return basicGetFirst();
+ case UMLPackage.TEST_IDENTITY_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ case UMLPackage.TEST_IDENTITY_ACTION__SECOND :
+ if (resolve)
+ return getSecond();
+ return basicGetSecond();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TEST_IDENTITY_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__FIRST :
+ setFirst((InputPin) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__SECOND :
+ setSecond((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TEST_IDENTITY_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__FIRST :
+ setFirst((InputPin) null);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ case UMLPackage.TEST_IDENTITY_ACTION__SECOND :
+ setSecond((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TEST_IDENTITY_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TEST_IDENTITY_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TEST_IDENTITY_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TEST_IDENTITY_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.TEST_IDENTITY_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.TEST_IDENTITY_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.TEST_IDENTITY_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.TEST_IDENTITY_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.TEST_IDENTITY_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.TEST_IDENTITY_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.TEST_IDENTITY_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.TEST_IDENTITY_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.TEST_IDENTITY_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.TEST_IDENTITY_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.TEST_IDENTITY_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.TEST_IDENTITY_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.TEST_IDENTITY_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.TEST_IDENTITY_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.TEST_IDENTITY_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.TEST_IDENTITY_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.TEST_IDENTITY_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.TEST_IDENTITY_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.TEST_IDENTITY_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.TEST_IDENTITY_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.TEST_IDENTITY_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.TEST_IDENTITY_ACTION__FIRST :
+ return basicGetFirst() != null;
+ case UMLPackage.TEST_IDENTITY_ACTION__RESULT :
+ return basicGetResult() != null;
+ case UMLPackage.TEST_IDENTITY_ACTION__SECOND :
+ return basicGetSecond() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.TEST_IDENTITY_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.TEST_IDENTITY_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.TEST_IDENTITY_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.TEST_IDENTITY_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.TEST_IDENTITY_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TEST_IDENTITY_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.TEST_IDENTITY_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.TEST_IDENTITY_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.TEST_IDENTITY_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.TEST_IDENTITY_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.TEST_IDENTITY_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_NO_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateNoType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_RESULT_IS_BOOLEAN__DIAGNOSTICCHAIN_MAP :
+ return validateResultIsBoolean(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.TEST_IDENTITY_ACTION__FIRST,
+ UMLPackage.TEST_IDENTITY_ACTION__SECOND};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.TEST_IDENTITY_ACTION__FIRST)
+ || eIsSet(UMLPackage.TEST_IDENTITY_ACTION__SECOND);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.TEST_IDENTITY_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.TEST_IDENTITY_ACTION__RESULT);
+ }
+
+} //TestIdentityActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeConstraintImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeConstraintImpl.java
new file mode 100644
index 00000000..b8bc3caf
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeConstraintImpl.java
@@ -0,0 +1,600 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey (CEA) - 327039, 212765, 418466, 451350, 485756
+ * Kenn Hussey - 519572
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.TimeConstraintOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Time Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TimeConstraintImpl#isFirstEvent <em>First Event</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TimeConstraintImpl#getSpecification <em>Specification</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TimeConstraintImpl
+ extends IntervalConstraintImpl
+ implements TimeConstraint {
+
+ /**
+ * The default value of the '{@link #isFirstEvent() <em>First Event</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isFirstEvent()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean FIRST_EVENT_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimeConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TIME_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isFirstEvent() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.TIME_CONSTRAINT__FIRST_EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_CONSTRAINT__FIRST_EVENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFirstEvent(boolean newFirstEvent) {
+ eDynamicSet(
+ UMLPackage.TIME_CONSTRAINT__FIRST_EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_CONSTRAINT__FIRST_EVENT, newFirstEvent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification getSpecification() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.TIME_CONSTRAINT__SPECIFICATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__SPECIFICATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification basicGetSpecification() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.TIME_CONSTRAINT__SPECIFICATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__SPECIFICATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain basicSetSpecification(
+ ValueSpecification newSpecification, NotificationChain msgs) {
+ if (newSpecification != null
+ && !(newSpecification instanceof TimeInterval)) {
+ throw new IllegalArgumentException(
+ "newSpecification must be an instance of TimeInterval"); //$NON-NLS-1$
+ }
+ msgs = eDynamicInverseAdd((InternalEObject) newSpecification,
+ UMLPackage.TIME_CONSTRAINT__SPECIFICATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setSpecification(ValueSpecification newSpecification) {
+ if (newSpecification != null
+ && !(newSpecification instanceof TimeInterval)) {
+ throw new IllegalArgumentException(
+ "newSpecification must be an instance of TimeInterval"); //$NON-NLS-1$
+ }
+ eDynamicSet(
+ UMLPackage.TIME_CONSTRAINT__SPECIFICATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.CONSTRAINT__SPECIFICATION, newSpecification);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification createSpecification(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newSpecification = (ValueSpecification) create(
+ eClass);
+ setSpecification(newSpecification);
+ if (name != null)
+ newSpecification.setName(name);
+ if (type != null)
+ newSpecification.setType(type);
+ return newSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetSpecification() {
+ return basicGetSpecification() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateHasOneConstrainedElement(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TimeConstraintOperations.validateHasOneConstrainedElement(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TIME_CONSTRAINT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TIME_CONSTRAINT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TIME_CONSTRAINT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.TIME_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.TIME_CONSTRAINT__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.TIME_CONSTRAINT__CONTEXT :
+ return basicSetContext(null, msgs);
+ case UMLPackage.TIME_CONSTRAINT__SPECIFICATION :
+ return basicSetSpecification(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TIME_CONSTRAINT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TIME_CONSTRAINT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TIME_CONSTRAINT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TIME_CONSTRAINT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TIME_CONSTRAINT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.TIME_CONSTRAINT__NAME :
+ return getName();
+ case UMLPackage.TIME_CONSTRAINT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.TIME_CONSTRAINT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.TIME_CONSTRAINT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TIME_CONSTRAINT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.TIME_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.TIME_CONSTRAINT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.TIME_CONSTRAINT__CONSTRAINED_ELEMENT :
+ return getConstrainedElements();
+ case UMLPackage.TIME_CONSTRAINT__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.TIME_CONSTRAINT__SPECIFICATION :
+ if (resolve)
+ return getSpecification();
+ return basicGetSpecification();
+ case UMLPackage.TIME_CONSTRAINT__FIRST_EVENT :
+ return isFirstEvent();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TIME_CONSTRAINT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__CONSTRAINED_ELEMENT :
+ getConstrainedElements().clear();
+ getConstrainedElements()
+ .addAll((Collection<? extends Element>) newValue);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__CONTEXT :
+ setContext((Namespace) newValue);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__SPECIFICATION :
+ setSpecification((ValueSpecification) newValue);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__FIRST_EVENT :
+ setFirstEvent((Boolean) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TIME_CONSTRAINT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TIME_CONSTRAINT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TIME_CONSTRAINT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.TIME_CONSTRAINT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.TIME_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__CONSTRAINED_ELEMENT :
+ getConstrainedElements().clear();
+ return;
+ case UMLPackage.TIME_CONSTRAINT__CONTEXT :
+ setContext((Namespace) null);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__SPECIFICATION :
+ setSpecification((ValueSpecification) null);
+ return;
+ case UMLPackage.TIME_CONSTRAINT__FIRST_EVENT :
+ setFirstEvent(FIRST_EVENT_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TIME_CONSTRAINT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TIME_CONSTRAINT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TIME_CONSTRAINT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TIME_CONSTRAINT__OWNER :
+ return isSetOwner();
+ case UMLPackage.TIME_CONSTRAINT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.TIME_CONSTRAINT__NAME :
+ return isSetName();
+ case UMLPackage.TIME_CONSTRAINT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.TIME_CONSTRAINT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.TIME_CONSTRAINT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.TIME_CONSTRAINT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.TIME_CONSTRAINT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.TIME_CONSTRAINT__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.TIME_CONSTRAINT__CONSTRAINED_ELEMENT :
+ return !getConstrainedElements().isEmpty();
+ case UMLPackage.TIME_CONSTRAINT__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.TIME_CONSTRAINT__SPECIFICATION :
+ return isSetSpecification();
+ case UMLPackage.TIME_CONSTRAINT__FIRST_EVENT :
+ return isFirstEvent() != FIRST_EVENT_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.TIME_CONSTRAINT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_CONSTRAINT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_CONSTRAINT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.TIME_CONSTRAINT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.TIME_CONSTRAINT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.TIME_CONSTRAINT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.TIME_CONSTRAINT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TIME_CONSTRAINT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___GET_MODEL :
+ return getModel();
+ case UMLPackage.TIME_CONSTRAINT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.TIME_CONSTRAINT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.TIME_CONSTRAINT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.TIME_CONSTRAINT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.TIME_CONSTRAINT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.TIME_CONSTRAINT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.TIME_CONSTRAINT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TIME_CONSTRAINT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TIME_CONSTRAINT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.TIME_CONSTRAINT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.TIME_CONSTRAINT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.TIME_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_CONSTRAINT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_CONSTRAINT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.TIME_CONSTRAINT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.TIME_CONSTRAINT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.TIME_CONSTRAINT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.TIME_CONSTRAINT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.TIME_CONSTRAINT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TIME_CONSTRAINT___SEPARATOR :
+ return separator();
+ case UMLPackage.TIME_CONSTRAINT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.TIME_CONSTRAINT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.TIME_CONSTRAINT___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.TIME_CONSTRAINT___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateBooleanValue((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateNoSideEffects((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotApplyToSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_CONSTRAINT___VALIDATE_HAS_ONE_CONSTRAINED_ELEMENT__DIAGNOSTICCHAIN_MAP :
+ return validateHasOneConstrainedElement(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //TimeConstraintImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeEventImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeEventImpl.java
new file mode 100644
index 00000000..f308bf62
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeEventImpl.java
@@ -0,0 +1,594 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.TimeEventOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Time Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TimeEventImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TimeEventImpl#isRelative <em>Is Relative</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TimeEventImpl#getWhen <em>When</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TimeEventImpl
+ extends EventImpl
+ implements TimeEvent {
+
+ /**
+ * The default value of the '{@link #isRelative() <em>Is Relative</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRelative()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_RELATIVE_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimeEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TIME_EVENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.TIME_EVENT__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.TIME_EVENT__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRelative() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.TIME_EVENT__IS_RELATIVE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_EVENT__IS_RELATIVE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsRelative(boolean newIsRelative) {
+ eDynamicSet(UMLPackage.TIME_EVENT__IS_RELATIVE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_EVENT__IS_RELATIVE, newIsRelative);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeExpression getWhen() {
+ return (TimeExpression) eDynamicGet(
+ UMLPackage.TIME_EVENT__WHEN - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_EVENT__WHEN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeExpression basicGetWhen() {
+ return (TimeExpression) eDynamicGet(
+ UMLPackage.TIME_EVENT__WHEN - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_EVENT__WHEN, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetWhen(TimeExpression newWhen,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newWhen,
+ UMLPackage.TIME_EVENT__WHEN, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWhen(TimeExpression newWhen) {
+ eDynamicSet(UMLPackage.TIME_EVENT__WHEN - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_EVENT__WHEN, newWhen);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeExpression createWhen(String name, Type type) {
+ TimeExpression newWhen = (TimeExpression) create(
+ UMLPackage.Literals.TIME_EXPRESSION);
+ setWhen(newWhen);
+ if (name != null)
+ newWhen.setName(name);
+ if (type != null)
+ newWhen.setType(type);
+ return newWhen;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateWhenNonNegative(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TimeEventOperations.validateWhenNonNegative(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TIME_EVENT__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TIME_EVENT__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TIME_EVENT__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.TIME_EVENT__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.TIME_EVENT__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.TIME_EVENT__WHEN :
+ return basicSetWhen(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TIME_EVENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TIME_EVENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TIME_EVENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TIME_EVENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TIME_EVENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.TIME_EVENT__NAME :
+ return getName();
+ case UMLPackage.TIME_EVENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.TIME_EVENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.TIME_EVENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TIME_EVENT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.TIME_EVENT__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.TIME_EVENT__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.TIME_EVENT__IS_RELATIVE :
+ return isRelative();
+ case UMLPackage.TIME_EVENT__WHEN :
+ if (resolve)
+ return getWhen();
+ return basicGetWhen();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TIME_EVENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TIME_EVENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TIME_EVENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.TIME_EVENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.TIME_EVENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.TIME_EVENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.TIME_EVENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.TIME_EVENT__IS_RELATIVE :
+ setIsRelative((Boolean) newValue);
+ return;
+ case UMLPackage.TIME_EVENT__WHEN :
+ setWhen((TimeExpression) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TIME_EVENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TIME_EVENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TIME_EVENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.TIME_EVENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.TIME_EVENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.TIME_EVENT__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.TIME_EVENT__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.TIME_EVENT__IS_RELATIVE :
+ setIsRelative(IS_RELATIVE_EDEFAULT);
+ return;
+ case UMLPackage.TIME_EVENT__WHEN :
+ setWhen((TimeExpression) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TIME_EVENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TIME_EVENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TIME_EVENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TIME_EVENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.TIME_EVENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.TIME_EVENT__NAME :
+ return isSetName();
+ case UMLPackage.TIME_EVENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.TIME_EVENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.TIME_EVENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.TIME_EVENT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.TIME_EVENT__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.TIME_EVENT__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.TIME_EVENT__IS_RELATIVE :
+ return isRelative() != IS_RELATIVE_EDEFAULT;
+ case UMLPackage.TIME_EVENT__WHEN :
+ return basicGetWhen() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.TIME_EVENT___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.TIME_EVENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_EVENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_EVENT___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.TIME_EVENT___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EVENT___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.TIME_EVENT___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.TIME_EVENT___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.TIME_EVENT___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.TIME_EVENT___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.TIME_EVENT___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.TIME_EVENT___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.TIME_EVENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TIME_EVENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EVENT___GET_MODEL :
+ return getModel();
+ case UMLPackage.TIME_EVENT___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.TIME_EVENT___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.TIME_EVENT___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.TIME_EVENT___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.TIME_EVENT___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.TIME_EVENT___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.TIME_EVENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TIME_EVENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EVENT___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.TIME_EVENT___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.TIME_EVENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TIME_EVENT___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TIME_EVENT___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.TIME_EVENT___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TIME_EVENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EVENT___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EVENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EVENT___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.TIME_EVENT___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.TIME_EVENT___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EVENT___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.TIME_EVENT___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.TIME_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_EVENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_EVENT___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.TIME_EVENT___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.TIME_EVENT___GET_LABEL :
+ return getLabel();
+ case UMLPackage.TIME_EVENT___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.TIME_EVENT___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.TIME_EVENT___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.TIME_EVENT___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.TIME_EVENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.TIME_EVENT___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TIME_EVENT___SEPARATOR :
+ return separator();
+ case UMLPackage.TIME_EVENT___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.TIME_EVENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.TIME_EVENT___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.TIME_EVENT___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_EVENT___VALIDATE_WHEN_NON_NEGATIVE__DIAGNOSTICCHAIN_MAP :
+ return validateWhenNonNegative(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.TIME_EVENT__OWNED_COMMENT,
+ UMLPackage.TIME_EVENT__NAME_EXPRESSION, UMLPackage.TIME_EVENT__WHEN};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.TIME_EVENT__WHEN);
+ }
+
+} //TimeEventImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeExpressionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeExpressionImpl.java
new file mode 100644
index 00000000..2208e57a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeExpressionImpl.java
@@ -0,0 +1,636 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Observation;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.TimeExpressionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Time Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TimeExpressionImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TimeExpressionImpl#getExpr <em>Expr</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TimeExpressionImpl#getObservations <em>Observation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TimeExpressionImpl
+ extends ValueSpecificationImpl
+ implements TimeExpression {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimeExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TIME_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.TIME_EXPRESSION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.TIME_EXPRESSION__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.TIME_EXPRESSION__OWNED_COMMENT,
+ UMLPackage.TIME_EXPRESSION__NAME_EXPRESSION,
+ UMLPackage.TIME_EXPRESSION__EXPR};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getExpr() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.TIME_EXPRESSION__EXPR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_EXPRESSION__EXPR, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetExpr() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.TIME_EXPRESSION__EXPR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_EXPRESSION__EXPR, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpr(ValueSpecification newExpr,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newExpr,
+ UMLPackage.TIME_EXPRESSION__EXPR, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpr(ValueSpecification newExpr) {
+ eDynamicSet(UMLPackage.TIME_EXPRESSION__EXPR - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_EXPRESSION__EXPR, newExpr);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createExpr(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newExpr = (ValueSpecification) create(eClass);
+ setExpr(newExpr);
+ if (name != null)
+ newExpr.setName(name);
+ if (type != null)
+ newExpr.setType(type);
+ return newExpr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Observation> getObservations() {
+ return (EList<Observation>) eDynamicGet(
+ UMLPackage.TIME_EXPRESSION__OBSERVATION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_EXPRESSION__OBSERVATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Observation getObservation(String name) {
+ return getObservation(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Observation getObservation(String name, boolean ignoreCase,
+ EClass eClass) {
+ observationLoop : for (Observation observation : getObservations()) {
+ if (eClass != null && !eClass.isInstance(observation))
+ continue observationLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(observation.getName())
+ : name.equals(observation.getName())))
+ continue observationLoop;
+ return observation;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoExprRequiresObservation(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return TimeExpressionOperations.validateNoExprRequiresObservation(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String stringValue() {
+ return TimeExpressionOperations.stringValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TIME_EXPRESSION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TIME_EXPRESSION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TIME_EXPRESSION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.TIME_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.TIME_EXPRESSION__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.TIME_EXPRESSION__EXPR :
+ return basicSetExpr(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TIME_EXPRESSION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TIME_EXPRESSION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TIME_EXPRESSION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TIME_EXPRESSION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TIME_EXPRESSION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.TIME_EXPRESSION__NAME :
+ return getName();
+ case UMLPackage.TIME_EXPRESSION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.TIME_EXPRESSION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.TIME_EXPRESSION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TIME_EXPRESSION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.TIME_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.TIME_EXPRESSION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.TIME_EXPRESSION__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.TIME_EXPRESSION__EXPR :
+ if (resolve)
+ return getExpr();
+ return basicGetExpr();
+ case UMLPackage.TIME_EXPRESSION__OBSERVATION :
+ return getObservations();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TIME_EXPRESSION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TIME_EXPRESSION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TIME_EXPRESSION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.TIME_EXPRESSION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.TIME_EXPRESSION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.TIME_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.TIME_EXPRESSION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.TIME_EXPRESSION__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.TIME_EXPRESSION__EXPR :
+ setExpr((ValueSpecification) newValue);
+ return;
+ case UMLPackage.TIME_EXPRESSION__OBSERVATION :
+ getObservations().clear();
+ getObservations()
+ .addAll((Collection<? extends Observation>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TIME_EXPRESSION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TIME_EXPRESSION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TIME_EXPRESSION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.TIME_EXPRESSION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.TIME_EXPRESSION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.TIME_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.TIME_EXPRESSION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.TIME_EXPRESSION__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.TIME_EXPRESSION__EXPR :
+ setExpr((ValueSpecification) null);
+ return;
+ case UMLPackage.TIME_EXPRESSION__OBSERVATION :
+ getObservations().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TIME_EXPRESSION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TIME_EXPRESSION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TIME_EXPRESSION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TIME_EXPRESSION__OWNER :
+ return isSetOwner();
+ case UMLPackage.TIME_EXPRESSION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.TIME_EXPRESSION__NAME :
+ return isSetName();
+ case UMLPackage.TIME_EXPRESSION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.TIME_EXPRESSION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.TIME_EXPRESSION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.TIME_EXPRESSION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.TIME_EXPRESSION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.TIME_EXPRESSION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.TIME_EXPRESSION__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.TIME_EXPRESSION__EXPR :
+ return basicGetExpr() != null;
+ case UMLPackage.TIME_EXPRESSION__OBSERVATION :
+ return !getObservations().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.TIME_EXPRESSION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_EXPRESSION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_EXPRESSION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.TIME_EXPRESSION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.TIME_EXPRESSION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.TIME_EXPRESSION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.TIME_EXPRESSION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TIME_EXPRESSION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___GET_MODEL :
+ return getModel();
+ case UMLPackage.TIME_EXPRESSION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.TIME_EXPRESSION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.TIME_EXPRESSION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.TIME_EXPRESSION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.TIME_EXPRESSION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.TIME_EXPRESSION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.TIME_EXPRESSION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TIME_EXPRESSION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TIME_EXPRESSION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.TIME_EXPRESSION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.TIME_EXPRESSION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.TIME_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_EXPRESSION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_EXPRESSION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_EXPRESSION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.TIME_EXPRESSION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.TIME_EXPRESSION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.TIME_EXPRESSION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.TIME_EXPRESSION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.TIME_EXPRESSION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TIME_EXPRESSION___SEPARATOR :
+ return separator();
+ case UMLPackage.TIME_EXPRESSION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.TIME_EXPRESSION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.TIME_EXPRESSION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.TIME_EXPRESSION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TIME_EXPRESSION___BOOLEAN_VALUE :
+ return booleanValue();
+ case UMLPackage.TIME_EXPRESSION___INTEGER_VALUE :
+ return integerValue();
+ case UMLPackage.TIME_EXPRESSION___IS_COMPUTABLE :
+ return isComputable();
+ case UMLPackage.TIME_EXPRESSION___IS_NULL :
+ return isNull();
+ case UMLPackage.TIME_EXPRESSION___REAL_VALUE :
+ return realValue();
+ case UMLPackage.TIME_EXPRESSION___STRING_VALUE :
+ return stringValue();
+ case UMLPackage.TIME_EXPRESSION___UNLIMITED_VALUE :
+ return unlimitedValue();
+ case UMLPackage.TIME_EXPRESSION___VALIDATE_NO_EXPR_REQUIRES_OBSERVATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoExprRequiresObservation(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.TIME_EXPRESSION__EXPR);
+ }
+
+} //TimeExpressionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeIntervalImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeIntervalImpl.java
new file mode 100644
index 00000000..3b9ed1bb
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeIntervalImpl.java
@@ -0,0 +1,352 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 212765, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Time Interval</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TimeIntervalImpl#getMax <em>Max</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TimeIntervalImpl#getMin <em>Min</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TimeIntervalImpl
+ extends IntervalImpl
+ implements TimeInterval {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimeIntervalImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TIME_INTERVAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification getMax() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.TIME_INTERVAL__MAX - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MAX, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification basicGetMax() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.TIME_INTERVAL__MAX - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MAX, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setMax(ValueSpecification newMax) {
+ if (newMax != null && !(newMax instanceof TimeExpression)) {
+ throw new IllegalArgumentException(
+ "newMax must be an instance of TimeExpression"); //$NON-NLS-1$
+ }
+ eDynamicSet(UMLPackage.TIME_INTERVAL__MAX - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MAX, newMax);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetMax() {
+ return basicGetMax() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification getMin() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.TIME_INTERVAL__MIN - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MIN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification basicGetMin() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.TIME_INTERVAL__MIN - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MIN, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setMin(ValueSpecification newMin) {
+ if (newMin != null && !(newMin instanceof TimeExpression)) {
+ throw new IllegalArgumentException(
+ "newMin must be an instance of TimeExpression"); //$NON-NLS-1$
+ }
+ eDynamicSet(UMLPackage.TIME_INTERVAL__MIN - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.INTERVAL__MIN, newMin);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetMin() {
+ return basicGetMin() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TIME_INTERVAL__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TIME_INTERVAL__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TIME_INTERVAL__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TIME_INTERVAL__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TIME_INTERVAL__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.TIME_INTERVAL__NAME :
+ return getName();
+ case UMLPackage.TIME_INTERVAL__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.TIME_INTERVAL__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.TIME_INTERVAL__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TIME_INTERVAL__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.TIME_INTERVAL__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.TIME_INTERVAL__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.TIME_INTERVAL__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.TIME_INTERVAL__MAX :
+ if (resolve)
+ return getMax();
+ return basicGetMax();
+ case UMLPackage.TIME_INTERVAL__MIN :
+ if (resolve)
+ return getMin();
+ return basicGetMin();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TIME_INTERVAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TIME_INTERVAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TIME_INTERVAL__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.TIME_INTERVAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.TIME_INTERVAL__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.TIME_INTERVAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.TIME_INTERVAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.TIME_INTERVAL__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.TIME_INTERVAL__MAX :
+ setMax((ValueSpecification) newValue);
+ return;
+ case UMLPackage.TIME_INTERVAL__MIN :
+ setMin((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TIME_INTERVAL__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TIME_INTERVAL__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TIME_INTERVAL__NAME :
+ unsetName();
+ return;
+ case UMLPackage.TIME_INTERVAL__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.TIME_INTERVAL__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.TIME_INTERVAL__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.TIME_INTERVAL__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.TIME_INTERVAL__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.TIME_INTERVAL__MAX :
+ setMax((ValueSpecification) null);
+ return;
+ case UMLPackage.TIME_INTERVAL__MIN :
+ setMin((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TIME_INTERVAL__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TIME_INTERVAL__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TIME_INTERVAL__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TIME_INTERVAL__OWNER :
+ return isSetOwner();
+ case UMLPackage.TIME_INTERVAL__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.TIME_INTERVAL__NAME :
+ return isSetName();
+ case UMLPackage.TIME_INTERVAL__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.TIME_INTERVAL__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.TIME_INTERVAL__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.TIME_INTERVAL__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.TIME_INTERVAL__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.TIME_INTERVAL__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.TIME_INTERVAL__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.TIME_INTERVAL__MAX :
+ return isSetMax();
+ case UMLPackage.TIME_INTERVAL__MIN :
+ return isSetMin();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //TimeIntervalImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeObservationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeObservationImpl.java
new file mode 100644
index 00000000..0a08e17b
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TimeObservationImpl.java
@@ -0,0 +1,307 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ * Kenn Hussey - 519572
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Time Observation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TimeObservationImpl#getEvent <em>Event</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TimeObservationImpl#isFirstEvent <em>First Event</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TimeObservationImpl
+ extends ObservationImpl
+ implements TimeObservation {
+
+ /**
+ * The default value of the '{@link #isFirstEvent() <em>First Event</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isFirstEvent()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean FIRST_EVENT_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimeObservationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TIME_OBSERVATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getEvent() {
+ return (NamedElement) eDynamicGet(
+ UMLPackage.TIME_OBSERVATION__EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_OBSERVATION__EVENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetEvent() {
+ return (NamedElement) eDynamicGet(
+ UMLPackage.TIME_OBSERVATION__EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_OBSERVATION__EVENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEvent(NamedElement newEvent) {
+ eDynamicSet(UMLPackage.TIME_OBSERVATION__EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_OBSERVATION__EVENT, newEvent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isFirstEvent() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.TIME_OBSERVATION__FIRST_EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_OBSERVATION__FIRST_EVENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFirstEvent(boolean newFirstEvent) {
+ eDynamicSet(
+ UMLPackage.TIME_OBSERVATION__FIRST_EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TIME_OBSERVATION__FIRST_EVENT, newFirstEvent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TIME_OBSERVATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TIME_OBSERVATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TIME_OBSERVATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TIME_OBSERVATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TIME_OBSERVATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.TIME_OBSERVATION__NAME :
+ return getName();
+ case UMLPackage.TIME_OBSERVATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.TIME_OBSERVATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.TIME_OBSERVATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TIME_OBSERVATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.TIME_OBSERVATION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.TIME_OBSERVATION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.TIME_OBSERVATION__EVENT :
+ if (resolve)
+ return getEvent();
+ return basicGetEvent();
+ case UMLPackage.TIME_OBSERVATION__FIRST_EVENT :
+ return isFirstEvent();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TIME_OBSERVATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TIME_OBSERVATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TIME_OBSERVATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.TIME_OBSERVATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.TIME_OBSERVATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.TIME_OBSERVATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.TIME_OBSERVATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.TIME_OBSERVATION__EVENT :
+ setEvent((NamedElement) newValue);
+ return;
+ case UMLPackage.TIME_OBSERVATION__FIRST_EVENT :
+ setFirstEvent((Boolean) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TIME_OBSERVATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TIME_OBSERVATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TIME_OBSERVATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.TIME_OBSERVATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.TIME_OBSERVATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.TIME_OBSERVATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.TIME_OBSERVATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.TIME_OBSERVATION__EVENT :
+ setEvent((NamedElement) null);
+ return;
+ case UMLPackage.TIME_OBSERVATION__FIRST_EVENT :
+ setFirstEvent(FIRST_EVENT_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TIME_OBSERVATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TIME_OBSERVATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TIME_OBSERVATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TIME_OBSERVATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.TIME_OBSERVATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.TIME_OBSERVATION__NAME :
+ return isSetName();
+ case UMLPackage.TIME_OBSERVATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.TIME_OBSERVATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.TIME_OBSERVATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.TIME_OBSERVATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.TIME_OBSERVATION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.TIME_OBSERVATION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.TIME_OBSERVATION__EVENT :
+ return basicGetEvent() != null;
+ case UMLPackage.TIME_OBSERVATION__FIRST_EVENT :
+ return isFirstEvent() != FIRST_EVENT_EDEFAULT;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //TimeObservationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TransitionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TransitionImpl.java
new file mode 100644
index 00000000..6f097273
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TransitionImpl.java
@@ -0,0 +1,1629 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.EcoreEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.cdo.internal.util.SubsetSupersetEObjectContainmentWithInverseEList;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.TransitionKind;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Vertex;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.RedefinableElementOperations;
+import org.eclipse.uml2.uml.internal.operations.TransitionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Transition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#getRedefinedElements <em>Redefined Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#getRedefinitionContexts <em>Redefinition Context</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#isLeaf <em>Is Leaf</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#getOwnedRules <em>Owned Rule</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#getEffect <em>Effect</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#getGuard <em>Guard</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#getRedefinedTransition <em>Redefined Transition</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#getTriggers <em>Trigger</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TransitionImpl#getContainer <em>Container</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TransitionImpl
+ extends NamespaceImpl
+ implements Transition {
+
+ /**
+ * The default value of the '{@link #isLeaf() <em>Is Leaf</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isLeaf()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_LEAF_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final TransitionKind KIND_EDEFAULT = TransitionKind.EXTERNAL_LITERAL;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TransitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TRANSITION;
+ }
+
+ @Override
+ protected EList<?> createList(EStructuralFeature eStructuralFeature) {
+ EList<?> result = createSpecialList(eStructuralFeature);
+ if (result != null) {
+ return result;
+ }
+
+ return super.createList(eStructuralFeature);
+ }
+
+ private EList<?> createSpecialList(EStructuralFeature eStructuralFeature) {
+ if (eStructuralFeature == UMLPackage.Literals.NAMESPACE__OWNED_RULE) {
+ return createOwnedRulesList();
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RedefinableElement> getRedefinedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<RedefinableElement> redefinedElements = (EList<RedefinableElement>) cache
+ .get(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT);
+ if (redefinedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT,
+ redefinedElements = new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.TRANSITION__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS));
+ }
+ return redefinedElements;
+ }
+ return new DerivedUnionEObjectEList<RedefinableElement>(
+ RedefinableElement.class, this,
+ UMLPackage.TRANSITION__REDEFINED_ELEMENT,
+ REDEFINED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.TRANSITION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.TRANSITION__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Constraint> getOwnedRules() {
+ return (EList<Constraint>) eDynamicGet(
+ UMLPackage.TRANSITION__OWNED_RULE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.NAMESPACE__OWNED_RULE, true, true);
+ }
+
+ private EList<Constraint> createOwnedRulesList() {
+ return new SubsetSupersetEObjectContainmentWithInverseEList.Resolving<Constraint>(
+ Constraint.class, this, UMLPackage.TRANSITION__OWNED_RULE, null,
+ OWNED_RULE_ESUBSETS, UMLPackage.CONSTRAINT__CONTEXT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList<Classifier> getRedefinitionContexts() {
+ CacheAdapter cache = getCacheAdapter();
+
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Classifier> result = (EList<Classifier>) cache.get(this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+
+ if (result == null) {
+ Classifier redefinitionContext = redefinitionContext();
+ List<Classifier> redefinitionContexts = redefinitionContext == null
+ ? Collections.<Classifier> emptyList()
+ : Collections
+ .<Classifier> singletonList(redefinitionContext);
+ cache.put(this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ result = new EcoreEList.UnmodifiableEList<Classifier>(this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts.size(),
+ redefinitionContexts.toArray()));
+ }
+
+ return result;
+ }
+
+ Classifier redefinitionContext = redefinitionContext();
+ List<Classifier> redefinitionContexts = redefinitionContext == null
+ ? Collections.<Classifier> emptyList()
+ : Collections.singletonList(redefinitionContext);
+ return new EcoreEList.UnmodifiableEList<Classifier>(this,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT,
+ redefinitionContexts.size(), redefinitionContexts.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinitionContext(String name) {
+ return getRedefinitionContext(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getRedefinitionContext(String name, boolean ignoreCase,
+ EClass eClass) {
+ redefinitionContextLoop : for (Classifier redefinitionContext : getRedefinitionContexts()) {
+ if (eClass != null && !eClass.isInstance(redefinitionContext))
+ continue redefinitionContextLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinitionContext.getName())
+ : name.equals(redefinitionContext.getName())))
+ continue redefinitionContextLoop;
+ return redefinitionContext;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRedefinitionContexts() {
+ return !getRedefinitionContexts().isEmpty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isLeaf() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.TRANSITION__IS_LEAF - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__IS_LEAF, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsLeaf(boolean newIsLeaf) {
+ eDynamicSet(UMLPackage.TRANSITION__IS_LEAF - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.REDEFINABLE_ELEMENT__IS_LEAF, newIsLeaf);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TransitionKind getKind() {
+ return (TransitionKind) eDynamicGet(
+ UMLPackage.TRANSITION__KIND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__KIND, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKind(TransitionKind newKind) {
+ eDynamicSet(UMLPackage.TRANSITION__KIND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__KIND, newKind);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region getContainer() {
+ return (Region) eDynamicGet(
+ UMLPackage.TRANSITION__CONTAINER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__CONTAINER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region basicGetContainer() {
+ return (Region) eDynamicGet(
+ UMLPackage.TRANSITION__CONTAINER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__CONTAINER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetContainer(Region newContainer,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newContainer,
+ UMLPackage.TRANSITION__CONTAINER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setContainer(Region newContainer) {
+ eDynamicSet(UMLPackage.TRANSITION__CONTAINER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__CONTAINER, newContainer);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Vertex getTarget() {
+ return (Vertex) eDynamicGet(
+ UMLPackage.TRANSITION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__TARGET, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Vertex basicGetTarget() {
+ return (Vertex) eDynamicGet(
+ UMLPackage.TRANSITION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__TARGET, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTarget(Vertex newTarget) {
+ eDynamicSet(UMLPackage.TRANSITION__TARGET - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__TARGET, newTarget);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition getRedefinedTransition() {
+ return (Transition) eDynamicGet(
+ UMLPackage.TRANSITION__REDEFINED_TRANSITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__REDEFINED_TRANSITION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition basicGetRedefinedTransition() {
+ return (Transition) eDynamicGet(
+ UMLPackage.TRANSITION__REDEFINED_TRANSITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__REDEFINED_TRANSITION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRedefinedTransition(Transition newRedefinedTransition) {
+ eDynamicSet(
+ UMLPackage.TRANSITION__REDEFINED_TRANSITION - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__REDEFINED_TRANSITION,
+ newRedefinedTransition);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getGuard() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.TRANSITION__GUARD - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__GUARD, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint basicGetGuard() {
+ return (Constraint) eDynamicGet(
+ UMLPackage.TRANSITION__GUARD - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__GUARD, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGuard(Constraint newGuard) {
+ eDynamicSet(UMLPackage.TRANSITION__GUARD - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__GUARD, newGuard);
+ Resource.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ if (newGuard != null) {
+ EList<Constraint> ownedRules = getOwnedRules();
+ if (!ownedRules.contains(newGuard)) {
+ ownedRules.add(newGuard);
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createGuard(String name, EClass eClass) {
+ Constraint newGuard = (Constraint) create(eClass);
+ setGuard(newGuard);
+ if (name != null)
+ newGuard.setName(name);
+ return newGuard;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createGuard(String name) {
+ return createGuard(name, UMLPackage.Literals.CONSTRAINT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getEffect() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.TRANSITION__EFFECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__EFFECT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetEffect() {
+ return (Behavior) eDynamicGet(
+ UMLPackage.TRANSITION__EFFECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__EFFECT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEffect(Behavior newEffect,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newEffect,
+ UMLPackage.TRANSITION__EFFECT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEffect(Behavior newEffect) {
+ eDynamicSet(UMLPackage.TRANSITION__EFFECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__EFFECT, newEffect);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior createEffect(String name, EClass eClass) {
+ Behavior newEffect = (Behavior) create(eClass);
+ setEffect(newEffect);
+ if (name != null)
+ newEffect.setName(name);
+ return newEffect;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Trigger> getTriggers() {
+ return (EList<Trigger>) eDynamicGet(
+ UMLPackage.TRANSITION__TRIGGER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__TRIGGER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Trigger createTrigger(String name) {
+ Trigger newTrigger = (Trigger) create(UMLPackage.Literals.TRIGGER);
+ getTriggers().add(newTrigger);
+ if (name != null)
+ newTrigger.setName(name);
+ return newTrigger;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Trigger getTrigger(String name) {
+ return getTrigger(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Trigger getTrigger(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ triggerLoop : for (Trigger trigger : getTriggers()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(trigger.getName())
+ : name.equals(trigger.getName())))
+ continue triggerLoop;
+ return trigger;
+ }
+ return createOnDemand
+ ? createTrigger(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Vertex getSource() {
+ return (Vertex) eDynamicGet(
+ UMLPackage.TRANSITION__SOURCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__SOURCE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Vertex basicGetSource() {
+ return (Vertex) eDynamicGet(
+ UMLPackage.TRANSITION__SOURCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__SOURCE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSource(Vertex newSource) {
+ eDynamicSet(UMLPackage.TRANSITION__SOURCE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRANSITION__SOURCE, newSource);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinitionContextValid(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations
+ .validateRedefinitionContextValid(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRedefinitionConsistent(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations.validateRedefinitionConsistent(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNonLeafRedefinition(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return RedefinableElementOperations.validateNonLeafRedefinition(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateForkSegmentGuards(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TransitionOperations.validateForkSegmentGuards(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateJoinSegmentGuards(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TransitionOperations.validateJoinSegmentGuards(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateStateIsInternal(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TransitionOperations.validateStateIsInternal(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateForkSegmentState(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TransitionOperations.validateForkSegmentState(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateJoinSegmentState(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TransitionOperations.validateJoinSegmentState(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOutgoingPseudostates(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TransitionOperations.validateOutgoingPseudostates(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInitialTransition(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TransitionOperations.validateInitialTransition(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateStateIsLocal(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TransitionOperations.validateStateIsLocal(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier redefinitionContext() {
+ return TransitionOperations.redefinitionContext(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachine containingStateMachine() {
+ return TransitionOperations.containingStateMachine(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isConsistentWith(RedefinableElement redefiningElement) {
+ return TransitionOperations.isConsistentWith(this, redefiningElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRedefinitionContextValid(
+ RedefinableElement redefinedElement) {
+ return RedefinableElementOperations.isRedefinitionContextValid(this,
+ redefinedElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateStateIsExternal(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TransitionOperations.validateStateIsExternal(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TRANSITION__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.TRANSITION__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.TRANSITION__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.TRANSITION__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.TRANSITION__CONTAINER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetContainer((Region) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.TRANSITION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TRANSITION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TRANSITION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.TRANSITION__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TRANSITION__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TRANSITION__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.TRANSITION__EFFECT :
+ return basicSetEffect(null, msgs);
+ case UMLPackage.TRANSITION__TRIGGER :
+ return ((InternalEList<?>) getTriggers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.TRANSITION__CONTAINER :
+ return basicSetContainer(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.TRANSITION__CONTAINER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.REGION__TRANSITION, Region.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TRANSITION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TRANSITION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TRANSITION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TRANSITION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TRANSITION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.TRANSITION__NAME :
+ return getName();
+ case UMLPackage.TRANSITION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.TRANSITION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.TRANSITION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TRANSITION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.TRANSITION__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.TRANSITION__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.TRANSITION__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.TRANSITION__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.TRANSITION__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.TRANSITION__MEMBER :
+ return getMembers();
+ case UMLPackage.TRANSITION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.TRANSITION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.TRANSITION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.TRANSITION__EFFECT :
+ if (resolve)
+ return getEffect();
+ return basicGetEffect();
+ case UMLPackage.TRANSITION__GUARD :
+ if (resolve)
+ return getGuard();
+ return basicGetGuard();
+ case UMLPackage.TRANSITION__KIND :
+ return getKind();
+ case UMLPackage.TRANSITION__REDEFINED_TRANSITION :
+ if (resolve)
+ return getRedefinedTransition();
+ return basicGetRedefinedTransition();
+ case UMLPackage.TRANSITION__SOURCE :
+ if (resolve)
+ return getSource();
+ return basicGetSource();
+ case UMLPackage.TRANSITION__TARGET :
+ if (resolve)
+ return getTarget();
+ return basicGetTarget();
+ case UMLPackage.TRANSITION__TRIGGER :
+ return getTriggers();
+ case UMLPackage.TRANSITION__CONTAINER :
+ if (resolve)
+ return getContainer();
+ return basicGetContainer();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TRANSITION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TRANSITION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TRANSITION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.TRANSITION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.TRANSITION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.TRANSITION__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.TRANSITION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.TRANSITION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.TRANSITION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.TRANSITION__EFFECT :
+ setEffect((Behavior) newValue);
+ return;
+ case UMLPackage.TRANSITION__GUARD :
+ setGuard((Constraint) newValue);
+ return;
+ case UMLPackage.TRANSITION__KIND :
+ setKind((TransitionKind) newValue);
+ return;
+ case UMLPackage.TRANSITION__REDEFINED_TRANSITION :
+ setRedefinedTransition((Transition) newValue);
+ return;
+ case UMLPackage.TRANSITION__SOURCE :
+ setSource((Vertex) newValue);
+ return;
+ case UMLPackage.TRANSITION__TARGET :
+ setTarget((Vertex) newValue);
+ return;
+ case UMLPackage.TRANSITION__TRIGGER :
+ getTriggers().clear();
+ getTriggers().addAll((Collection<? extends Trigger>) newValue);
+ return;
+ case UMLPackage.TRANSITION__CONTAINER :
+ setContainer((Region) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TRANSITION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TRANSITION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TRANSITION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.TRANSITION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.TRANSITION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.TRANSITION__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.TRANSITION__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.TRANSITION__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.TRANSITION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.TRANSITION__EFFECT :
+ setEffect((Behavior) null);
+ return;
+ case UMLPackage.TRANSITION__GUARD :
+ setGuard((Constraint) null);
+ return;
+ case UMLPackage.TRANSITION__KIND :
+ setKind(KIND_EDEFAULT);
+ return;
+ case UMLPackage.TRANSITION__REDEFINED_TRANSITION :
+ setRedefinedTransition((Transition) null);
+ return;
+ case UMLPackage.TRANSITION__SOURCE :
+ setSource((Vertex) null);
+ return;
+ case UMLPackage.TRANSITION__TARGET :
+ setTarget((Vertex) null);
+ return;
+ case UMLPackage.TRANSITION__TRIGGER :
+ getTriggers().clear();
+ return;
+ case UMLPackage.TRANSITION__CONTAINER :
+ setContainer((Region) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TRANSITION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TRANSITION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TRANSITION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TRANSITION__OWNER :
+ return isSetOwner();
+ case UMLPackage.TRANSITION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.TRANSITION__NAME :
+ return isSetName();
+ case UMLPackage.TRANSITION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.TRANSITION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.TRANSITION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.TRANSITION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.TRANSITION__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.TRANSITION__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.TRANSITION__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.TRANSITION__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.TRANSITION__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.TRANSITION__MEMBER :
+ return isSetMembers();
+ case UMLPackage.TRANSITION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.TRANSITION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.TRANSITION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.TRANSITION__EFFECT :
+ return basicGetEffect() != null;
+ case UMLPackage.TRANSITION__GUARD :
+ return basicGetGuard() != null;
+ case UMLPackage.TRANSITION__KIND :
+ return getKind() != KIND_EDEFAULT;
+ case UMLPackage.TRANSITION__REDEFINED_TRANSITION :
+ return basicGetRedefinedTransition() != null;
+ case UMLPackage.TRANSITION__SOURCE :
+ return basicGetSource() != null;
+ case UMLPackage.TRANSITION__TARGET :
+ return basicGetTarget() != null;
+ case UMLPackage.TRANSITION__TRIGGER :
+ return !getTriggers().isEmpty();
+ case UMLPackage.TRANSITION__CONTAINER :
+ return basicGetContainer() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.TRANSITION__IS_LEAF :
+ return UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF;
+ case UMLPackage.TRANSITION__REDEFINED_ELEMENT :
+ return UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT;
+ case UMLPackage.TRANSITION__REDEFINITION_CONTEXT :
+ return UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF :
+ return UMLPackage.TRANSITION__IS_LEAF;
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT :
+ return UMLPackage.TRANSITION__REDEFINED_ELEMENT;
+ case UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT :
+ return UMLPackage.TRANSITION__REDEFINITION_CONTEXT;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == RedefinableElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.TRANSITION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.TRANSITION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.TRANSITION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return UMLPackage.TRANSITION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT;
+ case UMLPackage.REDEFINABLE_ELEMENT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return UMLPackage.TRANSITION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.TRANSITION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.TRANSITION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.TRANSITION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TRANSITION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.TRANSITION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.TRANSITION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.TRANSITION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.TRANSITION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.TRANSITION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.TRANSITION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.TRANSITION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TRANSITION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.TRANSITION___GET_MODEL :
+ return getModel();
+ case UMLPackage.TRANSITION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.TRANSITION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.TRANSITION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.TRANSITION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.TRANSITION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.TRANSITION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.TRANSITION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TRANSITION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.TRANSITION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.TRANSITION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.TRANSITION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TRANSITION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TRANSITION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.TRANSITION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TRANSITION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.TRANSITION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.TRANSITION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.TRANSITION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.TRANSITION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.TRANSITION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TRANSITION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.TRANSITION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.TRANSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.TRANSITION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.TRANSITION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.TRANSITION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.TRANSITION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.TRANSITION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.TRANSITION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.TRANSITION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.TRANSITION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TRANSITION___SEPARATOR :
+ return separator();
+ case UMLPackage.TRANSITION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.TRANSITION___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.TRANSITION___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.TRANSITION___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.TRANSITION___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.TRANSITION___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.TRANSITION___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.TRANSITION___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.TRANSITION___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.TRANSITION___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.TRANSITION___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.TRANSITION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.TRANSITION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.TRANSITION___VALIDATE_STATE_IS_EXTERNAL__DIAGNOSTICCHAIN_MAP :
+ return validateStateIsExternal(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_JOIN_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP :
+ return validateJoinSegmentGuards(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_STATE_IS_INTERNAL__DIAGNOSTICCHAIN_MAP :
+ return validateStateIsInternal(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_OUTGOING_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP :
+ return validateOutgoingPseudostates(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_JOIN_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP :
+ return validateJoinSegmentState(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_FORK_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP :
+ return validateForkSegmentState(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_STATE_IS_LOCAL__DIAGNOSTICCHAIN_MAP :
+ return validateStateIsLocal((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_INITIAL_TRANSITION__DIAGNOSTICCHAIN_MAP :
+ return validateInitialTransition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___VALIDATE_FORK_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP :
+ return validateForkSegmentGuards(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRANSITION___CONTAINING_STATE_MACHINE :
+ return containingStateMachine();
+ case UMLPackage.TRANSITION___REDEFINITION_CONTEXT :
+ return redefinitionContext();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getRedefinedElements() <em>Redefined Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRedefinedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] REDEFINED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.TRANSITION__REDEFINED_TRANSITION};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableElement getRedefinedElement(String name) {
+ return getRedefinedElement(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableElement getRedefinedElement(String name,
+ boolean ignoreCase, EClass eClass) {
+ redefinedElementLoop : for (RedefinableElement redefinedElement : getRedefinedElements()) {
+ if (eClass != null && !eClass.isInstance(redefinedElement))
+ continue redefinedElementLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(redefinedElement.getName())
+ : name.equals(redefinedElement.getName())))
+ continue redefinedElementLoop;
+ return redefinedElement;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ Region container = basicGetContainer();
+ if (container != null) {
+ return container;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace()
+ || eIsSet(UMLPackage.TRANSITION__CONTAINER);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.TRANSITION__OWNED_COMMENT,
+ UMLPackage.TRANSITION__NAME_EXPRESSION,
+ UMLPackage.TRANSITION__ELEMENT_IMPORT,
+ UMLPackage.TRANSITION__PACKAGE_IMPORT,
+ UMLPackage.TRANSITION__OWNED_MEMBER, UMLPackage.TRANSITION__EFFECT,
+ UMLPackage.TRANSITION__TRIGGER};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedRules() <em>Owned Rule</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedRules()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_RULE_ESUBSETS = new int[]{
+ UMLPackage.TRANSITION__GUARD};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetRedefinedElements() {
+ return eIsSet(UMLPackage.TRANSITION__REDEFINED_TRANSITION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.TRANSITION__EFFECT)
+ || eIsSet(UMLPackage.TRANSITION__TRIGGER);
+ }
+
+} //TransitionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TriggerImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TriggerImpl.java
new file mode 100644
index 00000000..757d2b96
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TriggerImpl.java
@@ -0,0 +1,446 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Event;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.internal.operations.TriggerOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Trigger</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TriggerImpl#getEvent <em>Event</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TriggerImpl#getPorts <em>Port</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TriggerImpl
+ extends NamedElementImpl
+ implements Trigger {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TriggerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TRIGGER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Event getEvent() {
+ return (Event) eDynamicGet(
+ UMLPackage.TRIGGER__EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRIGGER__EVENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Event basicGetEvent() {
+ return (Event) eDynamicGet(
+ UMLPackage.TRIGGER__EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRIGGER__EVENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEvent(Event newEvent) {
+ eDynamicSet(UMLPackage.TRIGGER__EVENT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRIGGER__EVENT, newEvent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Port> getPorts() {
+ return (EList<Port>) eDynamicGet(
+ UMLPackage.TRIGGER__PORT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TRIGGER__PORT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port getPort(String name, Type type) {
+ return getPort(name, type, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port getPort(String name, Type type, boolean ignoreCase) {
+ portLoop : for (Port port : getPorts()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(port.getName())
+ : name.equals(port.getName())))
+ continue portLoop;
+ if (type != null && !type.equals(port.getType()))
+ continue portLoop;
+ return port;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTriggerWithPorts(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return TriggerOperations.validateTriggerWithPorts(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TRIGGER__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TRIGGER__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TRIGGER__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TRIGGER__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TRIGGER__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.TRIGGER__NAME :
+ return getName();
+ case UMLPackage.TRIGGER__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.TRIGGER__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.TRIGGER__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TRIGGER__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.TRIGGER__EVENT :
+ if (resolve)
+ return getEvent();
+ return basicGetEvent();
+ case UMLPackage.TRIGGER__PORT :
+ return getPorts();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TRIGGER__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TRIGGER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TRIGGER__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.TRIGGER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.TRIGGER__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.TRIGGER__EVENT :
+ setEvent((Event) newValue);
+ return;
+ case UMLPackage.TRIGGER__PORT :
+ getPorts().clear();
+ getPorts().addAll((Collection<? extends Port>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TRIGGER__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TRIGGER__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TRIGGER__NAME :
+ unsetName();
+ return;
+ case UMLPackage.TRIGGER__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.TRIGGER__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.TRIGGER__EVENT :
+ setEvent((Event) null);
+ return;
+ case UMLPackage.TRIGGER__PORT :
+ getPorts().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TRIGGER__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TRIGGER__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TRIGGER__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TRIGGER__OWNER :
+ return isSetOwner();
+ case UMLPackage.TRIGGER__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.TRIGGER__NAME :
+ return isSetName();
+ case UMLPackage.TRIGGER__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.TRIGGER__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.TRIGGER__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.TRIGGER__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.TRIGGER__EVENT :
+ return basicGetEvent() != null;
+ case UMLPackage.TRIGGER__PORT :
+ return !getPorts().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.TRIGGER___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.TRIGGER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRIGGER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRIGGER___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.TRIGGER___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TRIGGER___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.TRIGGER___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.TRIGGER___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.TRIGGER___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.TRIGGER___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.TRIGGER___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.TRIGGER___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.TRIGGER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TRIGGER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.TRIGGER___GET_MODEL :
+ return getModel();
+ case UMLPackage.TRIGGER___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.TRIGGER___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.TRIGGER___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.TRIGGER___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.TRIGGER___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.TRIGGER___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.TRIGGER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TRIGGER___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.TRIGGER___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.TRIGGER___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.TRIGGER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TRIGGER___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TRIGGER___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.TRIGGER___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TRIGGER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.TRIGGER___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.TRIGGER___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.TRIGGER___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.TRIGGER___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.TRIGGER___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TRIGGER___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.TRIGGER___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.TRIGGER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRIGGER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRIGGER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TRIGGER___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.TRIGGER___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.TRIGGER___GET_LABEL :
+ return getLabel();
+ case UMLPackage.TRIGGER___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.TRIGGER___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.TRIGGER___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.TRIGGER___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.TRIGGER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.TRIGGER___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TRIGGER___SEPARATOR :
+ return separator();
+ case UMLPackage.TRIGGER___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.TRIGGER___VALIDATE_TRIGGER_WITH_PORTS__DIAGNOSTICCHAIN_MAP :
+ return validateTriggerWithPorts(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //TriggerImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TypeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TypeImpl.java
new file mode 100644
index 00000000..1f7a13c3
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TypeImpl.java
@@ -0,0 +1,539 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.uml2.common.util.CacheAdapter;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.TypeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TypeImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TypeImpl#getPackage <em>Package</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class TypeImpl
+ extends PackageableElementImpl
+ implements Type {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ org.eclipse.uml2.uml.Package package_ = basicGetPackage();
+ if (package_ != null) {
+ return package_;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getPackage() {
+ org.eclipse.uml2.uml.Package package_ = basicGetPackage();
+ return package_ != null && package_.eIsProxy()
+ ? (org.eclipse.uml2.uml.Package) eResolveProxy(
+ (InternalEObject) package_)
+ : package_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public org.eclipse.uml2.uml.Package basicGetPackage() {
+ InternalEObject eInternalContainer = eInternalContainer();
+ return eInternalContainer instanceof org.eclipse.uml2.uml.Package
+ ? (org.eclipse.uml2.uml.Package) eInternalContainer
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void setPackage(org.eclipse.uml2.uml.Package newPackage) {
+ if (newPackage != eInternalContainer()) {
+ if (EcoreUtil.isAncestor(this, newPackage))
+ throw new IllegalArgumentException(
+ "Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newPackage != null)
+ msgs = ((InternalEList<Type>) newPackage.getOwnedTypes())
+ .basicAdd(this, msgs);
+ msgs = eBasicSetContainer((InternalEObject) newPackage,
+ InternalEObject.EOPPOSITE_FEATURE_BASE
+ - UMLPackage.PACKAGE__PACKAGED_ELEMENT,
+ msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ UMLPackage.TYPE__PACKAGE, newPackage, newPackage));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Association createAssociation(boolean end1IsNavigable,
+ AggregationKind end1Aggregation, String end1Name, int end1Lower,
+ int end1Upper, Type end1Type, boolean end2IsNavigable,
+ AggregationKind end2Aggregation, String end2Name, int end2Lower,
+ int end2Upper) {
+ return TypeOperations.createAssociation(this, end1IsNavigable,
+ end1Aggregation, end1Name, end1Lower, end1Upper, end1Type,
+ end2IsNavigable, end2Aggregation, end2Name, end2Lower, end2Upper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Association> getAssociations() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<Association> result = (EList<Association>) cache.get(this,
+ UMLPackage.Literals.TYPE___GET_ASSOCIATIONS);
+ if (result == null) {
+ cache.put(this, UMLPackage.Literals.TYPE___GET_ASSOCIATIONS,
+ result = TypeOperations.getAssociations(this));
+ }
+ return result;
+ }
+ return TypeOperations.getAssociations(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean conformsTo(Type other) {
+ return TypeOperations.conformsTo(this, other);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TYPE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TYPE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TYPE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TYPE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TYPE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.TYPE__NAME :
+ return getName();
+ case UMLPackage.TYPE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.TYPE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.TYPE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TYPE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.TYPE__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.TYPE__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.TYPE__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TYPE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TYPE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TYPE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.TYPE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.TYPE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.TYPE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.TYPE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.TYPE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TYPE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TYPE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TYPE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.TYPE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.TYPE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.TYPE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.TYPE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.TYPE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TYPE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TYPE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TYPE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TYPE__OWNER :
+ return isSetOwner();
+ case UMLPackage.TYPE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.TYPE__NAME :
+ return isSetName();
+ case UMLPackage.TYPE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.TYPE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.TYPE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.TYPE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.TYPE__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.TYPE__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.TYPE__PACKAGE :
+ return basicGetPackage() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.TYPE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.TYPE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TYPE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TYPE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.TYPE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TYPE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.TYPE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.TYPE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.TYPE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.TYPE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.TYPE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.TYPE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.TYPE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TYPE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.TYPE___GET_MODEL :
+ return getModel();
+ case UMLPackage.TYPE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.TYPE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.TYPE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.TYPE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.TYPE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.TYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.TYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TYPE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.TYPE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.TYPE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.TYPE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.TYPE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TYPE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.TYPE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.TYPE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.TYPE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.TYPE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.TYPE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.TYPE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.TYPE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.TYPE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.TYPE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TYPE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TYPE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TYPE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.TYPE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.TYPE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.TYPE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.TYPE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.TYPE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.TYPE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.TYPE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.TYPE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TYPE___SEPARATOR :
+ return separator();
+ case UMLPackage.TYPE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.TYPE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.TYPE___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.TYPE___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.TYPE___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.TYPE___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.TYPE___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace() || eIsSet(UMLPackage.TYPE__PACKAGE);
+ }
+
+} //TypeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TypedElementImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TypedElementImpl.java
new file mode 100644
index 00000000..a69eb31b
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/TypedElementImpl.java
@@ -0,0 +1,236 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.TypedElement;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Typed Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.TypedElementImpl#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class TypedElementImpl
+ extends NamedElementImpl
+ implements TypedElement {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TypedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.TYPED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getType() {
+ return (Type) eDynamicGet(
+ UMLPackage.TYPED_ELEMENT__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type basicGetType() {
+ return (Type) eDynamicGet(
+ UMLPackage.TYPED_ELEMENT__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(Type newType) {
+ eDynamicSet(UMLPackage.TYPED_ELEMENT__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, newType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.TYPED_ELEMENT__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.TYPED_ELEMENT__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.TYPED_ELEMENT__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.TYPED_ELEMENT__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.TYPED_ELEMENT__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.TYPED_ELEMENT__NAME :
+ return getName();
+ case UMLPackage.TYPED_ELEMENT__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.TYPED_ELEMENT__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.TYPED_ELEMENT__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.TYPED_ELEMENT__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.TYPED_ELEMENT__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.TYPED_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.TYPED_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.TYPED_ELEMENT__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.TYPED_ELEMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.TYPED_ELEMENT__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.TYPED_ELEMENT__TYPE :
+ setType((Type) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TYPED_ELEMENT__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.TYPED_ELEMENT__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.TYPED_ELEMENT__NAME :
+ unsetName();
+ return;
+ case UMLPackage.TYPED_ELEMENT__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.TYPED_ELEMENT__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.TYPED_ELEMENT__TYPE :
+ setType((Type) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.TYPED_ELEMENT__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.TYPED_ELEMENT__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.TYPED_ELEMENT__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.TYPED_ELEMENT__OWNER :
+ return isSetOwner();
+ case UMLPackage.TYPED_ELEMENT__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.TYPED_ELEMENT__NAME :
+ return isSetName();
+ case UMLPackage.TYPED_ELEMENT__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.TYPED_ELEMENT__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.TYPED_ELEMENT__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.TYPED_ELEMENT__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.TYPED_ELEMENT__TYPE :
+ return basicGetType() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+} //TypedElementImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UMLFactoryImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UMLFactoryImpl.java
new file mode 100644
index 00000000..e68fa25f
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UMLFactoryImpl.java
@@ -0,0 +1,3065 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 205188
+ * Kenn Hussey (CEA) - 327039, 351774, 397324, 418466, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallConcurrencyKind;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Clause;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.ConnectorKind;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionKind;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionOperatorKind;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageKind;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.MessageSort;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.ObjectNodeOrderingKind;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterDirectionKind;
+import org.eclipse.uml2.uml.ParameterEffectKind;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolConformance;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.PseudostateKind;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.TransitionKind;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UMLFactoryImpl
+ extends EFactoryImpl
+ implements UMLFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static UMLFactory init() {
+ try {
+ UMLFactory theUMLFactory = (UMLFactory) EPackage.Registry.INSTANCE
+ .getEFactory(UMLPackage.eNS_URI);
+ if (theUMLFactory != null) {
+ return theUMLFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new UMLFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case UMLPackage.ACTIVITY :
+ return createActivity();
+ case UMLPackage.CLASS :
+ return createClass();
+ case UMLPackage.COMMENT :
+ return createComment();
+ case UMLPackage.STEREOTYPE :
+ return createStereotype();
+ case UMLPackage.IMAGE :
+ return createImage();
+ case UMLPackage.PROFILE :
+ return createProfile();
+ case UMLPackage.PACKAGE :
+ return createPackage();
+ case UMLPackage.TEMPLATE_PARAMETER :
+ return createTemplateParameter();
+ case UMLPackage.TEMPLATE_SIGNATURE :
+ return createTemplateSignature();
+ case UMLPackage.TEMPLATE_BINDING :
+ return createTemplateBinding();
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION :
+ return createTemplateParameterSubstitution();
+ case UMLPackage.ASSOCIATION :
+ return createAssociation();
+ case UMLPackage.PROPERTY :
+ return createProperty();
+ case UMLPackage.CONNECTOR_END :
+ return createConnectorEnd();
+ case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER :
+ return createConnectableElementTemplateParameter();
+ case UMLPackage.DEPLOYMENT :
+ return createDeployment();
+ case UMLPackage.DEPENDENCY :
+ return createDependency();
+ case UMLPackage.DEPLOYMENT_SPECIFICATION :
+ return createDeploymentSpecification();
+ case UMLPackage.ARTIFACT :
+ return createArtifact();
+ case UMLPackage.MANIFESTATION :
+ return createManifestation();
+ case UMLPackage.ABSTRACTION :
+ return createAbstraction();
+ case UMLPackage.OPAQUE_EXPRESSION :
+ return createOpaqueExpression();
+ case UMLPackage.PARAMETER :
+ return createParameter();
+ case UMLPackage.OPERATION :
+ return createOperation();
+ case UMLPackage.PARAMETER_SET :
+ return createParameterSet();
+ case UMLPackage.CONSTRAINT :
+ return createConstraint();
+ case UMLPackage.DATA_TYPE :
+ return createDataType();
+ case UMLPackage.INTERFACE :
+ return createInterface();
+ case UMLPackage.RECEPTION :
+ return createReception();
+ case UMLPackage.SIGNAL :
+ return createSignal();
+ case UMLPackage.PROTOCOL_STATE_MACHINE :
+ return createProtocolStateMachine();
+ case UMLPackage.STATE_MACHINE :
+ return createStateMachine();
+ case UMLPackage.PSEUDOSTATE :
+ return createPseudostate();
+ case UMLPackage.REGION :
+ return createRegion();
+ case UMLPackage.STATE :
+ return createState();
+ case UMLPackage.CONNECTION_POINT_REFERENCE :
+ return createConnectionPointReference();
+ case UMLPackage.TRIGGER :
+ return createTrigger();
+ case UMLPackage.PORT :
+ return createPort();
+ case UMLPackage.TRANSITION :
+ return createTransition();
+ case UMLPackage.PROTOCOL_CONFORMANCE :
+ return createProtocolConformance();
+ case UMLPackage.OPERATION_TEMPLATE_PARAMETER :
+ return createOperationTemplateParameter();
+ case UMLPackage.PACKAGE_MERGE :
+ return createPackageMerge();
+ case UMLPackage.PROFILE_APPLICATION :
+ return createProfileApplication();
+ case UMLPackage.ENUMERATION :
+ return createEnumeration();
+ case UMLPackage.ENUMERATION_LITERAL :
+ return createEnumerationLiteral();
+ case UMLPackage.INSTANCE_SPECIFICATION :
+ return createInstanceSpecification();
+ case UMLPackage.SLOT :
+ return createSlot();
+ case UMLPackage.PRIMITIVE_TYPE :
+ return createPrimitiveType();
+ case UMLPackage.ELEMENT_IMPORT :
+ return createElementImport();
+ case UMLPackage.PACKAGE_IMPORT :
+ return createPackageImport();
+ case UMLPackage.EXTENSION :
+ return createExtension();
+ case UMLPackage.EXTENSION_END :
+ return createExtensionEnd();
+ case UMLPackage.MODEL :
+ return createModel();
+ case UMLPackage.STRING_EXPRESSION :
+ return createStringExpression();
+ case UMLPackage.EXPRESSION :
+ return createExpression();
+ case UMLPackage.USAGE :
+ return createUsage();
+ case UMLPackage.COLLABORATION_USE :
+ return createCollaborationUse();
+ case UMLPackage.COLLABORATION :
+ return createCollaboration();
+ case UMLPackage.CONNECTOR :
+ return createConnector();
+ case UMLPackage.GENERALIZATION :
+ return createGeneralization();
+ case UMLPackage.GENERALIZATION_SET :
+ return createGeneralizationSet();
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE :
+ return createRedefinableTemplateSignature();
+ case UMLPackage.USE_CASE :
+ return createUseCase();
+ case UMLPackage.EXTEND :
+ return createExtend();
+ case UMLPackage.EXTENSION_POINT :
+ return createExtensionPoint();
+ case UMLPackage.INCLUDE :
+ return createInclude();
+ case UMLPackage.SUBSTITUTION :
+ return createSubstitution();
+ case UMLPackage.REALIZATION :
+ return createRealization();
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER :
+ return createClassifierTemplateParameter();
+ case UMLPackage.INTERFACE_REALIZATION :
+ return createInterfaceRealization();
+ case UMLPackage.ACTIVITY_PARTITION :
+ return createActivityPartition();
+ case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION :
+ return createInterruptibleActivityRegion();
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE :
+ return createStructuredActivityNode();
+ case UMLPackage.EXCEPTION_HANDLER :
+ return createExceptionHandler();
+ case UMLPackage.INPUT_PIN :
+ return createInputPin();
+ case UMLPackage.OUTPUT_PIN :
+ return createOutputPin();
+ case UMLPackage.VARIABLE :
+ return createVariable();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION :
+ return createValueSpecificationAction();
+ case UMLPackage.LINK_END_DATA :
+ return createLinkEndData();
+ case UMLPackage.QUALIFIER_VALUE :
+ return createQualifierValue();
+ case UMLPackage.ACCEPT_CALL_ACTION :
+ return createAcceptCallAction();
+ case UMLPackage.ACCEPT_EVENT_ACTION :
+ return createAcceptEventAction();
+ case UMLPackage.ACTION_INPUT_PIN :
+ return createActionInputPin();
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION :
+ return createAddStructuralFeatureValueAction();
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION :
+ return createAddVariableValueAction();
+ case UMLPackage.BROADCAST_SIGNAL_ACTION :
+ return createBroadcastSignalAction();
+ case UMLPackage.CALL_BEHAVIOR_ACTION :
+ return createCallBehaviorAction();
+ case UMLPackage.CALL_OPERATION_ACTION :
+ return createCallOperationAction();
+ case UMLPackage.CLAUSE :
+ return createClause();
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION :
+ return createClearAssociationAction();
+ case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION :
+ return createClearStructuralFeatureAction();
+ case UMLPackage.CLEAR_VARIABLE_ACTION :
+ return createClearVariableAction();
+ case UMLPackage.CONDITIONAL_NODE :
+ return createConditionalNode();
+ case UMLPackage.CREATE_LINK_ACTION :
+ return createCreateLinkAction();
+ case UMLPackage.LINK_END_CREATION_DATA :
+ return createLinkEndCreationData();
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION :
+ return createCreateLinkObjectAction();
+ case UMLPackage.CREATE_OBJECT_ACTION :
+ return createCreateObjectAction();
+ case UMLPackage.DESTROY_LINK_ACTION :
+ return createDestroyLinkAction();
+ case UMLPackage.LINK_END_DESTRUCTION_DATA :
+ return createLinkEndDestructionData();
+ case UMLPackage.DESTROY_OBJECT_ACTION :
+ return createDestroyObjectAction();
+ case UMLPackage.EXPANSION_NODE :
+ return createExpansionNode();
+ case UMLPackage.EXPANSION_REGION :
+ return createExpansionRegion();
+ case UMLPackage.LOOP_NODE :
+ return createLoopNode();
+ case UMLPackage.OPAQUE_ACTION :
+ return createOpaqueAction();
+ case UMLPackage.RAISE_EXCEPTION_ACTION :
+ return createRaiseExceptionAction();
+ case UMLPackage.READ_EXTENT_ACTION :
+ return createReadExtentAction();
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION :
+ return createReadIsClassifiedObjectAction();
+ case UMLPackage.READ_LINK_ACTION :
+ return createReadLinkAction();
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION :
+ return createReadLinkObjectEndAction();
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION :
+ return createReadLinkObjectEndQualifierAction();
+ case UMLPackage.READ_SELF_ACTION :
+ return createReadSelfAction();
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION :
+ return createReadStructuralFeatureAction();
+ case UMLPackage.READ_VARIABLE_ACTION :
+ return createReadVariableAction();
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION :
+ return createReclassifyObjectAction();
+ case UMLPackage.REDUCE_ACTION :
+ return createReduceAction();
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION :
+ return createRemoveStructuralFeatureValueAction();
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION :
+ return createRemoveVariableValueAction();
+ case UMLPackage.REPLY_ACTION :
+ return createReplyAction();
+ case UMLPackage.SEND_OBJECT_ACTION :
+ return createSendObjectAction();
+ case UMLPackage.SEND_SIGNAL_ACTION :
+ return createSendSignalAction();
+ case UMLPackage.SEQUENCE_NODE :
+ return createSequenceNode();
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION :
+ return createStartClassifierBehaviorAction();
+ case UMLPackage.START_OBJECT_BEHAVIOR_ACTION :
+ return createStartObjectBehaviorAction();
+ case UMLPackage.TEST_IDENTITY_ACTION :
+ return createTestIdentityAction();
+ case UMLPackage.UNMARSHALL_ACTION :
+ return createUnmarshallAction();
+ case UMLPackage.VALUE_PIN :
+ return createValuePin();
+ case UMLPackage.ACTIVITY_FINAL_NODE :
+ return createActivityFinalNode();
+ case UMLPackage.ACTIVITY_PARAMETER_NODE :
+ return createActivityParameterNode();
+ case UMLPackage.CENTRAL_BUFFER_NODE :
+ return createCentralBufferNode();
+ case UMLPackage.CONTROL_FLOW :
+ return createControlFlow();
+ case UMLPackage.DATA_STORE_NODE :
+ return createDataStoreNode();
+ case UMLPackage.DECISION_NODE :
+ return createDecisionNode();
+ case UMLPackage.OBJECT_FLOW :
+ return createObjectFlow();
+ case UMLPackage.FLOW_FINAL_NODE :
+ return createFlowFinalNode();
+ case UMLPackage.FORK_NODE :
+ return createForkNode();
+ case UMLPackage.INITIAL_NODE :
+ return createInitialNode();
+ case UMLPackage.JOIN_NODE :
+ return createJoinNode();
+ case UMLPackage.MERGE_NODE :
+ return createMergeNode();
+ case UMLPackage.INSTANCE_VALUE :
+ return createInstanceValue();
+ case UMLPackage.ANY_RECEIVE_EVENT :
+ return createAnyReceiveEvent();
+ case UMLPackage.CALL_EVENT :
+ return createCallEvent();
+ case UMLPackage.CHANGE_EVENT :
+ return createChangeEvent();
+ case UMLPackage.FUNCTION_BEHAVIOR :
+ return createFunctionBehavior();
+ case UMLPackage.OPAQUE_BEHAVIOR :
+ return createOpaqueBehavior();
+ case UMLPackage.SIGNAL_EVENT :
+ return createSignalEvent();
+ case UMLPackage.TIME_EVENT :
+ return createTimeEvent();
+ case UMLPackage.TIME_EXPRESSION :
+ return createTimeExpression();
+ case UMLPackage.COMMUNICATION_PATH :
+ return createCommunicationPath();
+ case UMLPackage.DEVICE :
+ return createDevice();
+ case UMLPackage.NODE :
+ return createNode();
+ case UMLPackage.EXECUTION_ENVIRONMENT :
+ return createExecutionEnvironment();
+ case UMLPackage.INFORMATION_FLOW :
+ return createInformationFlow();
+ case UMLPackage.MESSAGE :
+ return createMessage();
+ case UMLPackage.INTERACTION :
+ return createInteraction();
+ case UMLPackage.LIFELINE :
+ return createLifeline();
+ case UMLPackage.PART_DECOMPOSITION :
+ return createPartDecomposition();
+ case UMLPackage.INTERACTION_USE :
+ return createInteractionUse();
+ case UMLPackage.GATE :
+ return createGate();
+ case UMLPackage.INTERACTION_OPERAND :
+ return createInteractionOperand();
+ case UMLPackage.INTERACTION_CONSTRAINT :
+ return createInteractionConstraint();
+ case UMLPackage.GENERAL_ORDERING :
+ return createGeneralOrdering();
+ case UMLPackage.OCCURRENCE_SPECIFICATION :
+ return createOccurrenceSpecification();
+ case UMLPackage.INFORMATION_ITEM :
+ return createInformationItem();
+ case UMLPackage.ACTION_EXECUTION_SPECIFICATION :
+ return createActionExecutionSpecification();
+ case UMLPackage.BEHAVIOR_EXECUTION_SPECIFICATION :
+ return createBehaviorExecutionSpecification();
+ case UMLPackage.COMBINED_FRAGMENT :
+ return createCombinedFragment();
+ case UMLPackage.CONSIDER_IGNORE_FRAGMENT :
+ return createConsiderIgnoreFragment();
+ case UMLPackage.CONTINUATION :
+ return createContinuation();
+ case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION :
+ return createDestructionOccurrenceSpecification();
+ case UMLPackage.MESSAGE_OCCURRENCE_SPECIFICATION :
+ return createMessageOccurrenceSpecification();
+ case UMLPackage.EXECUTION_OCCURRENCE_SPECIFICATION :
+ return createExecutionOccurrenceSpecification();
+ case UMLPackage.STATE_INVARIANT :
+ return createStateInvariant();
+ case UMLPackage.FINAL_STATE :
+ return createFinalState();
+ case UMLPackage.PROTOCOL_TRANSITION :
+ return createProtocolTransition();
+ case UMLPackage.ASSOCIATION_CLASS :
+ return createAssociationClass();
+ case UMLPackage.COMPONENT :
+ return createComponent();
+ case UMLPackage.COMPONENT_REALIZATION :
+ return createComponentRealization();
+ case UMLPackage.ACTOR :
+ return createActor();
+ case UMLPackage.DURATION :
+ return createDuration();
+ case UMLPackage.DURATION_CONSTRAINT :
+ return createDurationConstraint();
+ case UMLPackage.INTERVAL_CONSTRAINT :
+ return createIntervalConstraint();
+ case UMLPackage.INTERVAL :
+ return createInterval();
+ case UMLPackage.DURATION_INTERVAL :
+ return createDurationInterval();
+ case UMLPackage.DURATION_OBSERVATION :
+ return createDurationObservation();
+ case UMLPackage.LITERAL_BOOLEAN :
+ return createLiteralBoolean();
+ case UMLPackage.LITERAL_INTEGER :
+ return createLiteralInteger();
+ case UMLPackage.LITERAL_NULL :
+ return createLiteralNull();
+ case UMLPackage.LITERAL_REAL :
+ return createLiteralReal();
+ case UMLPackage.LITERAL_STRING :
+ return createLiteralString();
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL :
+ return createLiteralUnlimitedNatural();
+ case UMLPackage.TIME_CONSTRAINT :
+ return createTimeConstraint();
+ case UMLPackage.TIME_INTERVAL :
+ return createTimeInterval();
+ case UMLPackage.TIME_OBSERVATION :
+ return createTimeObservation();
+ default :
+ throw new IllegalArgumentException("The class '" //$NON-NLS-1$
+ + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case UMLPackage.VISIBILITY_KIND :
+ return createVisibilityKindFromString(eDataType, initialValue);
+ case UMLPackage.PARAMETER_DIRECTION_KIND :
+ return createParameterDirectionKindFromString(eDataType,
+ initialValue);
+ case UMLPackage.PARAMETER_EFFECT_KIND :
+ return createParameterEffectKindFromString(eDataType,
+ initialValue);
+ case UMLPackage.CALL_CONCURRENCY_KIND :
+ return createCallConcurrencyKindFromString(eDataType,
+ initialValue);
+ case UMLPackage.TRANSITION_KIND :
+ return createTransitionKindFromString(eDataType, initialValue);
+ case UMLPackage.PSEUDOSTATE_KIND :
+ return createPseudostateKindFromString(eDataType, initialValue);
+ case UMLPackage.AGGREGATION_KIND :
+ return createAggregationKindFromString(eDataType, initialValue);
+ case UMLPackage.CONNECTOR_KIND :
+ return createConnectorKindFromString(eDataType, initialValue);
+ case UMLPackage.OBJECT_NODE_ORDERING_KIND :
+ return createObjectNodeOrderingKindFromString(eDataType,
+ initialValue);
+ case UMLPackage.EXPANSION_KIND :
+ return createExpansionKindFromString(eDataType, initialValue);
+ case UMLPackage.MESSAGE_KIND :
+ return createMessageKindFromString(eDataType, initialValue);
+ case UMLPackage.MESSAGE_SORT :
+ return createMessageSortFromString(eDataType, initialValue);
+ case UMLPackage.INTERACTION_OPERATOR_KIND :
+ return createInteractionOperatorKindFromString(eDataType,
+ initialValue);
+ default :
+ throw new IllegalArgumentException("The datatype '" //$NON-NLS-1$
+ + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case UMLPackage.VISIBILITY_KIND :
+ return convertVisibilityKindToString(eDataType, instanceValue);
+ case UMLPackage.PARAMETER_DIRECTION_KIND :
+ return convertParameterDirectionKindToString(eDataType,
+ instanceValue);
+ case UMLPackage.PARAMETER_EFFECT_KIND :
+ return convertParameterEffectKindToString(eDataType,
+ instanceValue);
+ case UMLPackage.CALL_CONCURRENCY_KIND :
+ return convertCallConcurrencyKindToString(eDataType,
+ instanceValue);
+ case UMLPackage.TRANSITION_KIND :
+ return convertTransitionKindToString(eDataType, instanceValue);
+ case UMLPackage.PSEUDOSTATE_KIND :
+ return convertPseudostateKindToString(eDataType, instanceValue);
+ case UMLPackage.AGGREGATION_KIND :
+ return convertAggregationKindToString(eDataType, instanceValue);
+ case UMLPackage.CONNECTOR_KIND :
+ return convertConnectorKindToString(eDataType, instanceValue);
+ case UMLPackage.OBJECT_NODE_ORDERING_KIND :
+ return convertObjectNodeOrderingKindToString(eDataType,
+ instanceValue);
+ case UMLPackage.EXPANSION_KIND :
+ return convertExpansionKindToString(eDataType, instanceValue);
+ case UMLPackage.MESSAGE_KIND :
+ return convertMessageKindToString(eDataType, instanceValue);
+ case UMLPackage.MESSAGE_SORT :
+ return convertMessageSortToString(eDataType, instanceValue);
+ case UMLPackage.INTERACTION_OPERATOR_KIND :
+ return convertInteractionOperatorKindToString(eDataType,
+ instanceValue);
+ default :
+ throw new IllegalArgumentException("The datatype '" //$NON-NLS-1$
+ + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Comment createComment() {
+ CommentImpl comment = new CommentImpl();
+ return comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency createDependency() {
+ DependencyImpl dependency = new DependencyImpl();
+ return dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameter createTemplateParameter() {
+ TemplateParameterImpl templateParameter = new TemplateParameterImpl();
+ return templateParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignature createTemplateSignature() {
+ TemplateSignatureImpl templateSignature = new TemplateSignatureImpl();
+ return templateSignature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding createTemplateBinding() {
+ TemplateBindingImpl templateBinding = new TemplateBindingImpl();
+ return templateBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameterSubstitution createTemplateParameterSubstitution() {
+ TemplateParameterSubstitutionImpl templateParameterSubstitution = new TemplateParameterSubstitutionImpl();
+ return templateParameterSubstitution;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementImport createElementImport() {
+ ElementImportImpl elementImport = new ElementImportImpl();
+ return elementImport;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport createPackageImport() {
+ PackageImportImpl packageImport = new PackageImportImpl();
+ return packageImport;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package createPackage() {
+ PackageImpl package_ = new PackageImpl();
+ return package_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageMerge createPackageMerge() {
+ PackageMergeImpl packageMerge = new PackageMergeImpl();
+ return packageMerge;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProfileApplication createProfileApplication() {
+ ProfileApplicationImpl profileApplication = new ProfileApplicationImpl();
+ return profileApplication;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Profile createProfile() {
+ ProfileImpl profile = new ProfileImpl();
+ return profile;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype createStereotype() {
+ StereotypeImpl stereotype = new StereotypeImpl();
+ return stereotype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image createImage() {
+ ImageImpl image = new ImageImpl();
+ return image;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class createClass() {
+ ClassImpl class_ = new ClassImpl();
+ return class_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Generalization createGeneralization() {
+ GeneralizationImpl generalization = new GeneralizationImpl();
+ return generalization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralizationSet createGeneralizationSet() {
+ GeneralizationSetImpl generalizationSet = new GeneralizationSetImpl();
+ return generalizationSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase createUseCase() {
+ UseCaseImpl useCase = new UseCaseImpl();
+ return useCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Include createInclude() {
+ IncludeImpl include = new IncludeImpl();
+ return include;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Extend createExtend() {
+ ExtendImpl extend = new ExtendImpl();
+ return extend;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint createConstraint() {
+ ConstraintImpl constraint = new ConstraintImpl();
+ return constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionPoint createExtensionPoint() {
+ ExtensionPointImpl extensionPoint = new ExtensionPointImpl();
+ return extensionPoint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Substitution createSubstitution() {
+ SubstitutionImpl substitution = new SubstitutionImpl();
+ return substitution;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Realization createRealization() {
+ RealizationImpl realization = new RealizationImpl();
+ return realization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Abstraction createAbstraction() {
+ AbstractionImpl abstraction = new AbstractionImpl();
+ return abstraction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueExpression createOpaqueExpression() {
+ OpaqueExpressionImpl opaqueExpression = new OpaqueExpressionImpl();
+ return opaqueExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter createParameter() {
+ ParameterImpl parameter = new ParameterImpl();
+ return parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectorEnd createConnectorEnd() {
+ ConnectorEndImpl connectorEnd = new ConnectorEndImpl();
+ return connectorEnd;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property createProperty() {
+ PropertyImpl property = new PropertyImpl();
+ return property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Deployment createDeployment() {
+ DeploymentImpl deployment = new DeploymentImpl();
+ return deployment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeploymentSpecification createDeploymentSpecification() {
+ DeploymentSpecificationImpl deploymentSpecification = new DeploymentSpecificationImpl();
+ return deploymentSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Artifact createArtifact() {
+ ArtifactImpl artifact = new ArtifactImpl();
+ return artifact;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Manifestation createManifestation() {
+ ManifestationImpl manifestation = new ManifestationImpl();
+ return manifestation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation createOperation() {
+ OperationImpl operation = new OperationImpl();
+ return operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet createParameterSet() {
+ ParameterSetImpl parameterSet = new ParameterSetImpl();
+ return parameterSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType createDataType() {
+ DataTypeImpl dataType = new DataTypeImpl();
+ return dataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface createInterface() {
+ InterfaceImpl interface_ = new InterfaceImpl();
+ return interface_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Reception createReception() {
+ ReceptionImpl reception = new ReceptionImpl();
+ return reception;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Signal createSignal() {
+ SignalImpl signal = new SignalImpl();
+ return signal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolStateMachine createProtocolStateMachine() {
+ ProtocolStateMachineImpl protocolStateMachine = new ProtocolStateMachineImpl();
+ return protocolStateMachine;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachine createStateMachine() {
+ StateMachineImpl stateMachine = new StateMachineImpl();
+ return stateMachine;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region createRegion() {
+ RegionImpl region = new RegionImpl();
+ return region;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition createTransition() {
+ TransitionImpl transition = new TransitionImpl();
+ return transition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Trigger createTrigger() {
+ TriggerImpl trigger = new TriggerImpl();
+ return trigger;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port createPort() {
+ PortImpl port = new PortImpl();
+ return port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State createState() {
+ StateImpl state = new StateImpl();
+ return state;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectionPointReference createConnectionPointReference() {
+ ConnectionPointReferenceImpl connectionPointReference = new ConnectionPointReferenceImpl();
+ return connectionPointReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Pseudostate createPseudostate() {
+ PseudostateImpl pseudostate = new PseudostateImpl();
+ return pseudostate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolConformance createProtocolConformance() {
+ ProtocolConformanceImpl protocolConformance = new ProtocolConformanceImpl();
+ return protocolConformance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperationTemplateParameter createOperationTemplateParameter() {
+ OperationTemplateParameterImpl operationTemplateParameter = new OperationTemplateParameterImpl();
+ return operationTemplateParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Association createAssociation() {
+ AssociationImpl association = new AssociationImpl();
+ return association;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectableElementTemplateParameter createConnectableElementTemplateParameter() {
+ ConnectableElementTemplateParameterImpl connectableElementTemplateParameter = new ConnectableElementTemplateParameterImpl();
+ return connectableElementTemplateParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollaborationUse createCollaborationUse() {
+ CollaborationUseImpl collaborationUse = new CollaborationUseImpl();
+ return collaborationUse;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collaboration createCollaboration() {
+ CollaborationImpl collaboration = new CollaborationImpl();
+ return collaboration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Connector createConnector() {
+ ConnectorImpl connector = new ConnectorImpl();
+ return connector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableTemplateSignature createRedefinableTemplateSignature() {
+ RedefinableTemplateSignatureImpl redefinableTemplateSignature = new RedefinableTemplateSignatureImpl();
+ return redefinableTemplateSignature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassifierTemplateParameter createClassifierTemplateParameter() {
+ ClassifierTemplateParameterImpl classifierTemplateParameter = new ClassifierTemplateParameterImpl();
+ return classifierTemplateParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterfaceRealization createInterfaceRealization() {
+ InterfaceRealizationImpl interfaceRealization = new InterfaceRealizationImpl();
+ return interfaceRealization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Extension createExtension() {
+ ExtensionImpl extension = new ExtensionImpl();
+ return extension;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionEnd createExtensionEnd() {
+ ExtensionEndImpl extensionEnd = new ExtensionEndImpl();
+ return extensionEnd;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringExpression createStringExpression() {
+ StringExpressionImpl stringExpression = new StringExpressionImpl();
+ return stringExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression createExpression() {
+ ExpressionImpl expression = new ExpressionImpl();
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LiteralInteger createLiteralInteger() {
+ LiteralIntegerImpl literalInteger = new LiteralIntegerImpl();
+ return literalInteger;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LiteralString createLiteralString() {
+ LiteralStringImpl literalString = new LiteralStringImpl();
+ return literalString;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LiteralBoolean createLiteralBoolean() {
+ LiteralBooleanImpl literalBoolean = new LiteralBooleanImpl();
+ return literalBoolean;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LiteralNull createLiteralNull() {
+ LiteralNullImpl literalNull = new LiteralNullImpl();
+ return literalNull;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LiteralReal createLiteralReal() {
+ LiteralRealImpl literalReal = new LiteralRealImpl();
+ return literalReal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Slot createSlot() {
+ SlotImpl slot = new SlotImpl();
+ return slot;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceSpecification createInstanceSpecification() {
+ InstanceSpecificationImpl instanceSpecification = new InstanceSpecificationImpl();
+ return instanceSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumeration createEnumeration() {
+ EnumerationImpl enumeration = new EnumerationImpl();
+ return enumeration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnumerationLiteral createEnumerationLiteral() {
+ EnumerationLiteralImpl enumerationLiteral = new EnumerationLiteralImpl();
+ return enumerationLiteral;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PrimitiveType createPrimitiveType() {
+ PrimitiveTypeImpl primitiveType = new PrimitiveTypeImpl();
+ return primitiveType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceValue createInstanceValue() {
+ InstanceValueImpl instanceValue = new InstanceValueImpl();
+ return instanceValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LiteralUnlimitedNatural createLiteralUnlimitedNatural() {
+ LiteralUnlimitedNaturalImpl literalUnlimitedNatural = new LiteralUnlimitedNaturalImpl();
+ return literalUnlimitedNatural;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueBehavior createOpaqueBehavior() {
+ OpaqueBehaviorImpl opaqueBehavior = new OpaqueBehaviorImpl();
+ return opaqueBehavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionBehavior createFunctionBehavior() {
+ FunctionBehaviorImpl functionBehavior = new FunctionBehaviorImpl();
+ return functionBehavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Actor createActor() {
+ ActorImpl actor = new ActorImpl();
+ return actor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Usage createUsage() {
+ UsageImpl usage = new UsageImpl();
+ return usage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Message createMessage() {
+ MessageImpl message = new MessageImpl();
+ return message;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interaction createInteraction() {
+ InteractionImpl interaction = new InteractionImpl();
+ return interaction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lifeline createLifeline() {
+ LifelineImpl lifeline = new LifelineImpl();
+ return lifeline;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PartDecomposition createPartDecomposition() {
+ PartDecompositionImpl partDecomposition = new PartDecompositionImpl();
+ return partDecomposition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionUse createInteractionUse() {
+ InteractionUseImpl interactionUse = new InteractionUseImpl();
+ return interactionUse;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Gate createGate() {
+ GateImpl gate = new GateImpl();
+ return gate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity createActivity() {
+ ActivityImpl activity = new ActivityImpl();
+ return activity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition createActivityPartition() {
+ ActivityPartitionImpl activityPartition = new ActivityPartitionImpl();
+ return activityPartition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode createStructuredActivityNode() {
+ StructuredActivityNodeImpl structuredActivityNode = new StructuredActivityNodeImpl();
+ return structuredActivityNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variable createVariable() {
+ VariableImpl variable = new VariableImpl();
+ return variable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterruptibleActivityRegion createInterruptibleActivityRegion() {
+ InterruptibleActivityRegionImpl interruptibleActivityRegion = new InterruptibleActivityRegionImpl();
+ return interruptibleActivityRegion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExceptionHandler createExceptionHandler() {
+ ExceptionHandlerImpl exceptionHandler = new ExceptionHandlerImpl();
+ return exceptionHandler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createOutputPin() {
+ OutputPinImpl outputPin = new OutputPinImpl();
+ return outputPin;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createInputPin() {
+ InputPinImpl inputPin = new InputPinImpl();
+ return inputPin;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrdering createGeneralOrdering() {
+ GeneralOrderingImpl generalOrdering = new GeneralOrderingImpl();
+ return generalOrdering;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OccurrenceSpecification createOccurrenceSpecification() {
+ OccurrenceSpecificationImpl occurrenceSpecification = new OccurrenceSpecificationImpl();
+ return occurrenceSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperand createInteractionOperand() {
+ InteractionOperandImpl interactionOperand = new InteractionOperandImpl();
+ return interactionOperand;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionConstraint createInteractionConstraint() {
+ InteractionConstraintImpl interactionConstraint = new InteractionConstraintImpl();
+ return interactionConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutionOccurrenceSpecification createExecutionOccurrenceSpecification() {
+ ExecutionOccurrenceSpecificationImpl executionOccurrenceSpecification = new ExecutionOccurrenceSpecificationImpl();
+ return executionOccurrenceSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateInvariant createStateInvariant() {
+ StateInvariantImpl stateInvariant = new StateInvariantImpl();
+ return stateInvariant;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActionExecutionSpecification createActionExecutionSpecification() {
+ ActionExecutionSpecificationImpl actionExecutionSpecification = new ActionExecutionSpecificationImpl();
+ return actionExecutionSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehaviorExecutionSpecification createBehaviorExecutionSpecification() {
+ BehaviorExecutionSpecificationImpl behaviorExecutionSpecification = new BehaviorExecutionSpecificationImpl();
+ return behaviorExecutionSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageOccurrenceSpecification createMessageOccurrenceSpecification() {
+ MessageOccurrenceSpecificationImpl messageOccurrenceSpecification = new MessageOccurrenceSpecificationImpl();
+ return messageOccurrenceSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CombinedFragment createCombinedFragment() {
+ CombinedFragmentImpl combinedFragment = new CombinedFragmentImpl();
+ return combinedFragment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Continuation createContinuation() {
+ ContinuationImpl continuation = new ContinuationImpl();
+ return continuation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConsiderIgnoreFragment createConsiderIgnoreFragment() {
+ ConsiderIgnoreFragmentImpl considerIgnoreFragment = new ConsiderIgnoreFragmentImpl();
+ return considerIgnoreFragment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent createCallEvent() {
+ CallEventImpl callEvent = new CallEventImpl();
+ return callEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ChangeEvent createChangeEvent() {
+ ChangeEventImpl changeEvent = new ChangeEventImpl();
+ return changeEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SignalEvent createSignalEvent() {
+ SignalEventImpl signalEvent = new SignalEventImpl();
+ return signalEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnyReceiveEvent createAnyReceiveEvent() {
+ AnyReceiveEventImpl anyReceiveEvent = new AnyReceiveEventImpl();
+ return anyReceiveEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreateObjectAction createCreateObjectAction() {
+ CreateObjectActionImpl createObjectAction = new CreateObjectActionImpl();
+ return createObjectAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DestroyObjectAction createDestroyObjectAction() {
+ DestroyObjectActionImpl destroyObjectAction = new DestroyObjectActionImpl();
+ return destroyObjectAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DestructionOccurrenceSpecification createDestructionOccurrenceSpecification() {
+ DestructionOccurrenceSpecificationImpl destructionOccurrenceSpecification = new DestructionOccurrenceSpecificationImpl();
+ return destructionOccurrenceSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TestIdentityAction createTestIdentityAction() {
+ TestIdentityActionImpl testIdentityAction = new TestIdentityActionImpl();
+ return testIdentityAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadSelfAction createReadSelfAction() {
+ ReadSelfActionImpl readSelfAction = new ReadSelfActionImpl();
+ return readSelfAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadStructuralFeatureAction createReadStructuralFeatureAction() {
+ ReadStructuralFeatureActionImpl readStructuralFeatureAction = new ReadStructuralFeatureActionImpl();
+ return readStructuralFeatureAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClearStructuralFeatureAction createClearStructuralFeatureAction() {
+ ClearStructuralFeatureActionImpl clearStructuralFeatureAction = new ClearStructuralFeatureActionImpl();
+ return clearStructuralFeatureAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RemoveStructuralFeatureValueAction createRemoveStructuralFeatureValueAction() {
+ RemoveStructuralFeatureValueActionImpl removeStructuralFeatureValueAction = new RemoveStructuralFeatureValueActionImpl();
+ return removeStructuralFeatureValueAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AddStructuralFeatureValueAction createAddStructuralFeatureValueAction() {
+ AddStructuralFeatureValueActionImpl addStructuralFeatureValueAction = new AddStructuralFeatureValueActionImpl();
+ return addStructuralFeatureValueAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkEndData createLinkEndData() {
+ LinkEndDataImpl linkEndData = new LinkEndDataImpl();
+ return linkEndData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifierValue createQualifierValue() {
+ QualifierValueImpl qualifierValue = new QualifierValueImpl();
+ return qualifierValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadLinkAction createReadLinkAction() {
+ ReadLinkActionImpl readLinkAction = new ReadLinkActionImpl();
+ return readLinkAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkEndCreationData createLinkEndCreationData() {
+ LinkEndCreationDataImpl linkEndCreationData = new LinkEndCreationDataImpl();
+ return linkEndCreationData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreateLinkAction createCreateLinkAction() {
+ CreateLinkActionImpl createLinkAction = new CreateLinkActionImpl();
+ return createLinkAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DestroyLinkAction createDestroyLinkAction() {
+ DestroyLinkActionImpl destroyLinkAction = new DestroyLinkActionImpl();
+ return destroyLinkAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkEndDestructionData createLinkEndDestructionData() {
+ LinkEndDestructionDataImpl linkEndDestructionData = new LinkEndDestructionDataImpl();
+ return linkEndDestructionData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClearAssociationAction createClearAssociationAction() {
+ ClearAssociationActionImpl clearAssociationAction = new ClearAssociationActionImpl();
+ return clearAssociationAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BroadcastSignalAction createBroadcastSignalAction() {
+ BroadcastSignalActionImpl broadcastSignalAction = new BroadcastSignalActionImpl();
+ return broadcastSignalAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SendObjectAction createSendObjectAction() {
+ SendObjectActionImpl sendObjectAction = new SendObjectActionImpl();
+ return sendObjectAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecificationAction createValueSpecificationAction() {
+ ValueSpecificationActionImpl valueSpecificationAction = new ValueSpecificationActionImpl();
+ return valueSpecificationAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeExpression createTimeExpression() {
+ TimeExpressionImpl timeExpression = new TimeExpressionImpl();
+ return timeExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Duration createDuration() {
+ DurationImpl duration = new DurationImpl();
+ return duration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValuePin createValuePin() {
+ ValuePinImpl valuePin = new ValuePinImpl();
+ return valuePin;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DurationInterval createDurationInterval() {
+ DurationIntervalImpl durationInterval = new DurationIntervalImpl();
+ return durationInterval;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interval createInterval() {
+ IntervalImpl interval = new IntervalImpl();
+ return interval;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeConstraint createTimeConstraint() {
+ TimeConstraintImpl timeConstraint = new TimeConstraintImpl();
+ return timeConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IntervalConstraint createIntervalConstraint() {
+ IntervalConstraintImpl intervalConstraint = new IntervalConstraintImpl();
+ return intervalConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeInterval createTimeInterval() {
+ TimeIntervalImpl timeInterval = new TimeIntervalImpl();
+ return timeInterval;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DurationConstraint createDurationConstraint() {
+ DurationConstraintImpl durationConstraint = new DurationConstraintImpl();
+ return durationConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeObservation createTimeObservation() {
+ TimeObservationImpl timeObservation = new TimeObservationImpl();
+ return timeObservation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DurationObservation createDurationObservation() {
+ DurationObservationImpl durationObservation = new DurationObservationImpl();
+ return durationObservation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueAction createOpaqueAction() {
+ OpaqueActionImpl opaqueAction = new OpaqueActionImpl();
+ return opaqueAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SendSignalAction createSendSignalAction() {
+ SendSignalActionImpl sendSignalAction = new SendSignalActionImpl();
+ return sendSignalAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallOperationAction createCallOperationAction() {
+ CallOperationActionImpl callOperationAction = new CallOperationActionImpl();
+ return callOperationAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallBehaviorAction createCallBehaviorAction() {
+ CallBehaviorActionImpl callBehaviorAction = new CallBehaviorActionImpl();
+ return callBehaviorAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InformationItem createInformationItem() {
+ InformationItemImpl informationItem = new InformationItemImpl();
+ return informationItem;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InformationFlow createInformationFlow() {
+ InformationFlowImpl informationFlow = new InformationFlowImpl();
+ return informationFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Model createModel() {
+ ModelImpl model = new ModelImpl();
+ return model;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadVariableAction createReadVariableAction() {
+ ReadVariableActionImpl readVariableAction = new ReadVariableActionImpl();
+ return readVariableAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClearVariableAction createClearVariableAction() {
+ ClearVariableActionImpl clearVariableAction = new ClearVariableActionImpl();
+ return clearVariableAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AddVariableValueAction createAddVariableValueAction() {
+ AddVariableValueActionImpl addVariableValueAction = new AddVariableValueActionImpl();
+ return addVariableValueAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RemoveVariableValueAction createRemoveVariableValueAction() {
+ RemoveVariableValueActionImpl removeVariableValueAction = new RemoveVariableValueActionImpl();
+ return removeVariableValueAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RaiseExceptionAction createRaiseExceptionAction() {
+ RaiseExceptionActionImpl raiseExceptionAction = new RaiseExceptionActionImpl();
+ return raiseExceptionAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActionInputPin createActionInputPin() {
+ ActionInputPinImpl actionInputPin = new ActionInputPinImpl();
+ return actionInputPin;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadExtentAction createReadExtentAction() {
+ ReadExtentActionImpl readExtentAction = new ReadExtentActionImpl();
+ return readExtentAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReclassifyObjectAction createReclassifyObjectAction() {
+ ReclassifyObjectActionImpl reclassifyObjectAction = new ReclassifyObjectActionImpl();
+ return reclassifyObjectAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadIsClassifiedObjectAction createReadIsClassifiedObjectAction() {
+ ReadIsClassifiedObjectActionImpl readIsClassifiedObjectAction = new ReadIsClassifiedObjectActionImpl();
+ return readIsClassifiedObjectAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StartClassifierBehaviorAction createStartClassifierBehaviorAction() {
+ StartClassifierBehaviorActionImpl startClassifierBehaviorAction = new StartClassifierBehaviorActionImpl();
+ return startClassifierBehaviorAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadLinkObjectEndAction createReadLinkObjectEndAction() {
+ ReadLinkObjectEndActionImpl readLinkObjectEndAction = new ReadLinkObjectEndActionImpl();
+ return readLinkObjectEndAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadLinkObjectEndQualifierAction createReadLinkObjectEndQualifierAction() {
+ ReadLinkObjectEndQualifierActionImpl readLinkObjectEndQualifierAction = new ReadLinkObjectEndQualifierActionImpl();
+ return readLinkObjectEndQualifierAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreateLinkObjectAction createCreateLinkObjectAction() {
+ CreateLinkObjectActionImpl createLinkObjectAction = new CreateLinkObjectActionImpl();
+ return createLinkObjectAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptEventAction createAcceptEventAction() {
+ AcceptEventActionImpl acceptEventAction = new AcceptEventActionImpl();
+ return acceptEventAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptCallAction createAcceptCallAction() {
+ AcceptCallActionImpl acceptCallAction = new AcceptCallActionImpl();
+ return acceptCallAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReplyAction createReplyAction() {
+ ReplyActionImpl replyAction = new ReplyActionImpl();
+ return replyAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnmarshallAction createUnmarshallAction() {
+ UnmarshallActionImpl unmarshallAction = new UnmarshallActionImpl();
+ return unmarshallAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReduceAction createReduceAction() {
+ ReduceActionImpl reduceAction = new ReduceActionImpl();
+ return reduceAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StartObjectBehaviorAction createStartObjectBehaviorAction() {
+ StartObjectBehaviorActionImpl startObjectBehaviorAction = new StartObjectBehaviorActionImpl();
+ return startObjectBehaviorAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ControlFlow createControlFlow() {
+ ControlFlowImpl controlFlow = new ControlFlowImpl();
+ return controlFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InitialNode createInitialNode() {
+ InitialNodeImpl initialNode = new InitialNodeImpl();
+ return initialNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityParameterNode createActivityParameterNode() {
+ ActivityParameterNodeImpl activityParameterNode = new ActivityParameterNodeImpl();
+ return activityParameterNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForkNode createForkNode() {
+ ForkNodeImpl forkNode = new ForkNodeImpl();
+ return forkNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowFinalNode createFlowFinalNode() {
+ FlowFinalNodeImpl flowFinalNode = new FlowFinalNodeImpl();
+ return flowFinalNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CentralBufferNode createCentralBufferNode() {
+ CentralBufferNodeImpl centralBufferNode = new CentralBufferNodeImpl();
+ return centralBufferNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MergeNode createMergeNode() {
+ MergeNodeImpl mergeNode = new MergeNodeImpl();
+ return mergeNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DecisionNode createDecisionNode() {
+ DecisionNodeImpl decisionNode = new DecisionNodeImpl();
+ return decisionNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityFinalNode createActivityFinalNode() {
+ ActivityFinalNodeImpl activityFinalNode = new ActivityFinalNodeImpl();
+ return activityFinalNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JoinNode createJoinNode() {
+ JoinNodeImpl joinNode = new JoinNodeImpl();
+ return joinNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStoreNode createDataStoreNode() {
+ DataStoreNodeImpl dataStoreNode = new DataStoreNodeImpl();
+ return dataStoreNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectFlow createObjectFlow() {
+ ObjectFlowImpl objectFlow = new ObjectFlowImpl();
+ return objectFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceNode createSequenceNode() {
+ SequenceNodeImpl sequenceNode = new SequenceNodeImpl();
+ return sequenceNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConditionalNode createConditionalNode() {
+ ConditionalNodeImpl conditionalNode = new ConditionalNodeImpl();
+ return conditionalNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Clause createClause() {
+ ClauseImpl clause = new ClauseImpl();
+ return clause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LoopNode createLoopNode() {
+ LoopNodeImpl loopNode = new LoopNodeImpl();
+ return loopNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionNode createExpansionNode() {
+ ExpansionNodeImpl expansionNode = new ExpansionNodeImpl();
+ return expansionNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionRegion createExpansionRegion() {
+ ExpansionRegionImpl expansionRegion = new ExpansionRegionImpl();
+ return expansionRegion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentRealization createComponentRealization() {
+ ComponentRealizationImpl componentRealization = new ComponentRealizationImpl();
+ return componentRealization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component createComponent() {
+ ComponentImpl component = new ComponentImpl();
+ return component;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Node createNode() {
+ NodeImpl node = new NodeImpl();
+ return node;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Device createDevice() {
+ DeviceImpl device = new DeviceImpl();
+ return device;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutionEnvironment createExecutionEnvironment() {
+ ExecutionEnvironmentImpl executionEnvironment = new ExecutionEnvironmentImpl();
+ return executionEnvironment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CommunicationPath createCommunicationPath() {
+ CommunicationPathImpl communicationPath = new CommunicationPathImpl();
+ return communicationPath;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FinalState createFinalState() {
+ FinalStateImpl finalState = new FinalStateImpl();
+ return finalState;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeEvent createTimeEvent() {
+ TimeEventImpl timeEvent = new TimeEventImpl();
+ return timeEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolTransition createProtocolTransition() {
+ ProtocolTransitionImpl protocolTransition = new ProtocolTransitionImpl();
+ return protocolTransition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssociationClass createAssociationClass() {
+ AssociationClassImpl associationClass = new AssociationClassImpl();
+ return associationClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VisibilityKind createVisibilityKindFromString(EDataType eDataType,
+ String initialValue) {
+ VisibilityKind result = VisibilityKind.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue //$NON-NLS-1$
+ + "' is not a valid enumerator of '" + eDataType.getName() //$NON-NLS-1$
+ + "'"); //$NON-NLS-1$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertVisibilityKindToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallConcurrencyKind createCallConcurrencyKindFromString(
+ EDataType eDataType, String initialValue) {
+ CallConcurrencyKind result = CallConcurrencyKind.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue //$NON-NLS-1$
+ + "' is not a valid enumerator of '" + eDataType.getName() //$NON-NLS-1$
+ + "'"); //$NON-NLS-1$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertCallConcurrencyKindToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TransitionKind createTransitionKindFromString(EDataType eDataType,
+ String initialValue) {
+ TransitionKind result = TransitionKind.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue //$NON-NLS-1$
+ + "' is not a valid enumerator of '" + eDataType.getName() //$NON-NLS-1$
+ + "'"); //$NON-NLS-1$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertTransitionKindToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PseudostateKind createPseudostateKindFromString(EDataType eDataType,
+ String initialValue) {
+ PseudostateKind result = PseudostateKind.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue //$NON-NLS-1$
+ + "' is not a valid enumerator of '" + eDataType.getName() //$NON-NLS-1$
+ + "'"); //$NON-NLS-1$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertPseudostateKindToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AggregationKind createAggregationKindFromString(EDataType eDataType,
+ String initialValue) {
+ AggregationKind result = AggregationKind.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue //$NON-NLS-1$
+ + "' is not a valid enumerator of '" + eDataType.getName() //$NON-NLS-1$
+ + "'"); //$NON-NLS-1$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertAggregationKindToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterDirectionKind createParameterDirectionKindFromString(
+ EDataType eDataType, String initialValue) {
+ ParameterDirectionKind result = ParameterDirectionKind
+ .get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue //$NON-NLS-1$
+ + "' is not a valid enumerator of '" + eDataType.getName() //$NON-NLS-1$
+ + "'"); //$NON-NLS-1$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertParameterDirectionKindToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterEffectKind createParameterEffectKindFromString(
+ EDataType eDataType, String initialValue) {
+ ParameterEffectKind result = ParameterEffectKind.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue //$NON-NLS-1$
+ + "' is not a valid enumerator of '" + eDataType.getName() //$NON-NLS-1$
+ + "'"); //$NON-NLS-1$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertParameterEffectKindToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectorKind createConnectorKindFromString(EDataType eDataType,
+ String initialValue) {
+ ConnectorKind result = ConnectorKind.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue //$NON-NLS-1$
+ + "' is not a valid enumerator of '" + eDataType.getName() //$NON-NLS-1$
+ + "'"); //$NON-NLS-1$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertConnectorKindToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageKind createMessageKindFromString(EDataType eDataType,
+ String initialValue) {
+ MessageKind result = MessageKind.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue //$NON-NLS-1$
+ + "' is not a valid enumerator of '" + eDataType.getName() //$NON-NLS-1$
+ + "'"); //$NON-NLS-1$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertMessageKindToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageSort createMessageSortFromString(EDataType eDataType,
+ String initialValue) {
+ MessageSort result = MessageSort.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue //$NON-NLS-1$
+ + "' is not a valid enumerator of '" + eDataType.getName() //$NON-NLS-1$
+ + "'"); //$NON-NLS-1$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertMessageSortToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectNodeOrderingKind createObjectNodeOrderingKindFromString(
+ EDataType eDataType, String initialValue) {
+ ObjectNodeOrderingKind result = ObjectNodeOrderingKind
+ .get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue //$NON-NLS-1$
+ + "' is not a valid enumerator of '" + eDataType.getName() //$NON-NLS-1$
+ + "'"); //$NON-NLS-1$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertObjectNodeOrderingKindToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperatorKind createInteractionOperatorKindFromString(
+ EDataType eDataType, String initialValue) {
+ InteractionOperatorKind result = InteractionOperatorKind
+ .get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue //$NON-NLS-1$
+ + "' is not a valid enumerator of '" + eDataType.getName() //$NON-NLS-1$
+ + "'"); //$NON-NLS-1$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertInteractionOperatorKindToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionKind createExpansionKindFromString(EDataType eDataType,
+ String initialValue) {
+ ExpansionKind result = ExpansionKind.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue //$NON-NLS-1$
+ + "' is not a valid enumerator of '" + eDataType.getName() //$NON-NLS-1$
+ + "'"); //$NON-NLS-1$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertExpansionKindToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLPackage getUMLPackage() {
+ return (UMLPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static UMLPackage getPackage() {
+ return UMLPackage.eINSTANCE;
+ }
+
+} //UMLFactoryImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UMLPackageImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UMLPackageImpl.java
new file mode 100644
index 00000000..a65cc073
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UMLPackageImpl.java
@@ -0,0 +1,17573 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 205188, 247980
+ * Kenn Hussey - 286329, 323181, 485764
+ * Kenn Hussey (CEA) - 327039, 351774, 366083, 382637, 297216, 418466, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.io.IOException;
+
+import java.net.URL;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.common.util.WrappedException;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EValidator;
+
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
+
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.util.UMLValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UMLPackageImpl
+ extends EPackageImpl
+ implements UMLPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected String packageFilename = "uml.ecore"; //$NON-NLS-1$
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass activityContentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass commentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass elementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass directedRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass relationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass literalSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass valueSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass typedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass namedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dependencyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass packageableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass parameterableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass templateParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass templateSignatureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass templateableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass templateBindingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass templateParameterSubstitutionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass namespaceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass elementImportEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass packageImportEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass packageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass packageMergeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass typeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass profileApplicationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass profileEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stereotypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass classEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass behavioredClassifierEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass classifierEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass redefinableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass generalizationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass generalizationSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass featureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass useCaseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass includeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extendEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass constraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extensionPointEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass substitutionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass realizationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass opaqueExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass parameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass multiplicityElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass connectableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass connectorEndEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass propertyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass deploymentTargetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass deploymentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass deployedArtifactEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass deploymentSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass artifactEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass manifestationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass operationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass behavioralFeatureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass behaviorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass parameterSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass interfaceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass receptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass signalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass protocolStateMachineEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stateMachineEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass regionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass vertexEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass transitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass triggerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass portEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass connectionPointReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pseudostateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass protocolConformanceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass operationTemplateParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass structuralFeatureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass associationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass connectableElementTemplateParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass collaborationUseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass collaborationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass structuredClassifierEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass connectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass redefinableTemplateSignatureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass classifierTemplateParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass interfaceRealizationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass encapsulatedClassifierEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extensionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extensionEndEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass imageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stringExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass expressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass literalIntegerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass literalStringEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass literalBooleanEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass literalNullEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass literalRealEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass slotEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass instanceSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass enumerationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass enumerationLiteralEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass primitiveTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass instanceValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass literalUnlimitedNaturalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass opaqueBehaviorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionBehaviorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass actorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass usageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass messageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass messageEndEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass interactionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass interactionFragmentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lifelineEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass partDecompositionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass interactionUseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass gateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass actionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass executableNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass activityNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass activityEdgeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass activityEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass activityPartitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass activityGroupEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass structuredActivityNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass variableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass interruptibleActivityRegionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass exceptionHandlerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass objectNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass outputPinEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pinEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass inputPinEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass generalOrderingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass occurrenceSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass interactionOperandEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass interactionConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass executionSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass executionOccurrenceSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stateInvariantEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass actionExecutionSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass behaviorExecutionSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass messageEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass messageOccurrenceSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass combinedFragmentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass continuationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass considerIgnoreFragmentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass callEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass changeEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass signalEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass anyReceiveEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass createObjectActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass destroyObjectActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass destructionOccurrenceSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass testIdentityActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass readSelfActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass structuralFeatureActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass readStructuralFeatureActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass writeStructuralFeatureActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass clearStructuralFeatureActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass removeStructuralFeatureValueActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass addStructuralFeatureValueActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass linkActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass linkEndDataEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass qualifierValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass readLinkActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass linkEndCreationDataEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass createLinkActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass writeLinkActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass destroyLinkActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass linkEndDestructionDataEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass clearAssociationActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass broadcastSignalActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass invocationActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sendObjectActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass valueSpecificationActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timeExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass observationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass durationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass valuePinEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass durationIntervalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass intervalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timeConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass intervalConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timeIntervalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass durationConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timeObservationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass durationObservationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass opaqueActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass callActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sendSignalActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass callOperationActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass callBehaviorActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass informationItemEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass informationFlowEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass modelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass variableActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass readVariableActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass writeVariableActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass clearVariableActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass addVariableValueActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass removeVariableValueActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass raiseExceptionActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass actionInputPinEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass readExtentActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass reclassifyObjectActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass readIsClassifiedObjectActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass startClassifierBehaviorActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass readLinkObjectEndActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass readLinkObjectEndQualifierActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass createLinkObjectActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass acceptEventActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass acceptCallActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass replyActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass unmarshallActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass reduceActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass startObjectBehaviorActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass controlNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass controlFlowEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass initialNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass activityParameterNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass forkNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass flowFinalNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass finalNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass centralBufferNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass mergeNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass decisionNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass activityFinalNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass joinNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataStoreNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass objectFlowEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sequenceNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass conditionalNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass clauseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass loopNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass expansionNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass expansionRegionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass componentRealizationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass componentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass deviceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass executionEnvironmentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass communicationPathEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass finalStateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timeEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass protocolTransitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass associationClassEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum visibilityKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum callConcurrencyKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum transitionKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum pseudostateKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum aggregationKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum parameterDirectionKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum parameterEffectKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum connectorKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum messageKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum messageSortEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum objectNodeOrderingKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum interactionOperatorKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum expansionKindEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.uml2.uml.UMLPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private UMLPackageImpl() {
+ super(eNS_URI, UMLFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link UMLPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @generated
+ */
+ public static UMLPackage init() {
+ if (isInited)
+ return (UMLPackage) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI);
+
+ // Obtain or create and register package
+ Object registeredUMLPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+ UMLPackageImpl theUMLPackage = registeredUMLPackage instanceof UMLPackageImpl
+ ? (UMLPackageImpl) registeredUMLPackage
+ : new UMLPackageImpl();
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+ TypesPackage.eINSTANCE.eClass();
+
+ // Load packages
+ theUMLPackage.loadPackage();
+
+ // Fix loaded packages
+ theUMLPackage.fixPackageContents();
+
+ // Register package validator
+ EValidator.Registry.INSTANCE.put(theUMLPackage,
+ new EValidator.Descriptor() {
+
+ public EValidator getEValidator() {
+ return UMLValidator.INSTANCE;
+ }
+ });
+
+ // Mark meta-data to indicate it can't be changed
+ theUMLPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(UMLPackage.eNS_URI, theUMLPackage);
+ return theUMLPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActivityContent() {
+ if (activityContentEClass == null) {
+ activityContentEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(0);
+ }
+ return activityContentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivityContent__ContainingActivity() {
+ return getActivityContent().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getComment() {
+ if (commentEClass == null) {
+ commentEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(9);
+ }
+ return commentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getComment_Body() {
+ return (EAttribute) getComment().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComment_AnnotatedElement() {
+ return (EReference) getComment().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getElement() {
+ if (elementEClass == null) {
+ elementEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(8);
+ }
+ return elementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getElement_OwnedElement() {
+ return (EReference) getElement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getElement_Owner() {
+ return (EReference) getElement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getElement_OwnedComment() {
+ return (EReference) getElement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__ValidateNotOwnSelf__DiagnosticChain_Map() {
+ return getElement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__ValidateHasOwner__DiagnosticChain_Map() {
+ return getElement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__Destroy() {
+ return getElement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__HasKeyword__String() {
+ return getElement().getEOperations().get(26);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetKeywords() {
+ return getElement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__AddKeyword__String() {
+ return getElement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__RemoveKeyword__String() {
+ return getElement().getEOperations().get(31);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetNearestPackage() {
+ return getElement().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetModel() {
+ return getElement().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__IsStereotypeApplicable__Stereotype() {
+ return getElement().getEOperations().get(28);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__IsStereotypeRequired__Stereotype() {
+ return getElement().getEOperations().get(30);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__IsStereotypeApplied__Stereotype() {
+ return getElement().getEOperations().get(29);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__ApplyStereotype__Stereotype() {
+ return getElement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__UnapplyStereotype__Stereotype() {
+ return getElement().getEOperations().get(33);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetApplicableStereotypes() {
+ return getElement().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetApplicableStereotype__String() {
+ return getElement().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetStereotypeApplications() {
+ return getElement().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetStereotypeApplication__Stereotype() {
+ return getElement().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetRequiredStereotypes() {
+ return getElement().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetRequiredStereotype__String() {
+ return getElement().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetAppliedStereotypes() {
+ return getElement().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetAppliedStereotype__String() {
+ return getElement().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetAppliedSubstereotypes__Stereotype() {
+ return getElement().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetAppliedSubstereotype__Stereotype_String() {
+ return getElement().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__HasValue__Stereotype_String() {
+ return getElement().getEOperations().get(27);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetValue__Stereotype_String() {
+ return getElement().getEOperations().get(25);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__SetValue__Stereotype_String_Object() {
+ return getElement().getEOperations().get(32);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__CreateEAnnotation__String() {
+ return getElement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetRelationships() {
+ return getElement().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetRelationships__EClass() {
+ return getElement().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetSourceDirectedRelationships() {
+ return getElement().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetSourceDirectedRelationships__EClass() {
+ return getElement().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetTargetDirectedRelationships() {
+ return getElement().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__GetTargetDirectedRelationships__EClass() {
+ return getElement().getEOperations().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__AllOwnedElements() {
+ return getElement().getEOperations().get(34);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement__MustBeOwned() {
+ return getElement().getEOperations().get(35);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDirectedRelationship() {
+ if (directedRelationshipEClass == null) {
+ directedRelationshipEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(20);
+ }
+ return directedRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDirectedRelationship_Source() {
+ return (EReference) getDirectedRelationship().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDirectedRelationship_Target() {
+ return (EReference) getDirectedRelationship().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRelationship() {
+ if (relationshipEClass == null) {
+ relationshipEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(21);
+ }
+ return relationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRelationship_RelatedElement() {
+ return (EReference) getRelationship().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLiteralSpecification() {
+ if (literalSpecificationEClass == null) {
+ literalSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(247);
+ }
+ return literalSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getValueSpecification() {
+ if (valueSpecificationEClass == null) {
+ valueSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(31);
+ }
+ return valueSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getValueSpecification__IsComputable() {
+ return getValueSpecification().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getValueSpecification__IntegerValue() {
+ return getValueSpecification().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getValueSpecification__BooleanValue() {
+ return getValueSpecification().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getValueSpecification__StringValue() {
+ return getValueSpecification().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getValueSpecification__UnlimitedValue() {
+ return getValueSpecification().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getValueSpecification__IsNull() {
+ return getValueSpecification().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getValueSpecification__RealValue() {
+ return getValueSpecification().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTypedElement() {
+ if (typedElementEClass == null) {
+ typedElementEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(28);
+ }
+ return typedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTypedElement_Type() {
+ return (EReference) getTypedElement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNamedElement() {
+ if (namedElementEClass == null) {
+ namedElementEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(7);
+ }
+ return namedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNamedElement_Name() {
+ return (EAttribute) getNamedElement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNamedElement_Visibility() {
+ return (EAttribute) getNamedElement().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNamedElement_QualifiedName() {
+ return (EAttribute) getNamedElement().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNamedElement_ClientDependency() {
+ return (EReference) getNamedElement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNamedElement_Namespace() {
+ return (EReference) getNamedElement().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNamedElement_NameExpression() {
+ return (EReference) getNamedElement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__ValidateHasNoQualifiedName__DiagnosticChain_Map() {
+ return getNamedElement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__ValidateHasQualifiedName__DiagnosticChain_Map() {
+ return getNamedElement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__ValidateVisibilityNeedsOwnership__DiagnosticChain_Map() {
+ return getNamedElement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__CreateDependency__NamedElement() {
+ return getNamedElement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__GetLabel() {
+ return getNamedElement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__GetLabel__boolean() {
+ return getNamedElement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__CreateUsage__NamedElement() {
+ return getNamedElement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__AllNamespaces() {
+ return getNamedElement().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__IsDistinguishableFrom__NamedElement_Namespace() {
+ return getNamedElement().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__GetNamespace() {
+ return getNamedElement().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__GetQualifiedName() {
+ return getNamedElement().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__Separator() {
+ return getNamedElement().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__GetClientDependencies() {
+ return getNamedElement().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamedElement__AllOwningPackages() {
+ return getNamedElement().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDependency() {
+ if (dependencyEClass == null) {
+ dependencyEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(35);
+ }
+ return dependencyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependency_Supplier() {
+ return (EReference) getDependency().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependency_Client() {
+ return (EReference) getDependency().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPackageableElement() {
+ if (packageableElementEClass == null) {
+ packageableElementEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(14);
+ }
+ return packageableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackageableElement__ValidateNamespaceNeedsVisibility__DiagnosticChain_Map() {
+ return getPackageableElement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParameterableElement() {
+ if (parameterableElementEClass == null) {
+ parameterableElementEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(15);
+ }
+ return parameterableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParameterableElement_TemplateParameter() {
+ return (EReference) getParameterableElement().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameterableElement__IsCompatibleWith__ParameterableElement() {
+ return getParameterableElement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameterableElement__IsTemplateParameter() {
+ return getParameterableElement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParameterableElement_OwningTemplateParameter() {
+ return (EReference) getParameterableElement().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTemplateParameter() {
+ if (templateParameterEClass == null) {
+ templateParameterEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(16);
+ }
+ return templateParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateParameter_Signature() {
+ return (EReference) getTemplateParameter().getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateParameter_OwnedParameteredElement() {
+ return (EReference) getTemplateParameter().getEStructuralFeatures()
+ .get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateParameter_Default() {
+ return (EReference) getTemplateParameter().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateParameter_OwnedDefault() {
+ return (EReference) getTemplateParameter().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTemplateParameter__ValidateMustBeCompatible__DiagnosticChain_Map() {
+ return getTemplateParameter().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateParameter_ParameteredElement() {
+ return (EReference) getTemplateParameter().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTemplateSignature() {
+ if (templateSignatureEClass == null) {
+ templateSignatureEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(17);
+ }
+ return templateSignatureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateSignature_Parameter() {
+ return (EReference) getTemplateSignature().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateSignature_Template() {
+ return (EReference) getTemplateSignature().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTemplateSignature__ValidateOwnElements__DiagnosticChain_Map() {
+ return getTemplateSignature().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTemplateSignature__ValidateUniqueParameters__DiagnosticChain_Map() {
+ return getTemplateSignature().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateSignature_OwnedParameter() {
+ return (EReference) getTemplateSignature().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTemplateableElement() {
+ if (templateableElementEClass == null) {
+ templateableElementEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(18);
+ }
+ return templateableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateableElement_TemplateBinding() {
+ return (EReference) getTemplateableElement().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateableElement_OwnedTemplateSignature() {
+ return (EReference) getTemplateableElement().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTemplateableElement__ParameterableElements() {
+ return getTemplateableElement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTemplateableElement__IsTemplate() {
+ return getTemplateableElement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTemplateBinding() {
+ if (templateBindingEClass == null) {
+ templateBindingEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(19);
+ }
+ return templateBindingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateBinding_Signature() {
+ return (EReference) getTemplateBinding().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateBinding_ParameterSubstitution() {
+ return (EReference) getTemplateBinding().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateBinding_BoundElement() {
+ return (EReference) getTemplateBinding().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTemplateBinding__ValidateParameterSubstitutionFormal__DiagnosticChain_Map() {
+ return getTemplateBinding().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTemplateBinding__ValidateOneParameterSubstitution__DiagnosticChain_Map() {
+ return getTemplateBinding().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTemplateParameterSubstitution() {
+ if (templateParameterSubstitutionEClass == null) {
+ templateParameterSubstitutionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(22);
+ }
+ return templateParameterSubstitutionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateParameterSubstitution_Formal() {
+ return (EReference) getTemplateParameterSubstitution()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateParameterSubstitution_Actual() {
+ return (EReference) getTemplateParameterSubstitution()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateParameterSubstitution_OwnedActual() {
+ return (EReference) getTemplateParameterSubstitution()
+ .getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateParameterSubstitution_TemplateBinding() {
+ return (EReference) getTemplateParameterSubstitution()
+ .getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTemplateParameterSubstitution__ValidateMustBeCompatible__DiagnosticChain_Map() {
+ return getTemplateParameterSubstitution().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNamespace() {
+ if (namespaceEClass == null) {
+ namespaceEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(6);
+ }
+ return namespaceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNamespace_ElementImport() {
+ return (EReference) getNamespace().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNamespace_PackageImport() {
+ return (EReference) getNamespace().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNamespace_OwnedRule() {
+ return (EReference) getNamespace().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNamespace_Member() {
+ return (EReference) getNamespace().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNamespace_ImportedMember() {
+ return (EReference) getNamespace().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNamespace_OwnedMember() {
+ return (EReference) getNamespace().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamespace__ValidateMembersDistinguishable__DiagnosticChain_Map() {
+ return getNamespace().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamespace__ValidateCannotImportSelf__DiagnosticChain_Map() {
+ return getNamespace().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamespace__ValidateCannotImportOwnedMembers__DiagnosticChain_Map() {
+ return getNamespace().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamespace__CreateElementImport__PackageableElement_VisibilityKind() {
+ return getNamespace().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamespace__CreatePackageImport__Package_VisibilityKind() {
+ return getNamespace().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamespace__GetImportedElements() {
+ return getNamespace().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamespace__GetImportedPackages() {
+ return getNamespace().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamespace__GetNamesOfMember__NamedElement() {
+ return getNamespace().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamespace__MembersAreDistinguishable() {
+ return getNamespace().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamespace__GetOwnedMembers() {
+ return getNamespace().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamespace__ImportMembers__EList() {
+ return getNamespace().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamespace__GetImportedMembers() {
+ return getNamespace().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNamespace__ExcludeCollisions__EList() {
+ return getNamespace().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getElementImport() {
+ if (elementImportEClass == null) {
+ elementImportEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(80);
+ }
+ return elementImportEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getElementImport_Visibility() {
+ return (EAttribute) getElementImport().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getElementImport_Alias() {
+ return (EAttribute) getElementImport().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getElementImport_ImportedElement() {
+ return (EReference) getElementImport().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getElementImport_ImportingNamespace() {
+ return (EReference) getElementImport().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElementImport__ValidateVisibilityPublicOrPrivate__DiagnosticChain_Map() {
+ return getElementImport().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElementImport__ValidateImportedElementIsPublic__DiagnosticChain_Map() {
+ return getElementImport().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElementImport__GetName() {
+ return getElementImport().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPackageImport() {
+ if (packageImportEClass == null) {
+ packageImportEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(81);
+ }
+ return packageImportEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPackageImport_Visibility() {
+ return (EAttribute) getPackageImport().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackageImport_ImportedPackage() {
+ return (EReference) getPackageImport().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackageImport_ImportingNamespace() {
+ return (EReference) getPackageImport().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackageImport__ValidatePublicOrPrivate__DiagnosticChain_Map() {
+ return getPackageImport().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPackage() {
+ if (packageEClass == null) {
+ packageEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(13);
+ }
+ return packageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPackage_URI() {
+ return (EAttribute) getPackage().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackage_PackageMerge() {
+ return (EReference) getPackage().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackage_PackagedElement() {
+ return (EReference) getPackage().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackage_OwnedType() {
+ return (EReference) getPackage().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackage_NestedPackage() {
+ return (EReference) getPackage().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackage_NestingPackage() {
+ return (EReference) getPackage().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackage_OwnedStereotype() {
+ return (EReference) getPackage().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackage_ProfileApplication() {
+ return (EReference) getPackage().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__ValidateElementsPublicOrPrivate__DiagnosticChain_Map() {
+ return getPackage().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__CreateOwnedClass__String_boolean() {
+ return getPackage().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__CreateOwnedEnumeration__String() {
+ return getPackage().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__CreateOwnedPrimitiveType__String() {
+ return getPackage().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__CreateOwnedStereotype__String_boolean() {
+ return getPackage().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__CreateOwnedInterface__String() {
+ return getPackage().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__IsProfileApplied__Profile() {
+ return getPackage().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__GetOwnedTypes() {
+ return getPackage().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__ApplyProfile__Profile() {
+ return getPackage().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__UnapplyProfile__Profile() {
+ return getPackage().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__ApplyProfiles__EList() {
+ return getPackage().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__AllApplicableStereotypes() {
+ return getPackage().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__ContainingProfile() {
+ return getPackage().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__GetAppliedProfiles() {
+ return getPackage().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__GetAllAppliedProfiles() {
+ return getPackage().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__GetAppliedProfile__String() {
+ return getPackage().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__GetAppliedProfile__String_boolean() {
+ return getPackage().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__GetAllProfileApplications() {
+ return getPackage().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__GetProfileApplication__Profile() {
+ return getPackage().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__GetProfileApplication__Profile_boolean() {
+ return getPackage().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__IsModelLibrary() {
+ return getPackage().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__VisibleMembers() {
+ return getPackage().getEOperations().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__MakesVisible__NamedElement() {
+ return getPackage().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__GetNestedPackages() {
+ return getPackage().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPackage__GetOwnedStereotypes() {
+ return getPackage().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPackageMerge() {
+ if (packageMergeEClass == null) {
+ packageMergeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(73);
+ }
+ return packageMergeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackageMerge_MergedPackage() {
+ return (EReference) getPackageMerge().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackageMerge_ReceivingPackage() {
+ return (EReference) getPackageMerge().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getType() {
+ if (typeEClass == null) {
+ typeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(24);
+ }
+ return typeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getType_Package() {
+ return (EReference) getType().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getType__CreateAssociation__boolean_AggregationKind_String_int_int_Type_boolean_AggregationKind_String_int_int() {
+ return getType().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getType__GetAssociations() {
+ return getType().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getType__ConformsTo__Type() {
+ return getType().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProfileApplication() {
+ if (profileApplicationEClass == null) {
+ profileApplicationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(74);
+ }
+ return profileApplicationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfileApplication_AppliedProfile() {
+ return (EReference) getProfileApplication().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProfileApplication_IsStrict() {
+ return (EAttribute) getProfileApplication().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfileApplication_ApplyingPackage() {
+ return (EReference) getProfileApplication().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProfileApplication__GetAppliedDefinition() {
+ return getProfileApplication().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProfileApplication__GetAppliedDefinition__NamedElement() {
+ return getProfileApplication().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProfile() {
+ if (profileEClass == null) {
+ profileEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(12);
+ }
+ return profileEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfile_MetaclassReference() {
+ return (EReference) getProfile().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfile_MetamodelReference() {
+ return (EReference) getProfile().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProfile__ValidateMetaclassReferenceNotSpecialized__DiagnosticChain_Map() {
+ return getProfile().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProfile__ValidateReferencesSameMetamodel__DiagnosticChain_Map() {
+ return getProfile().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProfile__Create__Classifier() {
+ return getProfile().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProfile__IsDefined() {
+ return getProfile().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProfile__Define() {
+ return getProfile().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProfile__Define__Map_DiagnosticChain_Map() {
+ return getProfile().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProfile__GetDefinition() {
+ return getProfile().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProfile__GetDefinition__NamedElement() {
+ return getProfile().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProfile__GetReferencedMetaclasses() {
+ return getProfile().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProfile__GetReferencedMetamodels() {
+ return getProfile().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProfile__GetOwnedExtensions__boolean() {
+ return getProfile().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStereotype() {
+ if (stereotypeEClass == null) {
+ stereotypeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(10);
+ }
+ return stereotypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStereotype_Icon() {
+ return (EReference) getStereotype().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStereotype_Profile() {
+ return (EReference) getStereotype().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__ValidateBinaryAssociationsOnly__DiagnosticChain_Map() {
+ return getStereotype().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__ValidateNameNotClash__DiagnosticChain_Map() {
+ return getStereotype().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__ValidateAssociationEndOwnership__DiagnosticChain_Map() {
+ return getStereotype().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__ValidateBasePropertyUpperBound__DiagnosticChain_Map() {
+ return getStereotype().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__ValidateBasePropertyMultiplicitySingleExtension__DiagnosticChain_Map() {
+ return getStereotype().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__ValidateBasePropertyMultiplicityMultipleExtension__DiagnosticChain_Map() {
+ return getStereotype().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__ValidateGeneralize__DiagnosticChain_Map() {
+ return getStereotype().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__CreateExtension__Class_boolean() {
+ return getStereotype().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__GetKeyword() {
+ return getStereotype().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__GetKeyword__boolean() {
+ return getStereotype().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__ContainingProfile() {
+ return getStereotype().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__GetProfile() {
+ return getStereotype().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__GetExtendedMetaclasses() {
+ return getStereotype().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__GetAllExtendedMetaclasses() {
+ return getStereotype().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__GetDefinition() {
+ return getStereotype().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__CreateIcon__String() {
+ return getStereotype().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStereotype__CreateIcon__String_String() {
+ return getStereotype().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClass_() {
+ if (classEClass == null) {
+ classEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(3);
+ }
+ return classEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClass_OwnedOperation() {
+ return (EReference) getClass_().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClass_NestedClassifier() {
+ return (EReference) getClass_().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClass_SuperClass() {
+ return (EReference) getClass_().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getClass_IsActive() {
+ return (EAttribute) getClass_().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClass_OwnedReception() {
+ return (EReference) getClass_().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClass_Extension() {
+ return (EReference) getClass_().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClass__ValidatePassiveClass__DiagnosticChain_Map() {
+ return getClass_().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClass__GetExtensions() {
+ return getClass_().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClass__GetSuperClasses() {
+ return getClass_().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClass__CreateOwnedOperation__String_EList_EList_Type() {
+ return getClass_().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClass__IsMetaclass() {
+ return getClass_().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBehavioredClassifier() {
+ if (behavioredClassifierEClass == null) {
+ behavioredClassifierEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(4);
+ }
+ return behavioredClassifierEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavioredClassifier_OwnedBehavior() {
+ return (EReference) getBehavioredClassifier().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavioredClassifier_ClassifierBehavior() {
+ return (EReference) getBehavioredClassifier().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavioredClassifier_InterfaceRealization() {
+ return (EReference) getBehavioredClassifier().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavioredClassifier__ValidateClassBehavior__DiagnosticChain_Map() {
+ return getBehavioredClassifier().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavioredClassifier__GetImplementedInterfaces() {
+ return getBehavioredClassifier().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavioredClassifier__GetAllImplementedInterfaces() {
+ return getBehavioredClassifier().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClassifier() {
+ if (classifierEClass == null) {
+ classifierEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(5);
+ }
+ return classifierEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getClassifier_IsAbstract() {
+ return (EAttribute) getClassifier().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getClassifier_IsFinalSpecialization() {
+ return (EAttribute) getClassifier().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifier_Generalization() {
+ return (EReference) getClassifier().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifier_PowertypeExtent() {
+ return (EReference) getClassifier().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifier_Feature() {
+ return (EReference) getClassifier().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifier_InheritedMember() {
+ return (EReference) getClassifier().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifier_RedefinedClassifier() {
+ return (EReference) getClassifier().getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifier_General() {
+ return (EReference) getClassifier().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifier_OwnedUseCase() {
+ return (EReference) getClassifier().getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifier_UseCase() {
+ return (EReference) getClassifier().getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__ValidateNoCyclesInGeneralization__DiagnosticChain_Map() {
+ return getClassifier().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__ValidateSpecializeType__DiagnosticChain_Map() {
+ return getClassifier().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__ValidateMapsToGeneralizationSet__DiagnosticChain_Map() {
+ return getClassifier().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__ValidateNonFinalParents__DiagnosticChain_Map() {
+ return getClassifier().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__GetAllAttributes() {
+ return getClassifier().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__GetOperations() {
+ return getClassifier().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__GetAllOperations() {
+ return getClassifier().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__GetOperation__String_EList_EList() {
+ return getClassifier().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__GetOperation__String_EList_EList_boolean() {
+ return getClassifier().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__GetUsedInterfaces() {
+ return getClassifier().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__GetAllUsedInterfaces() {
+ return getClassifier().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__AllFeatures() {
+ return getClassifier().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__Parents() {
+ return getClassifier().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__DirectlyRealizedInterfaces() {
+ return getClassifier().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__DirectlyUsedInterfaces() {
+ return getClassifier().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__AllRealizedInterfaces() {
+ return getClassifier().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__AllUsedInterfaces() {
+ return getClassifier().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__IsSubstitutableFor__Classifier() {
+ return getClassifier().getEOperations().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__AllAttributes() {
+ return getClassifier().getEOperations().get(25);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__AllSlottableFeatures() {
+ return getClassifier().getEOperations().get(26);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__InheritableMembers__Classifier() {
+ return getClassifier().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__GetInheritedMembers() {
+ return getClassifier().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__HasVisibilityOf__NamedElement() {
+ return getClassifier().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__GetGenerals() {
+ return getClassifier().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__Inherit__EList() {
+ return getClassifier().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__MaySpecializeType__Classifier() {
+ return getClassifier().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifier__AllParents() {
+ return getClassifier().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifier_Substitution() {
+ return (EReference) getClassifier().getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifier_Attribute() {
+ return (EReference) getClassifier().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifier_Representation() {
+ return (EReference) getClassifier().getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifier_CollaborationUse() {
+ return (EReference) getClassifier().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRedefinableElement() {
+ if (redefinableElementEClass == null) {
+ redefinableElementEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(48);
+ }
+ return redefinableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRedefinableElement_IsLeaf() {
+ return (EAttribute) getRedefinableElement().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRedefinableElement_RedefinedElement() {
+ return (EReference) getRedefinableElement().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRedefinableElement_RedefinitionContext() {
+ return (EReference) getRedefinableElement().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRedefinableElement__ValidateRedefinitionContextValid__DiagnosticChain_Map() {
+ return getRedefinableElement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRedefinableElement__ValidateRedefinitionConsistent__DiagnosticChain_Map() {
+ return getRedefinableElement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRedefinableElement__ValidateNonLeafRedefinition__DiagnosticChain_Map() {
+ return getRedefinableElement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRedefinableElement__IsConsistentWith__RedefinableElement() {
+ return getRedefinableElement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRedefinableElement__IsRedefinitionContextValid__RedefinableElement() {
+ return getRedefinableElement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGeneralization() {
+ if (generalizationEClass == null) {
+ generalizationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(93);
+ }
+ return generalizationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGeneralization_IsSubstitutable() {
+ return (EAttribute) getGeneralization().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGeneralization_General() {
+ return (EReference) getGeneralization().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGeneralization_GeneralizationSet() {
+ return (EReference) getGeneralization().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGeneralization_Specific() {
+ return (EReference) getGeneralization().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGeneralizationSet() {
+ if (generalizationSetEClass == null) {
+ generalizationSetEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(94);
+ }
+ return generalizationSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGeneralizationSet_IsCovering() {
+ return (EAttribute) getGeneralizationSet().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGeneralizationSet_IsDisjoint() {
+ return (EAttribute) getGeneralizationSet().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGeneralizationSet_Powertype() {
+ return (EReference) getGeneralizationSet().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGeneralizationSet_Generalization() {
+ return (EReference) getGeneralizationSet().getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGeneralizationSet__ValidateGeneralizationSameClassifier__DiagnosticChain_Map() {
+ return getGeneralizationSet().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGeneralizationSet__ValidateMapsToGeneralizationSet__DiagnosticChain_Map() {
+ return getGeneralizationSet().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFeature() {
+ if (featureEClass == null) {
+ featureEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(47);
+ }
+ return featureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFeature_IsStatic() {
+ return (EAttribute) getFeature().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeature_FeaturingClassifier() {
+ return (EReference) getFeature().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUseCase() {
+ if (useCaseEClass == null) {
+ useCaseEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(96);
+ }
+ return useCaseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUseCase_Include() {
+ return (EReference) getUseCase().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUseCase_Extend() {
+ return (EReference) getUseCase().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUseCase_ExtensionPoint() {
+ return (EReference) getUseCase().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUseCase_Subject() {
+ return (EReference) getUseCase().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getUseCase__ValidateMustHaveName__DiagnosticChain_Map() {
+ return getUseCase().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getUseCase__ValidateBinaryAssociations__DiagnosticChain_Map() {
+ return getUseCase().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getUseCase__ValidateNoAssociationToUseCase__DiagnosticChain_Map() {
+ return getUseCase().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getUseCase__ValidateCannotIncludeSelf__DiagnosticChain_Map() {
+ return getUseCase().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getUseCase__AllIncludedUseCases() {
+ return getUseCase().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInclude() {
+ if (includeEClass == null) {
+ includeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(99);
+ }
+ return includeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInclude_Addition() {
+ return (EReference) getInclude().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInclude_IncludingCase() {
+ return (EReference) getInclude().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtend() {
+ if (extendEClass == null) {
+ extendEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(97);
+ }
+ return extendEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtend_ExtendedCase() {
+ return (EReference) getExtend().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtend_Condition() {
+ return (EReference) getExtend().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtend_ExtensionLocation() {
+ return (EReference) getExtend().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtend_Extension() {
+ return (EReference) getExtend().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExtend__ValidateExtensionPoints__DiagnosticChain_Map() {
+ return getExtend().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConstraint() {
+ if (constraintEClass == null) {
+ constraintEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(51);
+ }
+ return constraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConstraint_ConstrainedElement() {
+ return (EReference) getConstraint().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConstraint_Specification() {
+ return (EReference) getConstraint().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConstraint_Context() {
+ return (EReference) getConstraint().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConstraint__ValidateNotApplyToSelf__DiagnosticChain_Map() {
+ return getConstraint().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConstraint__ValidateBooleanValue__DiagnosticChain_Map() {
+ return getConstraint().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConstraint__ValidateNoSideEffects__DiagnosticChain_Map() {
+ return getConstraint().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtensionPoint() {
+ if (extensionPointEClass == null) {
+ extensionPointEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(98);
+ }
+ return extensionPointEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtensionPoint_UseCase() {
+ return (EReference) getExtensionPoint().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExtensionPoint__ValidateMustHaveName__DiagnosticChain_Map() {
+ return getExtensionPoint().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSubstitution() {
+ if (substitutionEClass == null) {
+ substitutionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(100);
+ }
+ return substitutionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSubstitution_Contract() {
+ return (EReference) getSubstitution().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSubstitution_SubstitutingClassifier() {
+ return (EReference) getSubstitution().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRealization() {
+ if (realizationEClass == null) {
+ realizationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(101);
+ }
+ return realizationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAbstraction() {
+ if (abstractionEClass == null) {
+ abstractionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(40);
+ }
+ return abstractionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAbstraction_Mapping() {
+ return (EReference) getAbstraction().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpaqueExpression() {
+ if (opaqueExpressionEClass == null) {
+ opaqueExpressionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(41);
+ }
+ return opaqueExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpaqueExpression_Body() {
+ return (EAttribute) getOpaqueExpression().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpaqueExpression_Language() {
+ return (EAttribute) getOpaqueExpression().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpaqueExpression_Result() {
+ return (EReference) getOpaqueExpression().getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpaqueExpression_Behavior() {
+ return (EReference) getOpaqueExpression().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpaqueExpression__ValidateLanguageBodySize__DiagnosticChain_Map() {
+ return getOpaqueExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpaqueExpression__ValidateOnlyReturnResultParameters__DiagnosticChain_Map() {
+ return getOpaqueExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpaqueExpression__ValidateOneReturnResultParameter__DiagnosticChain_Map() {
+ return getOpaqueExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpaqueExpression__GetResult() {
+ return getOpaqueExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpaqueExpression__Value() {
+ return getOpaqueExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpaqueExpression__IsIntegral() {
+ return getOpaqueExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpaqueExpression__IsPositive() {
+ return getOpaqueExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpaqueExpression__IsNonNegative() {
+ return getOpaqueExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParameter() {
+ if (parameterEClass == null) {
+ parameterEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(42);
+ }
+ return parameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParameter_ParameterSet() {
+ return (EReference) getParameter().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParameter_Operation() {
+ return (EReference) getParameter().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getParameter_Direction() {
+ return (EAttribute) getParameter().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getParameter_Default() {
+ return (EAttribute) getParameter().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParameter_DefaultValue() {
+ return (EReference) getParameter().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getParameter_IsException() {
+ return (EAttribute) getParameter().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getParameter_IsStream() {
+ return (EAttribute) getParameter().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getParameter_Effect() {
+ return (EAttribute) getParameter().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__ValidateConnectorEnd__DiagnosticChain_Map() {
+ return getParameter().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__ValidateStreamAndException__DiagnosticChain_Map() {
+ return getParameter().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__ValidateObjectEffect__DiagnosticChain_Map() {
+ return getParameter().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__ValidateNotException__DiagnosticChain_Map() {
+ return getParameter().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__ValidateReentrantBehaviors__DiagnosticChain_Map() {
+ return getParameter().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__ValidateInAndOut__DiagnosticChain_Map() {
+ return getParameter().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__GetDefault() {
+ return getParameter().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__IsSetDefault() {
+ return getParameter().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__SetDefault__String() {
+ return getParameter().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__UnsetDefault() {
+ return getParameter().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__SetBooleanDefaultValue__boolean() {
+ return getParameter().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__SetIntegerDefaultValue__int() {
+ return getParameter().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__SetStringDefaultValue__String() {
+ return getParameter().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__SetUnlimitedNaturalDefaultValue__int() {
+ return getParameter().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__SetNullDefaultValue() {
+ return getParameter().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameter__SetRealDefaultValue__double() {
+ return getParameter().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMultiplicityElement() {
+ if (multiplicityElementEClass == null) {
+ multiplicityElementEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(30);
+ }
+ return multiplicityElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMultiplicityElement_IsOrdered() {
+ return (EAttribute) getMultiplicityElement().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMultiplicityElement_IsUnique() {
+ return (EAttribute) getMultiplicityElement().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMultiplicityElement_Upper() {
+ return (EAttribute) getMultiplicityElement().getEStructuralFeatures()
+ .get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMultiplicityElement_Lower() {
+ return (EAttribute) getMultiplicityElement().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiplicityElement_UpperValue() {
+ return (EReference) getMultiplicityElement().getEStructuralFeatures()
+ .get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiplicityElement_LowerValue() {
+ return (EReference) getMultiplicityElement().getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__ValidateLowerGe0__DiagnosticChain_Map() {
+ return getMultiplicityElement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__ValidateUpperGeLower__DiagnosticChain_Map() {
+ return getMultiplicityElement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__ValidateValueSpecificationNoSideEffects__DiagnosticChain_Map() {
+ return getMultiplicityElement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__ValidateValueSpecificationConstant__DiagnosticChain_Map() {
+ return getMultiplicityElement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__ValidateLowerIsInteger__DiagnosticChain_Map() {
+ return getMultiplicityElement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__ValidateUpperIsUnlimitedNatural__DiagnosticChain_Map() {
+ return getMultiplicityElement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__SetLower__int() {
+ return getMultiplicityElement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__SetUpper__int() {
+ return getMultiplicityElement().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__IsMultivalued() {
+ return getMultiplicityElement().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__GetLower() {
+ return getMultiplicityElement().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__IncludesMultiplicity__MultiplicityElement() {
+ return getMultiplicityElement().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__LowerBound() {
+ return getMultiplicityElement().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__GetUpper() {
+ return getMultiplicityElement().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__UpperBound() {
+ return getMultiplicityElement().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__CompatibleWith__MultiplicityElement() {
+ return getMultiplicityElement().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiplicityElement__Is__int_int() {
+ return getMultiplicityElement().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConnectableElement() {
+ if (connectableElementEClass == null) {
+ connectableElementEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(27);
+ }
+ return connectableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConnectableElement_End() {
+ return (EReference) getConnectableElement().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConnectableElement__GetEnds() {
+ return getConnectableElement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConnectorEnd() {
+ if (connectorEndEClass == null) {
+ connectorEndEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(29);
+ }
+ return connectorEndEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConnectorEnd_DefiningEnd() {
+ return (EReference) getConnectorEnd().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConnectorEnd_PartWithPort() {
+ return (EReference) getConnectorEnd().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConnectorEnd__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getConnectorEnd().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConnectorEnd__ValidatePartWithPortEmpty__DiagnosticChain_Map() {
+ return getConnectorEnd().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConnectorEnd__ValidateRoleAndPartWithPort__DiagnosticChain_Map() {
+ return getConnectorEnd().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConnectorEnd__ValidateSelfPartWithPort__DiagnosticChain_Map() {
+ return getConnectorEnd().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConnectorEnd__GetDefiningEnd() {
+ return getConnectorEnd().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConnectorEnd_Role() {
+ return (EReference) getConnectorEnd().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProperty() {
+ if (propertyEClass == null) {
+ propertyEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(26);
+ }
+ return propertyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProperty_Class() {
+ return (EReference) getProperty().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProperty_Datatype() {
+ return (EReference) getProperty().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProperty_Interface() {
+ return (EReference) getProperty().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProperty_Default() {
+ return (EAttribute) getProperty().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProperty_IsDerived() {
+ return (EAttribute) getProperty().getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProperty_IsDerivedUnion() {
+ return (EAttribute) getProperty().getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProperty_IsID() {
+ return (EAttribute) getProperty().getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProperty_Aggregation() {
+ return (EAttribute) getProperty().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProperty_IsComposite() {
+ return (EAttribute) getProperty().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProperty_RedefinedProperty() {
+ return (EReference) getProperty().getEStructuralFeatures().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProperty_OwningAssociation() {
+ return (EReference) getProperty().getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProperty_Association() {
+ return (EReference) getProperty().getEStructuralFeatures().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProperty_DefaultValue() {
+ return (EReference) getProperty().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProperty_Opposite() {
+ return (EReference) getProperty().getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProperty_SubsettedProperty() {
+ return (EReference) getProperty().getEStructuralFeatures().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProperty_Qualifier() {
+ return (EReference) getProperty().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProperty_AssociationEnd() {
+ return (EReference) getProperty().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__ValidateMultiplicityOfComposite__DiagnosticChain_Map() {
+ return getProperty().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__ValidateSubsettingContextConforms__DiagnosticChain_Map() {
+ return getProperty().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__ValidateRedefinedPropertyInherited__DiagnosticChain_Map() {
+ return getProperty().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__ValidateSubsettingRules__DiagnosticChain_Map() {
+ return getProperty().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__ValidateDerivedUnionIsDerived__DiagnosticChain_Map() {
+ return getProperty().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__ValidateDerivedUnionIsReadOnly__DiagnosticChain_Map() {
+ return getProperty().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__ValidateSubsettedPropertyNames__DiagnosticChain_Map() {
+ return getProperty().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__ValidateTypeOfOppositeEnd__DiagnosticChain_Map() {
+ return getProperty().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__ValidateQualifiedIsAssociationEnd__DiagnosticChain_Map() {
+ return getProperty().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__ValidateDeploymentTarget__DiagnosticChain_Map() {
+ return getProperty().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__ValidateBindingToAttribute__DiagnosticChain_Map() {
+ return getProperty().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__GetDefault() {
+ return getProperty().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__SetDefault__String() {
+ return getProperty().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__SetIsComposite__boolean() {
+ return getProperty().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__SetOpposite__Property() {
+ return getProperty().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__SetRealDefaultValue__double() {
+ return getProperty().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__IsAttribute() {
+ return getProperty().getEOperations().get(25);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__SetIsNavigable__boolean() {
+ return getProperty().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__GetOtherEnd() {
+ return getProperty().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__IsSetDefault() {
+ return getProperty().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__SetBooleanDefaultValue__boolean() {
+ return getProperty().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__SetIntegerDefaultValue__int() {
+ return getProperty().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__SetStringDefaultValue__String() {
+ return getProperty().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__SetUnlimitedNaturalDefaultValue__int() {
+ return getProperty().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__UnsetDefault() {
+ return getProperty().getEOperations().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__SetNullDefaultValue() {
+ return getProperty().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__IsComposite() {
+ return getProperty().getEOperations().get(26);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__SubsettingContext() {
+ return getProperty().getEOperations().get(29);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__IsNavigable() {
+ return getProperty().getEOperations().get(27);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProperty__GetOpposite() {
+ return getProperty().getEOperations().get(28);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDeploymentTarget() {
+ if (deploymentTargetEClass == null) {
+ deploymentTargetEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(33);
+ }
+ return deploymentTargetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeploymentTarget_Deployment() {
+ return (EReference) getDeploymentTarget().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDeploymentTarget__GetDeployedElements() {
+ return getDeploymentTarget().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeploymentTarget_DeployedElement() {
+ return (EReference) getDeploymentTarget().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDeployment() {
+ if (deploymentEClass == null) {
+ deploymentEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(34);
+ }
+ return deploymentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeployment_DeployedArtifact() {
+ return (EReference) getDeployment().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeployment_Configuration() {
+ return (EReference) getDeployment().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeployment_Location() {
+ return (EReference) getDeployment().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDeployedArtifact() {
+ if (deployedArtifactEClass == null) {
+ deployedArtifactEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(38);
+ }
+ return deployedArtifactEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDeploymentSpecification() {
+ if (deploymentSpecificationEClass == null) {
+ deploymentSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(36);
+ }
+ return deploymentSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeploymentSpecification_DeploymentLocation() {
+ return (EAttribute) getDeploymentSpecification()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeploymentSpecification_ExecutionLocation() {
+ return (EAttribute) getDeploymentSpecification()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeploymentSpecification_Deployment() {
+ return (EReference) getDeploymentSpecification()
+ .getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDeploymentSpecification__ValidateDeployedElements__DiagnosticChain_Map() {
+ return getDeploymentSpecification().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDeploymentSpecification__ValidateDeploymentTarget__DiagnosticChain_Map() {
+ return getDeploymentSpecification().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getArtifact() {
+ if (artifactEClass == null) {
+ artifactEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(37);
+ }
+ return artifactEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getArtifact_FileName() {
+ return (EAttribute) getArtifact().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getArtifact_NestedArtifact() {
+ return (EReference) getArtifact().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getArtifact_Manifestation() {
+ return (EReference) getArtifact().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getArtifact_OwnedOperation() {
+ return (EReference) getArtifact().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getArtifact_OwnedAttribute() {
+ return (EReference) getArtifact().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getArtifact__CreateOwnedOperation__String_EList_EList_Type() {
+ return getArtifact().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getArtifact__CreateOwnedAttribute__String_Type_int_int() {
+ return getArtifact().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getManifestation() {
+ if (manifestationEClass == null) {
+ manifestationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(39);
+ }
+ return manifestationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getManifestation_UtilizedElement() {
+ return (EReference) getManifestation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOperation() {
+ if (operationEClass == null) {
+ operationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(45);
+ }
+ return operationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOperation_IsQuery() {
+ return (EAttribute) getOperation().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOperation_IsOrdered() {
+ return (EAttribute) getOperation().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOperation_IsUnique() {
+ return (EAttribute) getOperation().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOperation_Lower() {
+ return (EAttribute) getOperation().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOperation_Upper() {
+ return (EAttribute) getOperation().getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_Precondition() {
+ return (EReference) getOperation().getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_Postcondition() {
+ return (EReference) getOperation().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_RedefinedOperation() {
+ return (EReference) getOperation().getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_Datatype() {
+ return (EReference) getOperation().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_BodyCondition() {
+ return (EReference) getOperation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_Type() {
+ return (EReference) getOperation().getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__ValidateAtMostOneReturn__DiagnosticChain_Map() {
+ return getOperation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__ValidateOnlyBodyForQuery__DiagnosticChain_Map() {
+ return getOperation().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__GetLower() {
+ return getOperation().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__GetUpper() {
+ return getOperation().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__SetIsOrdered__boolean() {
+ return getOperation().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__SetIsUnique__boolean() {
+ return getOperation().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__SetLower__int() {
+ return getOperation().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__SetType__Type() {
+ return getOperation().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__SetUpper__int() {
+ return getOperation().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__GetReturnResult() {
+ return getOperation().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__IsOrdered() {
+ return getOperation().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__IsUnique() {
+ return getOperation().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__ReturnResult() {
+ return getOperation().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation__GetType() {
+ return getOperation().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_Interface() {
+ return (EReference) getOperation().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_Class() {
+ return (EReference) getOperation().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBehavioralFeature() {
+ if (behavioralFeatureEClass == null) {
+ behavioralFeatureEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(46);
+ }
+ return behavioralFeatureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavioralFeature_OwnedParameter() {
+ return (EReference) getBehavioralFeature().getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBehavioralFeature_IsAbstract() {
+ return (EAttribute) getBehavioralFeature().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavioralFeature_Method() {
+ return (EReference) getBehavioralFeature().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBehavioralFeature_Concurrency() {
+ return (EAttribute) getBehavioralFeature().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavioralFeature_RaisedException() {
+ return (EReference) getBehavioralFeature().getEStructuralFeatures()
+ .get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavioralFeature__ValidateAbstractNoMethod__DiagnosticChain_Map() {
+ return getBehavioralFeature().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavioralFeature_OwnedParameterSet() {
+ return (EReference) getBehavioralFeature().getEStructuralFeatures()
+ .get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavioralFeature__CreateReturnResult__String_Type() {
+ return getBehavioralFeature().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavioralFeature__InputParameters() {
+ return getBehavioralFeature().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavioralFeature__OutputParameters() {
+ return getBehavioralFeature().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBehavior() {
+ if (behaviorEClass == null) {
+ behaviorEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(2);
+ }
+ return behaviorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBehavior_IsReentrant() {
+ return (EAttribute) getBehavior().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavior_RedefinedBehavior() {
+ return (EReference) getBehavior().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavior__ValidateMostOneBehavior__DiagnosticChain_Map() {
+ return getBehavior().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavior_OwnedParameter() {
+ return (EReference) getBehavior().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavior_Context() {
+ return (EReference) getBehavior().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavior_Precondition() {
+ return (EReference) getBehavior().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavior_Postcondition() {
+ return (EReference) getBehavior().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavior_OwnedParameterSet() {
+ return (EReference) getBehavior().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavior_Specification() {
+ return (EReference) getBehavior().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavior__ValidateParametersMatch__DiagnosticChain_Map() {
+ return getBehavior().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavior__ValidateFeatureOfContextClassifier__DiagnosticChain_Map() {
+ return getBehavior().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavior__GetContext() {
+ return getBehavior().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavior__BehavioredClassifier__Element() {
+ return getBehavior().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavior__InputParameters() {
+ return getBehavior().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBehavior__OutputParameters() {
+ return getBehavior().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParameterSet() {
+ if (parameterSetEClass == null) {
+ parameterSetEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(50);
+ }
+ return parameterSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParameterSet_Parameter() {
+ return (EReference) getParameterSet().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParameterSet_Condition() {
+ return (EReference) getParameterSet().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameterSet__ValidateSameParameterizedEntity__DiagnosticChain_Map() {
+ return getParameterSet().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameterSet__ValidateInput__DiagnosticChain_Map() {
+ return getParameterSet().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParameterSet__ValidateTwoParameterSets__DiagnosticChain_Map() {
+ return getParameterSet().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDataType() {
+ if (dataTypeEClass == null) {
+ dataTypeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(52);
+ }
+ return dataTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataType_OwnedAttribute() {
+ return (EReference) getDataType().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataType_OwnedOperation() {
+ return (EReference) getDataType().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataType__CreateOwnedOperation__String_EList_EList_Type() {
+ return getDataType().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataType__CreateOwnedAttribute__String_Type_int_int() {
+ return getDataType().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInterface() {
+ if (interfaceEClass == null) {
+ interfaceEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(53);
+ }
+ return interfaceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterface_OwnedAttribute() {
+ return (EReference) getInterface().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterface_NestedClassifier() {
+ return (EReference) getInterface().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterface_RedefinedInterface() {
+ return (EReference) getInterface().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterface_OwnedReception() {
+ return (EReference) getInterface().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterface_Protocol() {
+ return (EReference) getInterface().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInterface__ValidateVisibility__DiagnosticChain_Map() {
+ return getInterface().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInterface__CreateOwnedOperation__String_EList_EList_Type() {
+ return getInterface().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInterface__CreateOwnedAttribute__String_Type_int_int() {
+ return getInterface().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterface_OwnedOperation() {
+ return (EReference) getInterface().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReception() {
+ if (receptionEClass == null) {
+ receptionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(54);
+ }
+ return receptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReception_Signal() {
+ return (EReference) getReception().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReception__ValidateSameNameAsSignal__DiagnosticChain_Map() {
+ return getReception().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReception__ValidateSameStructureAsSignal__DiagnosticChain_Map() {
+ return getReception().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSignal() {
+ if (signalEClass == null) {
+ signalEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(55);
+ }
+ return signalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSignal_OwnedAttribute() {
+ return (EReference) getSignal().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getSignal__CreateOwnedAttribute__String_Type_int_int() {
+ return getSignal().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProtocolStateMachine() {
+ if (protocolStateMachineEClass == null) {
+ protocolStateMachineEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(56);
+ }
+ return protocolStateMachineEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProtocolStateMachine_Conformance() {
+ return (EReference) getProtocolStateMachine().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProtocolStateMachine__ValidateProtocolTransitions__DiagnosticChain_Map() {
+ return getProtocolStateMachine().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProtocolStateMachine__ValidateEntryExitDo__DiagnosticChain_Map() {
+ return getProtocolStateMachine().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProtocolStateMachine__ValidateDeepOrShallowHistory__DiagnosticChain_Map() {
+ return getProtocolStateMachine().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStateMachine() {
+ if (stateMachineEClass == null) {
+ stateMachineEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(57);
+ }
+ return stateMachineEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStateMachine_Region() {
+ return (EReference) getStateMachine().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStateMachine_SubmachineState() {
+ return (EReference) getStateMachine().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStateMachine_ConnectionPoint() {
+ return (EReference) getStateMachine().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStateMachine_ExtendedStateMachine() {
+ return (EReference) getStateMachine().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStateMachine__ValidateClassifierContext__DiagnosticChain_Map() {
+ return getStateMachine().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStateMachine__ValidateContextClassifier__DiagnosticChain_Map() {
+ return getStateMachine().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStateMachine__LCA__Vertex_Vertex() {
+ return getStateMachine().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStateMachine__Ancestor__Vertex_Vertex() {
+ return getStateMachine().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStateMachine__LCAState__Vertex_Vertex() {
+ return getStateMachine().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStateMachine__ValidateConnectionPoints__DiagnosticChain_Map() {
+ return getStateMachine().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStateMachine__ValidateMethod__DiagnosticChain_Map() {
+ return getStateMachine().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRegion() {
+ if (regionEClass == null) {
+ regionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(60);
+ }
+ return regionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRegion_Subvertex() {
+ return (EReference) getRegion().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRegion_Transition() {
+ return (EReference) getRegion().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRegion_State() {
+ return (EReference) getRegion().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRegion_ExtendedRegion() {
+ return (EReference) getRegion().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRegion_StateMachine() {
+ return (EReference) getRegion().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRegion__ValidateInitialVertex__DiagnosticChain_Map() {
+ return getRegion().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRegion__ValidateDeepHistoryVertex__DiagnosticChain_Map() {
+ return getRegion().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRegion__ValidateShallowHistoryVertex__DiagnosticChain_Map() {
+ return getRegion().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRegion__ValidateOwned__DiagnosticChain_Map() {
+ return getRegion().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRegion__RedefinitionContext() {
+ return getRegion().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRegion__ContainingStateMachine() {
+ return getRegion().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRegion__BelongsToPSM() {
+ return getRegion().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVertex() {
+ if (vertexEClass == null) {
+ vertexEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(59);
+ }
+ return vertexEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVertex_Outgoing() {
+ return (EReference) getVertex().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVertex_Incoming() {
+ return (EReference) getVertex().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVertex_Container() {
+ return (EReference) getVertex().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getVertex__ContainingStateMachine() {
+ return getVertex().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getVertex__GetIncomings() {
+ return getVertex().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getVertex__GetOutgoings() {
+ return getVertex().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getVertex__IsContainedInState__State() {
+ return getVertex().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getVertex__IsContainedInRegion__Region() {
+ return getVertex().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTransition() {
+ if (transitionEClass == null) {
+ transitionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(66);
+ }
+ return transitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTransition_Kind() {
+ return (EAttribute) getTransition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransition_Container() {
+ return (EReference) getTransition().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTransition__ValidateStateIsExternal__DiagnosticChain_Map() {
+ return getTransition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransition_Target() {
+ return (EReference) getTransition().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransition_RedefinedTransition() {
+ return (EReference) getTransition().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransition_Guard() {
+ return (EReference) getTransition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransition_Effect() {
+ return (EReference) getTransition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransition_Trigger() {
+ return (EReference) getTransition().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTransition__ValidateForkSegmentGuards__DiagnosticChain_Map() {
+ return getTransition().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTransition__ValidateJoinSegmentGuards__DiagnosticChain_Map() {
+ return getTransition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTransition__ValidateStateIsInternal__DiagnosticChain_Map() {
+ return getTransition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTransition__ValidateForkSegmentState__DiagnosticChain_Map() {
+ return getTransition().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTransition__ValidateJoinSegmentState__DiagnosticChain_Map() {
+ return getTransition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTransition__ValidateOutgoingPseudostates__DiagnosticChain_Map() {
+ return getTransition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTransition__ValidateInitialTransition__DiagnosticChain_Map() {
+ return getTransition().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTransition__ValidateStateIsLocal__DiagnosticChain_Map() {
+ return getTransition().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTransition__RedefinitionContext() {
+ return getTransition().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTransition__ContainingStateMachine() {
+ return getTransition().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransition_Source() {
+ return (EReference) getTransition().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTrigger() {
+ if (triggerEClass == null) {
+ triggerEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(63);
+ }
+ return triggerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTrigger_Event() {
+ return (EReference) getTrigger().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTrigger_Port() {
+ return (EReference) getTrigger().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTrigger__ValidateTriggerWithPorts__DiagnosticChain_Map() {
+ return getTrigger().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEvent() {
+ if (eventEClass == null) {
+ eventEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(64);
+ }
+ return eventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPort() {
+ if (portEClass == null) {
+ portEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(65);
+ }
+ return portEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_IsBehavior() {
+ return (EAttribute) getPort().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_IsConjugated() {
+ return (EAttribute) getPort().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPort_IsService() {
+ return (EAttribute) getPort().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPort_Required() {
+ return (EReference) getPort().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPort_RedefinedPort() {
+ return (EReference) getPort().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPort_Provided() {
+ return (EReference) getPort().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPort_Protocol() {
+ return (EReference) getPort().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPort__ValidatePortAggregation__DiagnosticChain_Map() {
+ return getPort().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPort__ValidateDefaultValue__DiagnosticChain_Map() {
+ return getPort().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPort__ValidateEncapsulatedOwner__DiagnosticChain_Map() {
+ return getPort().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPort__GetProvideds() {
+ return getPort().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPort__GetRequireds() {
+ return getPort().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPort__BasicProvided() {
+ return getPort().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPort__BasicRequired() {
+ return getPort().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getState() {
+ if (stateEClass == null) {
+ stateEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(61);
+ }
+ return stateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getState_IsComposite() {
+ return (EAttribute) getState().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getState_IsOrthogonal() {
+ return (EAttribute) getState().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getState_IsSimple() {
+ return (EAttribute) getState().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getState_IsSubmachineState() {
+ return (EAttribute) getState().getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getState_Submachine() {
+ return (EReference) getState().getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getState_Connection() {
+ return (EReference) getState().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getState_ConnectionPoint() {
+ return (EReference) getState().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getState_RedefinedState() {
+ return (EReference) getState().getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getState_StateInvariant() {
+ return (EReference) getState().getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getState_Entry() {
+ return (EReference) getState().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getState_Exit() {
+ return (EReference) getState().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getState_DoActivity() {
+ return (EReference) getState().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getState_DeferrableTrigger() {
+ return (EReference) getState().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getState_Region() {
+ return (EReference) getState().getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getState__ValidateSubmachineStates__DiagnosticChain_Map() {
+ return getState().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getState__ValidateDestinationsOrSourcesOfTransitions__DiagnosticChain_Map() {
+ return getState().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getState__ValidateSubmachineOrRegions__DiagnosticChain_Map() {
+ return getState().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getState__ValidateCompositeStates__DiagnosticChain_Map() {
+ return getState().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getState__ValidateEntryOrExit__DiagnosticChain_Map() {
+ return getState().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getState__IsSimple() {
+ return getState().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getState__IsComposite() {
+ return getState().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getState__IsOrthogonal() {
+ return getState().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getState__IsSubmachineState() {
+ return getState().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getState__RedefinitionContext() {
+ return getState().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConnectionPointReference() {
+ if (connectionPointReferenceEClass == null) {
+ connectionPointReferenceEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(62);
+ }
+ return connectionPointReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConnectionPointReference_Entry() {
+ return (EReference) getConnectionPointReference()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConnectionPointReference_Exit() {
+ return (EReference) getConnectionPointReference()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConnectionPointReference_State() {
+ return (EReference) getConnectionPointReference()
+ .getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConnectionPointReference__ValidateEntryPseudostates__DiagnosticChain_Map() {
+ return getConnectionPointReference().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConnectionPointReference__ValidateExitPseudostates__DiagnosticChain_Map() {
+ return getConnectionPointReference().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPseudostate() {
+ if (pseudostateEClass == null) {
+ pseudostateEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(58);
+ }
+ return pseudostateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPseudostate_Kind() {
+ return (EAttribute) getPseudostate().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPseudostate_StateMachine() {
+ return (EReference) getPseudostate().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPseudostate_State() {
+ return (EReference) getPseudostate().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPseudostate__ValidateInitialVertex__DiagnosticChain_Map() {
+ return getPseudostate().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPseudostate__ValidateHistoryVertices__DiagnosticChain_Map() {
+ return getPseudostate().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPseudostate__ValidateJoinVertex__DiagnosticChain_Map() {
+ return getPseudostate().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPseudostate__ValidateTransitionsIncoming__DiagnosticChain_Map() {
+ return getPseudostate().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPseudostate__ValidateForkVertex__DiagnosticChain_Map() {
+ return getPseudostate().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPseudostate__ValidateTransitionsOutgoing__DiagnosticChain_Map() {
+ return getPseudostate().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPseudostate__ValidateJunctionVertex__DiagnosticChain_Map() {
+ return getPseudostate().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPseudostate__ValidateChoiceVertex__DiagnosticChain_Map() {
+ return getPseudostate().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPseudostate__ValidateOutgoingFromInitial__DiagnosticChain_Map() {
+ return getPseudostate().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProtocolConformance() {
+ if (protocolConformanceEClass == null) {
+ protocolConformanceEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(69);
+ }
+ return protocolConformanceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProtocolConformance_GeneralMachine() {
+ return (EReference) getProtocolConformance().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProtocolConformance_SpecificMachine() {
+ return (EReference) getProtocolConformance().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOperationTemplateParameter() {
+ if (operationTemplateParameterEClass == null) {
+ operationTemplateParameterEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(70);
+ }
+ return operationTemplateParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperationTemplateParameter__ValidateMatchDefaultSignature__DiagnosticChain_Map() {
+ return getOperationTemplateParameter().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStructuralFeature() {
+ if (structuralFeatureEClass == null) {
+ structuralFeatureEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(71);
+ }
+ return structuralFeatureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStructuralFeature_IsReadOnly() {
+ return (EAttribute) getStructuralFeature().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAssociation() {
+ if (associationEClass == null) {
+ associationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(25);
+ }
+ return associationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAssociation_IsDerived() {
+ return (EAttribute) getAssociation().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAssociation_EndType() {
+ return (EReference) getAssociation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAssociation_MemberEnd() {
+ return (EReference) getAssociation().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAssociation_NavigableOwnedEnd() {
+ return (EReference) getAssociation().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAssociation__ValidateSpecializedEndNumber__DiagnosticChain_Map() {
+ return getAssociation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAssociation__ValidateSpecializedEndTypes__DiagnosticChain_Map() {
+ return getAssociation().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAssociation__ValidateBinaryAssociations__DiagnosticChain_Map() {
+ return getAssociation().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAssociation__ValidateAssociationEnds__DiagnosticChain_Map() {
+ return getAssociation().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAssociation__ValidateEndsMustBeTyped__DiagnosticChain_Map() {
+ return getAssociation().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAssociation__IsBinary() {
+ return getAssociation().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAssociation__GetEndTypes() {
+ return getAssociation().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAssociation_OwnedEnd() {
+ return (EReference) getAssociation().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConnectableElementTemplateParameter() {
+ if (connectableElementTemplateParameterEClass == null) {
+ connectableElementTemplateParameterEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(32);
+ }
+ return connectableElementTemplateParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCollaborationUse() {
+ if (collaborationUseEClass == null) {
+ collaborationUseEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(88);
+ }
+ return collaborationUseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCollaborationUse_Type() {
+ return (EReference) getCollaborationUse().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCollaborationUse_RoleBinding() {
+ return (EReference) getCollaborationUse().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCollaborationUse__ValidateClientElements__DiagnosticChain_Map() {
+ return getCollaborationUse().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCollaborationUse__ValidateEveryRole__DiagnosticChain_Map() {
+ return getCollaborationUse().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCollaborationUse__ValidateConnectors__DiagnosticChain_Map() {
+ return getCollaborationUse().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCollaboration() {
+ if (collaborationEClass == null) {
+ collaborationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(89);
+ }
+ return collaborationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCollaboration_CollaborationRole() {
+ return (EReference) getCollaboration().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStructuredClassifier() {
+ if (structuredClassifierEClass == null) {
+ structuredClassifierEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(90);
+ }
+ return structuredClassifierEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStructuredClassifier_OwnedAttribute() {
+ return (EReference) getStructuredClassifier().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStructuredClassifier_Part() {
+ return (EReference) getStructuredClassifier().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStructuredClassifier_Role() {
+ return (EReference) getStructuredClassifier().getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStructuredClassifier_OwnedConnector() {
+ return (EReference) getStructuredClassifier().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStructuredClassifier__CreateOwnedAttribute__String_Type_int_int() {
+ return getStructuredClassifier().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStructuredClassifier__GetParts() {
+ return getStructuredClassifier().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStructuredClassifier__AllRoles() {
+ return getStructuredClassifier().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConnector() {
+ if (connectorEClass == null) {
+ connectorEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(91);
+ }
+ return connectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConnector_Type() {
+ return (EReference) getConnector().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConnector_RedefinedConnector() {
+ return (EReference) getConnector().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConnector_End() {
+ return (EReference) getConnector().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getConnector_Kind() {
+ return (EAttribute) getConnector().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConnector_Contract() {
+ return (EReference) getConnector().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConnector__ValidateTypes__DiagnosticChain_Map() {
+ return getConnector().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConnector__GetKind() {
+ return getConnector().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConnector__ValidateRoles__DiagnosticChain_Map() {
+ return getConnector().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRedefinableTemplateSignature() {
+ if (redefinableTemplateSignatureEClass == null) {
+ redefinableTemplateSignatureEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(95);
+ }
+ return redefinableTemplateSignatureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRedefinableTemplateSignature_ExtendedSignature() {
+ return (EReference) getRedefinableTemplateSignature()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRedefinableTemplateSignature_InheritedParameter() {
+ return (EReference) getRedefinableTemplateSignature()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRedefinableTemplateSignature_Classifier() {
+ return (EReference) getRedefinableTemplateSignature()
+ .getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRedefinableTemplateSignature__ValidateRedefinesParents__DiagnosticChain_Map() {
+ return getRedefinableTemplateSignature().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRedefinableTemplateSignature__GetInheritedParameters() {
+ return getRedefinableTemplateSignature().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClassifierTemplateParameter() {
+ if (classifierTemplateParameterEClass == null) {
+ classifierTemplateParameterEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(102);
+ }
+ return classifierTemplateParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getClassifierTemplateParameter_AllowSubstitutable() {
+ return (EAttribute) getClassifierTemplateParameter()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifierTemplateParameter_ConstrainingClassifier() {
+ return (EReference) getClassifierTemplateParameter()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifierTemplateParameter__ValidateHasConstrainingClassifier__DiagnosticChain_Map() {
+ return getClassifierTemplateParameter().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifierTemplateParameter__ValidateParameteredElementNoFeatures__DiagnosticChain_Map() {
+ return getClassifierTemplateParameter().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifierTemplateParameter__ValidateMatchingAbstract__DiagnosticChain_Map() {
+ return getClassifierTemplateParameter().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifierTemplateParameter__ValidateActualIsClassifier__DiagnosticChain_Map() {
+ return getClassifierTemplateParameter().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifierTemplateParameter__ValidateConstrainingClassifiersConstrainArgs__DiagnosticChain_Map() {
+ return getClassifierTemplateParameter().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClassifierTemplateParameter__ValidateConstrainingClassifiersConstrainParameteredElement__DiagnosticChain_Map() {
+ return getClassifierTemplateParameter().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInterfaceRealization() {
+ if (interfaceRealizationEClass == null) {
+ interfaceRealizationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(103);
+ }
+ return interfaceRealizationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterfaceRealization_Contract() {
+ return (EReference) getInterfaceRealization().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterfaceRealization_ImplementingClassifier() {
+ return (EReference) getInterfaceRealization().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEncapsulatedClassifier() {
+ if (encapsulatedClassifierEClass == null) {
+ encapsulatedClassifierEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(104);
+ }
+ return encapsulatedClassifierEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEncapsulatedClassifier_OwnedPort() {
+ return (EReference) getEncapsulatedClassifier().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getEncapsulatedClassifier__GetOwnedPorts() {
+ return getEncapsulatedClassifier().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtension() {
+ if (extensionEClass == null) {
+ extensionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(82);
+ }
+ return extensionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExtension_IsRequired() {
+ return (EAttribute) getExtension().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtension_Metaclass() {
+ return (EReference) getExtension().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExtension__ValidateNonOwnedEnd__DiagnosticChain_Map() {
+ return getExtension().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExtension__ValidateIsBinary__DiagnosticChain_Map() {
+ return getExtension().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExtension__GetStereotypeEnd() {
+ return getExtension().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExtension__GetStereotype() {
+ return getExtension().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExtension__MetaclassEnd() {
+ return getExtension().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExtension__IsRequired() {
+ return getExtension().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExtension__GetMetaclass() {
+ return getExtension().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtensionEnd() {
+ if (extensionEndEClass == null) {
+ extensionEndEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(83);
+ }
+ return extensionEndEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExtensionEnd__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getExtensionEnd().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExtensionEnd__ValidateAggregation__DiagnosticChain_Map() {
+ return getExtensionEnd().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImage() {
+ if (imageEClass == null) {
+ imageEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(11);
+ }
+ return imageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_Content() {
+ return (EAttribute) getImage().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_Location() {
+ return (EAttribute) getImage().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_Format() {
+ return (EAttribute) getImage().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStringExpression() {
+ if (stringExpressionEClass == null) {
+ stringExpressionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(85);
+ }
+ return stringExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStringExpression_SubExpression() {
+ return (EReference) getStringExpression().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStringExpression_OwningExpression() {
+ return (EReference) getStringExpression().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStringExpression__ValidateOperands__DiagnosticChain_Map() {
+ return getStringExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStringExpression__ValidateSubexpressions__DiagnosticChain_Map() {
+ return getStringExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExpression() {
+ if (expressionEClass == null) {
+ expressionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(86);
+ }
+ return expressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExpression_Symbol() {
+ return (EAttribute) getExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExpression_Operand() {
+ return (EReference) getExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLiteralInteger() {
+ if (literalIntegerEClass == null) {
+ literalIntegerEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(248);
+ }
+ return literalIntegerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLiteralInteger_Value() {
+ return (EAttribute) getLiteralInteger().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLiteralString() {
+ if (literalStringEClass == null) {
+ literalStringEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(251);
+ }
+ return literalStringEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLiteralString_Value() {
+ return (EAttribute) getLiteralString().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLiteralBoolean() {
+ if (literalBooleanEClass == null) {
+ literalBooleanEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(246);
+ }
+ return literalBooleanEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLiteralBoolean_Value() {
+ return (EAttribute) getLiteralBoolean().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLiteralNull() {
+ if (literalNullEClass == null) {
+ literalNullEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(249);
+ }
+ return literalNullEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLiteralReal() {
+ if (literalRealEClass == null) {
+ literalRealEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(250);
+ }
+ return literalRealEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLiteralReal_Value() {
+ return (EAttribute) getLiteralReal().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSlot() {
+ if (slotEClass == null) {
+ slotEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(78);
+ }
+ return slotEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSlot_OwningInstance() {
+ return (EReference) getSlot().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSlot_DefiningFeature() {
+ return (EReference) getSlot().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSlot_Value() {
+ return (EReference) getSlot().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInstanceSpecification() {
+ if (instanceSpecificationEClass == null) {
+ instanceSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(77);
+ }
+ return instanceSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInstanceSpecification_Classifier() {
+ return (EReference) getInstanceSpecification().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInstanceSpecification_Specification() {
+ return (EReference) getInstanceSpecification().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInstanceSpecification__ValidateDefiningFeature__DiagnosticChain_Map() {
+ return getInstanceSpecification().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInstanceSpecification__ValidateStructuralFeature__DiagnosticChain_Map() {
+ return getInstanceSpecification().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInstanceSpecification__ValidateDeploymentTarget__DiagnosticChain_Map() {
+ return getInstanceSpecification().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInstanceSpecification__ValidateDeploymentArtifact__DiagnosticChain_Map() {
+ return getInstanceSpecification().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInstanceSpecification_Slot() {
+ return (EReference) getInstanceSpecification().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEnumeration() {
+ if (enumerationEClass == null) {
+ enumerationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(75);
+ }
+ return enumerationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEnumeration_OwnedLiteral() {
+ return (EReference) getEnumeration().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getEnumeration__ValidateImmutable__DiagnosticChain_Map() {
+ return getEnumeration().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEnumerationLiteral() {
+ if (enumerationLiteralEClass == null) {
+ enumerationLiteralEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(76);
+ }
+ return enumerationLiteralEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEnumerationLiteral_Enumeration() {
+ return (EReference) getEnumerationLiteral().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getEnumerationLiteral__GetClassifiers() {
+ return getEnumerationLiteral().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getEnumerationLiteral__GetClassifier() {
+ return getEnumerationLiteral().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPrimitiveType() {
+ if (primitiveTypeEClass == null) {
+ primitiveTypeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(79);
+ }
+ return primitiveTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInstanceValue() {
+ if (instanceValueEClass == null) {
+ instanceValueEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(192);
+ }
+ return instanceValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInstanceValue_Instance() {
+ return (EReference) getInstanceValue().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLiteralUnlimitedNatural() {
+ if (literalUnlimitedNaturalEClass == null) {
+ literalUnlimitedNaturalEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(252);
+ }
+ return literalUnlimitedNaturalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLiteralUnlimitedNatural_Value() {
+ return (EAttribute) getLiteralUnlimitedNatural()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpaqueBehavior() {
+ if (opaqueBehaviorEClass == null) {
+ opaqueBehaviorEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(198);
+ }
+ return opaqueBehaviorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpaqueBehavior_Body() {
+ return (EAttribute) getOpaqueBehavior().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpaqueBehavior_Language() {
+ return (EAttribute) getOpaqueBehavior().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionBehavior() {
+ if (functionBehaviorEClass == null) {
+ functionBehaviorEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(197);
+ }
+ return functionBehaviorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getFunctionBehavior__ValidateOneOutputParameter__DiagnosticChain_Map() {
+ return getFunctionBehavior().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getFunctionBehavior__ValidateTypesOfParameters__DiagnosticChain_Map() {
+ return getFunctionBehavior().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getFunctionBehavior__HasAllDataTypeAttributes__DataType() {
+ return getFunctionBehavior().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActor() {
+ if (actorEClass == null) {
+ actorEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(239);
+ }
+ return actorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActor__ValidateAssociations__DiagnosticChain_Map() {
+ return getActor().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActor__ValidateMustHaveName__DiagnosticChain_Map() {
+ return getActor().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUsage() {
+ if (usageEClass == null) {
+ usageEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(87);
+ }
+ return usageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMessage() {
+ if (messageEClass == null) {
+ messageEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(208);
+ }
+ return messageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMessage_MessageKind() {
+ return (EAttribute) getMessage().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMessage_MessageSort() {
+ return (EAttribute) getMessage().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessage_ReceiveEvent() {
+ return (EReference) getMessage().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessage_SendEvent() {
+ return (EReference) getMessage().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessage_Connector() {
+ return (EReference) getMessage().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessage_Interaction() {
+ return (EReference) getMessage().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessage_Argument() {
+ return (EReference) getMessage().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessage_Signature() {
+ return (EReference) getMessage().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessage__ValidateSendingReceivingMessageEvent__DiagnosticChain_Map() {
+ return getMessage().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessage__ValidateSignatureReferTo__DiagnosticChain_Map() {
+ return getMessage().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessage__ValidateSignatureIsOperationRequest__DiagnosticChain_Map() {
+ return getMessage().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessage__ValidateSignatureIsOperationReply__DiagnosticChain_Map() {
+ return getMessage().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessage__ValidateSignatureIsSignal__DiagnosticChain_Map() {
+ return getMessage().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessage__ValidateArguments__DiagnosticChain_Map() {
+ return getMessage().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessage__ValidateCannotCrossBoundaries__DiagnosticChain_Map() {
+ return getMessage().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessage__ValidateOccurrenceSpecifications__DiagnosticChain_Map() {
+ return getMessage().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessage__GetMessageKind() {
+ return getMessage().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMessageEnd() {
+ if (messageEndEClass == null) {
+ messageEndEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(215);
+ }
+ return messageEndEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageEnd_Message() {
+ return (EReference) getMessageEnd().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessageEnd__OppositeEnd() {
+ return getMessageEnd().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessageEnd__IsSend() {
+ return getMessageEnd().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessageEnd__IsReceive() {
+ return getMessageEnd().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessageEnd__EnclosingFragment() {
+ return getMessageEnd().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInteraction() {
+ if (interactionEClass == null) {
+ interactionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(209);
+ }
+ return interactionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteraction_Lifeline() {
+ return (EReference) getInteraction().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteraction_Fragment() {
+ return (EReference) getInteraction().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteraction_Action() {
+ return (EReference) getInteraction().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteraction_FormalGate() {
+ return (EReference) getInteraction().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteraction_Message() {
+ return (EReference) getInteraction().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteraction__ValidateNotContained__DiagnosticChain_Map() {
+ return getInteraction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInteractionFragment() {
+ if (interactionFragmentEClass == null) {
+ interactionFragmentEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(210);
+ }
+ return interactionFragmentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionFragment_Covered() {
+ return (EReference) getInteractionFragment().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionFragment_GeneralOrdering() {
+ return (EReference) getInteractionFragment().getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionFragment_EnclosingInteraction() {
+ return (EReference) getInteractionFragment().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionFragment_EnclosingOperand() {
+ return (EReference) getInteractionFragment().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLifeline() {
+ if (lifelineEClass == null) {
+ lifelineEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(211);
+ }
+ return lifelineEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLifeline_Represents() {
+ return (EReference) getLifeline().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLifeline_Interaction() {
+ return (EReference) getLifeline().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLifeline_Selector() {
+ return (EReference) getLifeline().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLifeline_DecomposedAs() {
+ return (EReference) getLifeline().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLifeline_CoveredBy() {
+ return (EReference) getLifeline().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLifeline__ValidateInteractionUsesShareLifeline__DiagnosticChain_Map() {
+ return getLifeline().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLifeline__ValidateSelectorSpecified__DiagnosticChain_Map() {
+ return getLifeline().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLifeline__ValidateSameClassifier__DiagnosticChain_Map() {
+ return getLifeline().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLifeline__ValidateSelectorIntOrString__DiagnosticChain_Map() {
+ return getLifeline().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPartDecomposition() {
+ if (partDecompositionEClass == null) {
+ partDecompositionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(212);
+ }
+ return partDecompositionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPartDecomposition__ValidatePartsOfInternalStructures__DiagnosticChain_Map() {
+ return getPartDecomposition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPartDecomposition__ValidateAssume__DiagnosticChain_Map() {
+ return getPartDecomposition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPartDecomposition__ValidateCommutativityOfDecomposition__DiagnosticChain_Map() {
+ return getPartDecomposition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInteractionUse() {
+ if (interactionUseEClass == null) {
+ interactionUseEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(213);
+ }
+ return interactionUseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionUse_RefersTo() {
+ return (EReference) getInteractionUse().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionUse_ReturnValue() {
+ return (EReference) getInteractionUse().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionUse_ReturnValueRecipient() {
+ return (EReference) getInteractionUse().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionUse_ActualGate() {
+ return (EReference) getInteractionUse().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionUse_Argument() {
+ return (EReference) getInteractionUse().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionUse__ValidateGatesMatch__DiagnosticChain_Map() {
+ return getInteractionUse().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionUse__ValidateAllLifelines__DiagnosticChain_Map() {
+ return getInteractionUse().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionUse__ValidateArgumentsCorrespondToParameters__DiagnosticChain_Map() {
+ return getInteractionUse().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionUse__ValidateReturnValueTypeRecipientCorrespondence__DiagnosticChain_Map() {
+ return getInteractionUse().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionUse__ValidateArgumentsAreConstants__DiagnosticChain_Map() {
+ return getInteractionUse().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionUse__ValidateReturnValueRecipientCoverage__DiagnosticChain_Map() {
+ return getInteractionUse().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGate() {
+ if (gateEClass == null) {
+ gateEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(214);
+ }
+ return gateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__ValidateActualGateMatched__DiagnosticChain_Map() {
+ return getGate().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__ValidateInsideCfMatched__DiagnosticChain_Map() {
+ return getGate().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__ValidateOutsideCfMatched__DiagnosticChain_Map() {
+ return getGate().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__ValidateFormalGateDistinguishable__DiagnosticChain_Map() {
+ return getGate().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__ValidateActualGateDistinguishable__DiagnosticChain_Map() {
+ return getGate().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__ValidateOutsideCfGateDistinguishable__DiagnosticChain_Map() {
+ return getGate().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__ValidateInsideCfGateDistinguishable__DiagnosticChain_Map() {
+ return getGate().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__IsOutsideCF() {
+ return getGate().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__IsInsideCF() {
+ return getGate().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__IsActual() {
+ return getGate().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__IsFormal() {
+ return getGate().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__GetName() {
+ return getGate().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__Matches__Gate() {
+ return getGate().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGate__GetOperand() {
+ return getGate().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAction() {
+ if (actionEClass == null) {
+ actionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(111);
+ }
+ return actionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAction_Output() {
+ return (EReference) getAction().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAction__GetContext() {
+ return getAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAction__AllActions() {
+ return getAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAction__AllOwnedNodes() {
+ return getAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAction__ContainingBehavior() {
+ return getAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAction_Input() {
+ return (EReference) getAction().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAction_IsLocallyReentrant() {
+ return (EAttribute) getAction().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAction_Context() {
+ return (EReference) getAction().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAction_LocalPrecondition() {
+ return (EReference) getAction().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAction_LocalPostcondition() {
+ return (EReference) getAction().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExecutableNode() {
+ if (executableNodeEClass == null) {
+ executableNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(112);
+ }
+ return executableNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExecutableNode_Handler() {
+ return (EReference) getExecutableNode().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActivityNode() {
+ if (activityNodeEClass == null) {
+ activityNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(108);
+ }
+ return activityNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityNode_Outgoing() {
+ return (EReference) getActivityNode().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityNode_InGroup() {
+ return (EReference) getActivityNode().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityNode_InPartition() {
+ return (EReference) getActivityNode().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityNode_InStructuredNode() {
+ return (EReference) getActivityNode().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityNode_Activity() {
+ return (EReference) getActivityNode().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityNode_Incoming() {
+ return (EReference) getActivityNode().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityNode_InInterruptibleRegion() {
+ return (EReference) getActivityNode().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityNode_RedefinedNode() {
+ return (EReference) getActivityNode().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActivityEdge() {
+ if (activityEdgeEClass == null) {
+ activityEdgeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(106);
+ }
+ return activityEdgeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityEdge_Activity() {
+ return (EReference) getActivityEdge().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivityEdge__ValidateSourceAndTarget__DiagnosticChain_Map() {
+ return getActivityEdge().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityEdge_InGroup() {
+ return (EReference) getActivityEdge().getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityEdge_InPartition() {
+ return (EReference) getActivityEdge().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityEdge_InStructuredNode() {
+ return (EReference) getActivityEdge().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityEdge_Target() {
+ return (EReference) getActivityEdge().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityEdge_RedefinedEdge() {
+ return (EReference) getActivityEdge().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityEdge_Guard() {
+ return (EReference) getActivityEdge().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityEdge_Weight() {
+ return (EReference) getActivityEdge().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityEdge_Interrupts() {
+ return (EReference) getActivityEdge().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityEdge_Source() {
+ return (EReference) getActivityEdge().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActivity() {
+ if (activityEClass == null) {
+ activityEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(1);
+ }
+ return activityEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivity_OwnedGroup() {
+ return (EReference) getActivity().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivity_IsReadOnly() {
+ return (EAttribute) getActivity().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivity_Partition() {
+ return (EReference) getActivity().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivity_Group() {
+ return (EReference) getActivity().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivity_OwnedNode() {
+ return (EReference) getActivity().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivity_IsSingleExecution() {
+ return (EAttribute) getActivity().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivity_StructuredNode() {
+ return (EReference) getActivity().getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivity__ValidateMaximumOneParameterNode__DiagnosticChain_Map() {
+ return getActivity().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivity__ValidateMaximumTwoParameterNodes__DiagnosticChain_Map() {
+ return getActivity().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivity_Variable() {
+ return (EReference) getActivity().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivity_Node() {
+ return (EReference) getActivity().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivity_Edge() {
+ return (EReference) getActivity().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActivityPartition() {
+ if (activityPartitionEClass == null) {
+ activityPartitionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(107);
+ }
+ return activityPartitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivityPartition_IsDimension() {
+ return (EAttribute) getActivityPartition().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivityPartition_IsExternal() {
+ return (EAttribute) getActivityPartition().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityPartition_Edge() {
+ return (EReference) getActivityPartition().getEStructuralFeatures()
+ .get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivityPartition__ValidateDimensionNotContained__DiagnosticChain_Map() {
+ return getActivityPartition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivityPartition__ValidateRepresentsClassifier__DiagnosticChain_Map() {
+ return getActivityPartition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivityPartition__ValidateRepresentsPropertyAndIsContained__DiagnosticChain_Map() {
+ return getActivityPartition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivityPartition__ValidateRepresentsProperty__DiagnosticChain_Map() {
+ return getActivityPartition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityPartition_Node() {
+ return (EReference) getActivityPartition().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityPartition_Subpartition() {
+ return (EReference) getActivityPartition().getEStructuralFeatures()
+ .get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityPartition_SuperPartition() {
+ return (EReference) getActivityPartition().getEStructuralFeatures()
+ .get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityPartition_Represents() {
+ return (EReference) getActivityPartition().getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActivityGroup() {
+ if (activityGroupEClass == null) {
+ activityGroupEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(105);
+ }
+ return activityGroupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityGroup_Subgroup() {
+ return (EReference) getActivityGroup().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityGroup_SuperGroup() {
+ return (EReference) getActivityGroup().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityGroup_ContainedNode() {
+ return (EReference) getActivityGroup().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivityGroup__ValidateNodesAndEdges__DiagnosticChain_Map() {
+ return getActivityGroup().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivityGroup__ValidateNotContained__DiagnosticChain_Map() {
+ return getActivityGroup().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityGroup_InActivity() {
+ return (EReference) getActivityGroup().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityGroup_ContainedEdge() {
+ return (EReference) getActivityGroup().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStructuredActivityNode() {
+ if (structuredActivityNodeEClass == null) {
+ structuredActivityNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(110);
+ }
+ return structuredActivityNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStructuredActivityNode_Variable() {
+ return (EReference) getStructuredActivityNode().getEStructuralFeatures()
+ .get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStructuredActivityNode_Node() {
+ return (EReference) getStructuredActivityNode().getEStructuralFeatures()
+ .get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStructuredActivityNode_StructuredNodeInput() {
+ return (EReference) getStructuredActivityNode().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStructuredActivityNode_StructuredNodeOutput() {
+ return (EReference) getStructuredActivityNode().getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStructuredActivityNode__ValidateEdges__DiagnosticChain_Map() {
+ return getStructuredActivityNode().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStructuredActivityNode__ValidateInputPinEdges__DiagnosticChain_Map() {
+ return getStructuredActivityNode().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStructuredActivityNode__SourceNodes() {
+ return getStructuredActivityNode().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStructuredActivityNode__TargetNodes() {
+ return getStructuredActivityNode().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStructuredActivityNode_MustIsolate() {
+ return (EAttribute) getStructuredActivityNode().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStructuredActivityNode_Edge() {
+ return (EReference) getStructuredActivityNode().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStructuredActivityNode__ValidateOutputPinEdges__DiagnosticChain_Map() {
+ return getStructuredActivityNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVariable() {
+ if (variableEClass == null) {
+ variableEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(119);
+ }
+ return variableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariable_ActivityScope() {
+ return (EReference) getVariable().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getVariable__IsAccessibleBy__Action() {
+ return getVariable().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariable_Scope() {
+ return (EReference) getVariable().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInterruptibleActivityRegion() {
+ if (interruptibleActivityRegionEClass == null) {
+ interruptibleActivityRegionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(109);
+ }
+ return interruptibleActivityRegionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterruptibleActivityRegion_Node() {
+ return (EReference) getInterruptibleActivityRegion()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterruptibleActivityRegion_InterruptingEdge() {
+ return (EReference) getInterruptibleActivityRegion()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInterruptibleActivityRegion__ValidateInterruptingEdges__DiagnosticChain_Map() {
+ return getInterruptibleActivityRegion().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExceptionHandler() {
+ if (exceptionHandlerEClass == null) {
+ exceptionHandlerEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(113);
+ }
+ return exceptionHandlerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExceptionHandler_HandlerBody() {
+ return (EReference) getExceptionHandler().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExceptionHandler_ExceptionInput() {
+ return (EReference) getExceptionHandler().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExceptionHandler_ExceptionType() {
+ return (EReference) getExceptionHandler().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExceptionHandler_ProtectedNode() {
+ return (EReference) getExceptionHandler().getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExceptionHandler__ValidateHandlerBodyEdges__DiagnosticChain_Map() {
+ return getExceptionHandler().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExceptionHandler__ValidateOutputPins__DiagnosticChain_Map() {
+ return getExceptionHandler().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExceptionHandler__ValidateOneInput__DiagnosticChain_Map() {
+ return getExceptionHandler().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExceptionHandler__ValidateEdgeSourceTarget__DiagnosticChain_Map() {
+ return getExceptionHandler().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExceptionHandler__ValidateHandlerBodyOwner__DiagnosticChain_Map() {
+ return getExceptionHandler().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExceptionHandler__ValidateExceptionInputType__DiagnosticChain_Map() {
+ return getExceptionHandler().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getObjectNode() {
+ if (objectNodeEClass == null) {
+ objectNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(114);
+ }
+ return objectNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getObjectNode_Ordering() {
+ return (EAttribute) getObjectNode().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getObjectNode_IsControlType() {
+ return (EAttribute) getObjectNode().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObjectNode_UpperBound() {
+ return (EReference) getObjectNode().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObjectNode_InState() {
+ return (EReference) getObjectNode().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObjectNode_Selection() {
+ return (EReference) getObjectNode().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getObjectNode__ValidateObjectFlowEdges__DiagnosticChain_Map() {
+ return getObjectNode().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getObjectNode__ValidateSelectionBehavior__DiagnosticChain_Map() {
+ return getObjectNode().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getObjectNode__ValidateInputOutputParameter__DiagnosticChain_Map() {
+ return getObjectNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOutputPin() {
+ if (outputPinEClass == null) {
+ outputPinEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(118);
+ }
+ return outputPinEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOutputPin__ValidateIncomingEdgesStructuredOnly__DiagnosticChain_Map() {
+ return getOutputPin().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPin() {
+ if (pinEClass == null) {
+ pinEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(117);
+ }
+ return pinEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPin_IsControl() {
+ return (EAttribute) getPin().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPin__ValidateControlPins__DiagnosticChain_Map() {
+ return getPin().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPin__ValidateNotUnique__DiagnosticChain_Map() {
+ return getPin().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInputPin() {
+ if (inputPinEClass == null) {
+ inputPinEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(116);
+ }
+ return inputPinEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInputPin__ValidateOutgoingEdgesStructuredOnly__DiagnosticChain_Map() {
+ return getInputPin().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGeneralOrdering() {
+ if (generalOrderingEClass == null) {
+ generalOrderingEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(218);
+ }
+ return generalOrderingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGeneralOrdering_Before() {
+ return (EReference) getGeneralOrdering().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGeneralOrdering__ValidateIrreflexiveTransitiveClosure__DiagnosticChain_Map() {
+ return getGeneralOrdering().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGeneralOrdering_After() {
+ return (EReference) getGeneralOrdering().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOccurrenceSpecification() {
+ if (occurrenceSpecificationEClass == null) {
+ occurrenceSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(219);
+ }
+ return occurrenceSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOccurrenceSpecification_ToBefore() {
+ return (EReference) getOccurrenceSpecification()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOccurrenceSpecification__GetCovered() {
+ return getOccurrenceSpecification().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOccurrenceSpecification__SetCovered__Lifeline() {
+ return getOccurrenceSpecification().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOccurrenceSpecification_ToAfter() {
+ return (EReference) getOccurrenceSpecification()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInteractionOperand() {
+ if (interactionOperandEClass == null) {
+ interactionOperandEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(216);
+ }
+ return interactionOperandEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionOperand_Guard() {
+ return (EReference) getInteractionOperand().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionOperand_Fragment() {
+ return (EReference) getInteractionOperand().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionOperand__ValidateGuardDirectlyPrior__DiagnosticChain_Map() {
+ return getInteractionOperand().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionOperand__ValidateGuardContainReferences__DiagnosticChain_Map() {
+ return getInteractionOperand().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInteractionConstraint() {
+ if (interactionConstraintEClass == null) {
+ interactionConstraintEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(217);
+ }
+ return interactionConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionConstraint_Minint() {
+ return (EReference) getInteractionConstraint().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionConstraint_Maxint() {
+ return (EReference) getInteractionConstraint().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionConstraint__ValidateDynamicVariables__DiagnosticChain_Map() {
+ return getInteractionConstraint().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionConstraint__ValidateGlobalData__DiagnosticChain_Map() {
+ return getInteractionConstraint().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionConstraint__ValidateMinintMaxint__DiagnosticChain_Map() {
+ return getInteractionConstraint().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionConstraint__ValidateMinintNonNegative__DiagnosticChain_Map() {
+ return getInteractionConstraint().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionConstraint__ValidateMaxintPositive__DiagnosticChain_Map() {
+ return getInteractionConstraint().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInteractionConstraint__ValidateMaxintGreaterEqualMinint__DiagnosticChain_Map() {
+ return getInteractionConstraint().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExecutionSpecification() {
+ if (executionSpecificationEClass == null) {
+ executionSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(224);
+ }
+ return executionSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExecutionSpecification_Start() {
+ return (EReference) getExecutionSpecification().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExecutionSpecification_Finish() {
+ return (EReference) getExecutionSpecification().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExecutionSpecification__ValidateSameLifeline__DiagnosticChain_Map() {
+ return getExecutionSpecification().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExecutionOccurrenceSpecification() {
+ if (executionOccurrenceSpecificationEClass == null) {
+ executionOccurrenceSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(232);
+ }
+ return executionOccurrenceSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExecutionOccurrenceSpecification_Execution() {
+ return (EReference) getExecutionOccurrenceSpecification()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStateInvariant() {
+ if (stateInvariantEClass == null) {
+ stateInvariantEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(233);
+ }
+ return stateInvariantEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStateInvariant_Invariant() {
+ return (EReference) getStateInvariant().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActionExecutionSpecification() {
+ if (actionExecutionSpecificationEClass == null) {
+ actionExecutionSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(223);
+ }
+ return actionExecutionSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActionExecutionSpecification_Action() {
+ return (EReference) getActionExecutionSpecification()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActionExecutionSpecification__ValidateActionReferenced__DiagnosticChain_Map() {
+ return getActionExecutionSpecification().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBehaviorExecutionSpecification() {
+ if (behaviorExecutionSpecificationEClass == null) {
+ behaviorExecutionSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(225);
+ }
+ return behaviorExecutionSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehaviorExecutionSpecification_Behavior() {
+ return (EReference) getBehaviorExecutionSpecification()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMessageEvent() {
+ if (messageEventEClass == null) {
+ messageEventEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(194);
+ }
+ return messageEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMessageOccurrenceSpecification() {
+ if (messageOccurrenceSpecificationEClass == null) {
+ messageOccurrenceSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(231);
+ }
+ return messageOccurrenceSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCombinedFragment() {
+ if (combinedFragmentEClass == null) {
+ combinedFragmentEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(226);
+ }
+ return combinedFragmentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCombinedFragment_InteractionOperator() {
+ return (EAttribute) getCombinedFragment().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCombinedFragment_Operand() {
+ return (EReference) getCombinedFragment().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCombinedFragment_CfragmentGate() {
+ return (EReference) getCombinedFragment().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCombinedFragment__ValidateOptLoopBreakNeg__DiagnosticChain_Map() {
+ return getCombinedFragment().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCombinedFragment__ValidateBreak__DiagnosticChain_Map() {
+ return getCombinedFragment().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCombinedFragment__ValidateConsiderAndIgnore__DiagnosticChain_Map() {
+ return getCombinedFragment().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getContinuation() {
+ if (continuationEClass == null) {
+ continuationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(229);
+ }
+ return continuationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getContinuation_Setting() {
+ return (EAttribute) getContinuation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getContinuation__ValidateSameName__DiagnosticChain_Map() {
+ return getContinuation().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getContinuation__ValidateGlobal__DiagnosticChain_Map() {
+ return getContinuation().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getContinuation__ValidateFirstOrLastInteractionFragment__DiagnosticChain_Map() {
+ return getContinuation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConsiderIgnoreFragment() {
+ if (considerIgnoreFragmentEClass == null) {
+ considerIgnoreFragmentEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(228);
+ }
+ return considerIgnoreFragmentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConsiderIgnoreFragment_Message() {
+ return (EReference) getConsiderIgnoreFragment().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConsiderIgnoreFragment__ValidateConsiderOrIgnore__DiagnosticChain_Map() {
+ return getConsiderIgnoreFragment().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConsiderIgnoreFragment__ValidateType__DiagnosticChain_Map() {
+ return getConsiderIgnoreFragment().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCallEvent() {
+ if (callEventEClass == null) {
+ callEventEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(195);
+ }
+ return callEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallEvent_Operation() {
+ return (EReference) getCallEvent().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getChangeEvent() {
+ if (changeEventEClass == null) {
+ changeEventEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(196);
+ }
+ return changeEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getChangeEvent_ChangeExpression() {
+ return (EReference) getChangeEvent().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSignalEvent() {
+ if (signalEventEClass == null) {
+ signalEventEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(199);
+ }
+ return signalEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSignalEvent_Signal() {
+ return (EReference) getSignalEvent().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAnyReceiveEvent() {
+ if (anyReceiveEventEClass == null) {
+ anyReceiveEventEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(193);
+ }
+ return anyReceiveEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCreateObjectAction() {
+ if (createObjectActionEClass == null) {
+ createObjectActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(148);
+ }
+ return createObjectActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCreateObjectAction_Classifier() {
+ return (EReference) getCreateObjectAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCreateObjectAction_Result() {
+ return (EReference) getCreateObjectAction().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCreateObjectAction__ValidateClassifierNotAbstract__DiagnosticChain_Map() {
+ return getCreateObjectAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCreateObjectAction__ValidateClassifierNotAssociationClass__DiagnosticChain_Map() {
+ return getCreateObjectAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCreateObjectAction__ValidateSameType__DiagnosticChain_Map() {
+ return getCreateObjectAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCreateObjectAction__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getCreateObjectAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDestroyObjectAction() {
+ if (destroyObjectActionEClass == null) {
+ destroyObjectActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(151);
+ }
+ return destroyObjectActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDestroyObjectAction_IsDestroyLinks() {
+ return (EAttribute) getDestroyObjectAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDestroyObjectAction_IsDestroyOwnedObjects() {
+ return (EAttribute) getDestroyObjectAction().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDestroyObjectAction_Target() {
+ return (EReference) getDestroyObjectAction().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDestroyObjectAction__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getDestroyObjectAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDestroyObjectAction__ValidateNoType__DiagnosticChain_Map() {
+ return getDestroyObjectAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDestructionOccurrenceSpecification() {
+ if (destructionOccurrenceSpecificationEClass == null) {
+ destructionOccurrenceSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(230);
+ }
+ return destructionOccurrenceSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDestructionOccurrenceSpecification__ValidateNoOccurrenceSpecificationsBelow__DiagnosticChain_Map() {
+ return getDestructionOccurrenceSpecification().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTestIdentityAction() {
+ if (testIdentityActionEClass == null) {
+ testIdentityActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(175);
+ }
+ return testIdentityActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTestIdentityAction_First() {
+ return (EReference) getTestIdentityAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTestIdentityAction_Second() {
+ return (EReference) getTestIdentityAction().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTestIdentityAction_Result() {
+ return (EReference) getTestIdentityAction().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTestIdentityAction__ValidateNoType__DiagnosticChain_Map() {
+ return getTestIdentityAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTestIdentityAction__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getTestIdentityAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTestIdentityAction__ValidateResultIsBoolean__DiagnosticChain_Map() {
+ return getTestIdentityAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReadSelfAction() {
+ if (readSelfActionEClass == null) {
+ readSelfActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(162);
+ }
+ return readSelfActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadSelfAction_Result() {
+ return (EReference) getReadSelfAction().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadSelfAction__ValidateContained__DiagnosticChain_Map() {
+ return getReadSelfAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadSelfAction__ValidateNotStatic__DiagnosticChain_Map() {
+ return getReadSelfAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadSelfAction__ValidateType__DiagnosticChain_Map() {
+ return getReadSelfAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadSelfAction__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getReadSelfAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStructuralFeatureAction() {
+ if (structuralFeatureActionEClass == null) {
+ structuralFeatureActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(127);
+ }
+ return structuralFeatureActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStructuralFeatureAction_StructuralFeature() {
+ return (EReference) getStructuralFeatureAction()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStructuralFeatureAction_Object() {
+ return (EReference) getStructuralFeatureAction()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStructuralFeatureAction__ValidateNotStatic__DiagnosticChain_Map() {
+ return getStructuralFeatureAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStructuralFeatureAction__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getStructuralFeatureAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStructuralFeatureAction__ValidateObjectType__DiagnosticChain_Map() {
+ return getStructuralFeatureAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStructuralFeatureAction__ValidateVisibility__DiagnosticChain_Map() {
+ return getStructuralFeatureAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStructuralFeatureAction__ValidateOneFeaturingClassifier__DiagnosticChain_Map() {
+ return getStructuralFeatureAction().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReadStructuralFeatureAction() {
+ if (readStructuralFeatureActionEClass == null) {
+ readStructuralFeatureActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(163);
+ }
+ return readStructuralFeatureActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadStructuralFeatureAction_Result() {
+ return (EReference) getReadStructuralFeatureAction()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadStructuralFeatureAction__ValidateTypeAndOrdering__DiagnosticChain_Map() {
+ return getReadStructuralFeatureAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getWriteStructuralFeatureAction() {
+ if (writeStructuralFeatureActionEClass == null) {
+ writeStructuralFeatureActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(126);
+ }
+ return writeStructuralFeatureActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWriteStructuralFeatureAction_Value() {
+ return (EReference) getWriteStructuralFeatureAction()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWriteStructuralFeatureAction_Result() {
+ return (EReference) getWriteStructuralFeatureAction()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getWriteStructuralFeatureAction__ValidateTypeOfResult__DiagnosticChain_Map() {
+ return getWriteStructuralFeatureAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getWriteStructuralFeatureAction__ValidateMultiplicityOfResult__DiagnosticChain_Map() {
+ return getWriteStructuralFeatureAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getWriteStructuralFeatureAction__ValidateTypeOfValue__DiagnosticChain_Map() {
+ return getWriteStructuralFeatureAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getWriteStructuralFeatureAction__ValidateMultiplicityOfValue__DiagnosticChain_Map() {
+ return getWriteStructuralFeatureAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClearStructuralFeatureAction() {
+ if (clearStructuralFeatureActionEClass == null) {
+ clearStructuralFeatureActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(142);
+ }
+ return clearStructuralFeatureActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClearStructuralFeatureAction_Result() {
+ return (EReference) getClearStructuralFeatureAction()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClearStructuralFeatureAction__ValidateTypeOfResult__DiagnosticChain_Map() {
+ return getClearStructuralFeatureAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClearStructuralFeatureAction__ValidateMultiplicityOfResult__DiagnosticChain_Map() {
+ return getClearStructuralFeatureAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRemoveStructuralFeatureValueAction() {
+ if (removeStructuralFeatureValueActionEClass == null) {
+ removeStructuralFeatureValueActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(167);
+ }
+ return removeStructuralFeatureValueActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRemoveStructuralFeatureValueAction_IsRemoveDuplicates() {
+ return (EAttribute) getRemoveStructuralFeatureValueAction()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRemoveStructuralFeatureValueAction_RemoveAt() {
+ return (EReference) getRemoveStructuralFeatureValueAction()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRemoveStructuralFeatureValueAction__ValidateRemoveAtAndValue__DiagnosticChain_Map() {
+ return getRemoveStructuralFeatureValueAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAddStructuralFeatureValueAction() {
+ if (addStructuralFeatureValueActionEClass == null) {
+ addStructuralFeatureValueActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(133);
+ }
+ return addStructuralFeatureValueActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAddStructuralFeatureValueAction_IsReplaceAll() {
+ return (EAttribute) getAddStructuralFeatureValueAction()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAddStructuralFeatureValueAction__ValidateRequiredValue__DiagnosticChain_Map() {
+ return getAddStructuralFeatureValueAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAddStructuralFeatureValueAction__ValidateInsertAtPin__DiagnosticChain_Map() {
+ return getAddStructuralFeatureValueAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAddStructuralFeatureValueAction_InsertAt() {
+ return (EReference) getAddStructuralFeatureValueAction()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLinkAction() {
+ if (linkActionEClass == null) {
+ linkActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(123);
+ }
+ return linkActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkAction_EndData() {
+ return (EReference) getLinkAction().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkAction_InputValue() {
+ return (EReference) getLinkAction().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLinkAction__ValidateSameAssociation__DiagnosticChain_Map() {
+ return getLinkAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLinkAction__ValidateNotStatic__DiagnosticChain_Map() {
+ return getLinkAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLinkAction__ValidateSamePins__DiagnosticChain_Map() {
+ return getLinkAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLinkAction__Association() {
+ return getLinkAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLinkEndData() {
+ if (linkEndDataEClass == null) {
+ linkEndDataEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(124);
+ }
+ return linkEndDataEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkEndData_Value() {
+ return (EReference) getLinkEndData().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkEndData_End() {
+ return (EReference) getLinkEndData().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkEndData_Qualifier() {
+ return (EReference) getLinkEndData().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLinkEndData__ValidatePropertyIsAssociationEnd__DiagnosticChain_Map() {
+ return getLinkEndData().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLinkEndData__ValidateSameType__DiagnosticChain_Map() {
+ return getLinkEndData().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLinkEndData__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getLinkEndData().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLinkEndData__ValidateQualifiers__DiagnosticChain_Map() {
+ return getLinkEndData().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLinkEndData__AllPins() {
+ return getLinkEndData().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLinkEndData__ValidateEndObjectInputPin__DiagnosticChain_Map() {
+ return getLinkEndData().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQualifierValue() {
+ if (qualifierValueEClass == null) {
+ qualifierValueEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(125);
+ }
+ return qualifierValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQualifierValue_Qualifier() {
+ return (EReference) getQualifierValue().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQualifierValue_Value() {
+ return (EReference) getQualifierValue().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getQualifierValue__ValidateQualifierAttribute__DiagnosticChain_Map() {
+ return getQualifierValue().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getQualifierValue__ValidateTypeOfQualifier__DiagnosticChain_Map() {
+ return getQualifierValue().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getQualifierValue__ValidateMultiplicityOfQualifier__DiagnosticChain_Map() {
+ return getQualifierValue().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReadLinkAction() {
+ if (readLinkActionEClass == null) {
+ readLinkActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(159);
+ }
+ return readLinkActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadLinkAction_Result() {
+ return (EReference) getReadLinkAction().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkAction__ValidateOneOpenEnd__DiagnosticChain_Map() {
+ return getReadLinkAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkAction__ValidateTypeAndOrdering__DiagnosticChain_Map() {
+ return getReadLinkAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkAction__ValidateCompatibleMultiplicity__DiagnosticChain_Map() {
+ return getReadLinkAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkAction__ValidateNavigableOpenEnd__DiagnosticChain_Map() {
+ return getReadLinkAction().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkAction__OpenEnd() {
+ return getReadLinkAction().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkAction__ValidateVisibility__DiagnosticChain_Map() {
+ return getReadLinkAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLinkEndCreationData() {
+ if (linkEndCreationDataEClass == null) {
+ linkEndCreationDataEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(146);
+ }
+ return linkEndCreationDataEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLinkEndCreationData_IsReplaceAll() {
+ return (EAttribute) getLinkEndCreationData().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLinkEndCreationData__ValidateInsertAtPin__DiagnosticChain_Map() {
+ return getLinkEndCreationData().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkEndCreationData_InsertAt() {
+ return (EReference) getLinkEndCreationData().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCreateLinkAction() {
+ if (createLinkActionEClass == null) {
+ createLinkActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(145);
+ }
+ return createLinkActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCreateLinkAction__ValidateAssociationNotAbstract__DiagnosticChain_Map() {
+ return getCreateLinkAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getWriteLinkAction() {
+ if (writeLinkActionEClass == null) {
+ writeLinkActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(122);
+ }
+ return writeLinkActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getWriteLinkAction__ValidateAllowAccess__DiagnosticChain_Map() {
+ return getWriteLinkAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDestroyLinkAction() {
+ if (destroyLinkActionEClass == null) {
+ destroyLinkActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(149);
+ }
+ return destroyLinkActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLinkEndDestructionData() {
+ if (linkEndDestructionDataEClass == null) {
+ linkEndDestructionDataEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(150);
+ }
+ return linkEndDestructionDataEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLinkEndDestructionData_IsDestroyDuplicates() {
+ return (EAttribute) getLinkEndDestructionData().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLinkEndDestructionData__ValidateDestroyAtPin__DiagnosticChain_Map() {
+ return getLinkEndDestructionData().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkEndDestructionData_DestroyAt() {
+ return (EReference) getLinkEndDestructionData().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClearAssociationAction() {
+ if (clearAssociationActionEClass == null) {
+ clearAssociationActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(141);
+ }
+ return clearAssociationActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClearAssociationAction_Object() {
+ return (EReference) getClearAssociationAction().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClearAssociationAction_Association() {
+ return (EReference) getClearAssociationAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClearAssociationAction__ValidateSameType__DiagnosticChain_Map() {
+ return getClearAssociationAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClearAssociationAction__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getClearAssociationAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBroadcastSignalAction() {
+ if (broadcastSignalActionEClass == null) {
+ broadcastSignalActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(135);
+ }
+ return broadcastSignalActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBroadcastSignalAction_Signal() {
+ return (EReference) getBroadcastSignalAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBroadcastSignalAction__ValidateNumberOfArguments__DiagnosticChain_Map() {
+ return getBroadcastSignalAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBroadcastSignalAction__ValidateTypeOrderingMultiplicity__DiagnosticChain_Map() {
+ return getBroadcastSignalAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBroadcastSignalAction__ValidateNoOnport__DiagnosticChain_Map() {
+ return getBroadcastSignalAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInvocationAction() {
+ if (invocationActionEClass == null) {
+ invocationActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(136);
+ }
+ return invocationActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInvocationAction_Argument() {
+ return (EReference) getInvocationAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInvocationAction_OnPort() {
+ return (EReference) getInvocationAction().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSendObjectAction() {
+ if (sendObjectActionEClass == null) {
+ sendObjectActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(170);
+ }
+ return sendObjectActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSendObjectAction_Target() {
+ return (EReference) getSendObjectAction().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getSendObjectAction__ValidateTypeTargetPin__DiagnosticChain_Map() {
+ return getSendObjectAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSendObjectAction_Request() {
+ return (EReference) getSendObjectAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getValueSpecificationAction() {
+ if (valueSpecificationActionEClass == null) {
+ valueSpecificationActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(120);
+ }
+ return valueSpecificationActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getValueSpecificationAction_Value() {
+ return (EReference) getValueSpecificationAction()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getValueSpecificationAction_Result() {
+ return (EReference) getValueSpecificationAction()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getValueSpecificationAction__ValidateCompatibleType__DiagnosticChain_Map() {
+ return getValueSpecificationAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getValueSpecificationAction__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getValueSpecificationAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTimeExpression() {
+ if (timeExpressionEClass == null) {
+ timeExpressionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(201);
+ }
+ return timeExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimeExpression_Expr() {
+ return (EReference) getTimeExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimeExpression_Observation() {
+ return (EReference) getTimeExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTimeExpression__ValidateNoExprRequiresObservation__DiagnosticChain_Map() {
+ return getTimeExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getObservation() {
+ if (observationEClass == null) {
+ observationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(202);
+ }
+ return observationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDuration() {
+ if (durationEClass == null) {
+ durationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(240);
+ }
+ return durationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDuration_Expr() {
+ return (EReference) getDuration().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDuration_Observation() {
+ return (EReference) getDuration().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDuration__ValidateNoExprRequiresObservation__DiagnosticChain_Map() {
+ return getDuration().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getValuePin() {
+ if (valuePinEClass == null) {
+ valuePinEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(177);
+ }
+ return valuePinEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getValuePin_Value() {
+ return (EReference) getValuePin().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getValuePin__ValidateCompatibleType__DiagnosticChain_Map() {
+ return getValuePin().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getValuePin__ValidateNoIncomingEdges__DiagnosticChain_Map() {
+ return getValuePin().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDurationInterval() {
+ if (durationIntervalEClass == null) {
+ durationIntervalEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(244);
+ }
+ return durationIntervalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInterval() {
+ if (intervalEClass == null) {
+ intervalEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(243);
+ }
+ return intervalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterval_Min() {
+ return (EReference) getInterval().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterval_Max() {
+ return (EReference) getInterval().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTimeConstraint() {
+ if (timeConstraintEClass == null) {
+ timeConstraintEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(253);
+ }
+ return timeConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTimeConstraint_FirstEvent() {
+ return (EAttribute) getTimeConstraint().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTimeConstraint__ValidateHasOneConstrainedElement__DiagnosticChain_Map() {
+ return getTimeConstraint().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIntervalConstraint() {
+ if (intervalConstraintEClass == null) {
+ intervalConstraintEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(242);
+ }
+ return intervalConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTimeInterval() {
+ if (timeIntervalEClass == null) {
+ timeIntervalEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(254);
+ }
+ return timeIntervalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDurationConstraint() {
+ if (durationConstraintEClass == null) {
+ durationConstraintEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(241);
+ }
+ return durationConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDurationConstraint_FirstEvent() {
+ return (EAttribute) getDurationConstraint().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDurationConstraint__ValidateFirstEventMultiplicity__DiagnosticChain_Map() {
+ return getDurationConstraint().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDurationConstraint__ValidateHasOneOrTwoConstrainedElements__DiagnosticChain_Map() {
+ return getDurationConstraint().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTimeObservation() {
+ if (timeObservationEClass == null) {
+ timeObservationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(255);
+ }
+ return timeObservationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimeObservation_Event() {
+ return (EReference) getTimeObservation().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTimeObservation_FirstEvent() {
+ return (EAttribute) getTimeObservation().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDurationObservation() {
+ if (durationObservationEClass == null) {
+ durationObservationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(245);
+ }
+ return durationObservationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDurationObservation_Event() {
+ return (EReference) getDurationObservation().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDurationObservation_FirstEvent() {
+ return (EAttribute) getDurationObservation().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDurationObservation__ValidateFirstEventMultiplicity__DiagnosticChain_Map() {
+ return getDurationObservation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOpaqueAction() {
+ if (opaqueActionEClass == null) {
+ opaqueActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(155);
+ }
+ return opaqueActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpaqueAction_Body() {
+ return (EAttribute) getOpaqueAction().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOpaqueAction_Language() {
+ return (EAttribute) getOpaqueAction().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpaqueAction_InputValue() {
+ return (EReference) getOpaqueAction().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOpaqueAction_OutputValue() {
+ return (EReference) getOpaqueAction().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOpaqueAction__ValidateLanguageBodySize__DiagnosticChain_Map() {
+ return getOpaqueAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCallAction() {
+ if (callActionEClass == null) {
+ callActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(137);
+ }
+ return callActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCallAction_IsSynchronous() {
+ return (EAttribute) getCallAction().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallAction_Result() {
+ return (EReference) getCallAction().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCallAction__ValidateArgumentPins__DiagnosticChain_Map() {
+ return getCallAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCallAction__ValidateResultPins__DiagnosticChain_Map() {
+ return getCallAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCallAction__ValidateSynchronousCall__DiagnosticChain_Map() {
+ return getCallAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCallAction__InputParameters() {
+ return getCallAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCallAction__OutputParameters() {
+ return getCallAction().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSendSignalAction() {
+ if (sendSignalActionEClass == null) {
+ sendSignalActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(171);
+ }
+ return sendSignalActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSendSignalAction_Target() {
+ return (EReference) getSendSignalAction().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSendSignalAction_Signal() {
+ return (EReference) getSendSignalAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getSendSignalAction__ValidateNumberOrder__DiagnosticChain_Map() {
+ return getSendSignalAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getSendSignalAction__ValidateTypeTargetPin__DiagnosticChain_Map() {
+ return getSendSignalAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getSendSignalAction__ValidateTypeOrderingMultiplicity__DiagnosticChain_Map() {
+ return getSendSignalAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCallOperationAction() {
+ if (callOperationActionEClass == null) {
+ callOperationActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(139);
+ }
+ return callOperationActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallOperationAction_Operation() {
+ return (EReference) getCallOperationAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallOperationAction_Target() {
+ return (EReference) getCallOperationAction().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCallOperationAction__ValidateTypeTargetPin__DiagnosticChain_Map() {
+ return getCallOperationAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCallBehaviorAction() {
+ if (callBehaviorActionEClass == null) {
+ callBehaviorActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(138);
+ }
+ return callBehaviorActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallBehaviorAction_Behavior() {
+ return (EReference) getCallBehaviorAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCallBehaviorAction__ValidateNoOnport__DiagnosticChain_Map() {
+ return getCallBehaviorAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInformationItem() {
+ if (informationItemEClass == null) {
+ informationItemEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(222);
+ }
+ return informationItemEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInformationItem_Represented() {
+ return (EReference) getInformationItem().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInformationItem__ValidateSourcesAndTargets__DiagnosticChain_Map() {
+ return getInformationItem().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInformationItem__ValidateHasNo__DiagnosticChain_Map() {
+ return getInformationItem().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInformationItem__ValidateNotInstantiable__DiagnosticChain_Map() {
+ return getInformationItem().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInformationFlow() {
+ if (informationFlowEClass == null) {
+ informationFlowEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(207);
+ }
+ return informationFlowEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInformationFlow_Realization() {
+ return (EReference) getInformationFlow().getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInformationFlow_Conveyed() {
+ return (EReference) getInformationFlow().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInformationFlow_InformationSource() {
+ return (EReference) getInformationFlow().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInformationFlow_InformationTarget() {
+ return (EReference) getInformationFlow().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInformationFlow_RealizingActivityEdge() {
+ return (EReference) getInformationFlow().getEStructuralFeatures()
+ .get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInformationFlow_RealizingConnector() {
+ return (EReference) getInformationFlow().getEStructuralFeatures()
+ .get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInformationFlow_RealizingMessage() {
+ return (EReference) getInformationFlow().getEStructuralFeatures()
+ .get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInformationFlow__ValidateSourcesAndTargetsKind__DiagnosticChain_Map() {
+ return getInformationFlow().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInformationFlow__ValidateMustConform__DiagnosticChain_Map() {
+ return getInformationFlow().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInformationFlow__ValidateConveyClassifiers__DiagnosticChain_Map() {
+ return getInformationFlow().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getModel() {
+ if (modelEClass == null) {
+ modelEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(84);
+ }
+ return modelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getModel_Viewpoint() {
+ return (EAttribute) getModel().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getModel__IsMetamodel() {
+ return getModel().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVariableAction() {
+ if (variableActionEClass == null) {
+ variableActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(121);
+ }
+ return variableActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariableAction_Variable() {
+ return (EReference) getVariableAction().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getVariableAction__ValidateScopeOfVariable__DiagnosticChain_Map() {
+ return getVariableAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReadVariableAction() {
+ if (readVariableActionEClass == null) {
+ readVariableActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(164);
+ }
+ return readVariableActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadVariableAction_Result() {
+ return (EReference) getReadVariableAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadVariableAction__ValidateTypeAndOrdering__DiagnosticChain_Map() {
+ return getReadVariableAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadVariableAction__ValidateCompatibleMultiplicity__DiagnosticChain_Map() {
+ return getReadVariableAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getWriteVariableAction() {
+ if (writeVariableActionEClass == null) {
+ writeVariableActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(128);
+ }
+ return writeVariableActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWriteVariableAction_Value() {
+ return (EReference) getWriteVariableAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getWriteVariableAction__ValidateValueType__DiagnosticChain_Map() {
+ return getWriteVariableAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getWriteVariableAction__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getWriteVariableAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClearVariableAction() {
+ if (clearVariableActionEClass == null) {
+ clearVariableActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(143);
+ }
+ return clearVariableActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAddVariableValueAction() {
+ if (addVariableValueActionEClass == null) {
+ addVariableValueActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(134);
+ }
+ return addVariableValueActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAddVariableValueAction_IsReplaceAll() {
+ return (EAttribute) getAddVariableValueAction().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAddVariableValueAction__ValidateRequiredValue__DiagnosticChain_Map() {
+ return getAddVariableValueAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAddVariableValueAction__ValidateInsertAtPin__DiagnosticChain_Map() {
+ return getAddVariableValueAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAddVariableValueAction_InsertAt() {
+ return (EReference) getAddVariableValueAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRemoveVariableValueAction() {
+ if (removeVariableValueActionEClass == null) {
+ removeVariableValueActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(168);
+ }
+ return removeVariableValueActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRemoveVariableValueAction_IsRemoveDuplicates() {
+ return (EAttribute) getRemoveVariableValueAction()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRemoveVariableValueAction_RemoveAt() {
+ return (EReference) getRemoveVariableValueAction()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getRemoveVariableValueAction__ValidateRemoveAtAndValue__DiagnosticChain_Map() {
+ return getRemoveVariableValueAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRaiseExceptionAction() {
+ if (raiseExceptionActionEClass == null) {
+ raiseExceptionActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(156);
+ }
+ return raiseExceptionActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRaiseExceptionAction_Exception() {
+ return (EReference) getRaiseExceptionAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActionInputPin() {
+ if (actionInputPinEClass == null) {
+ actionInputPinEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(132);
+ }
+ return actionInputPinEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActionInputPin_FromAction() {
+ return (EReference) getActionInputPin().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActionInputPin__ValidateOneOutputPin__DiagnosticChain_Map() {
+ return getActionInputPin().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActionInputPin__ValidateNoControlOrObjectFlow__DiagnosticChain_Map() {
+ return getActionInputPin().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActionInputPin__ValidateInputPin__DiagnosticChain_Map() {
+ return getActionInputPin().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReadExtentAction() {
+ if (readExtentActionEClass == null) {
+ readExtentActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(157);
+ }
+ return readExtentActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadExtentAction_Result() {
+ return (EReference) getReadExtentAction().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadExtentAction_Classifier() {
+ return (EReference) getReadExtentAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadExtentAction__ValidateTypeIsClassifier__DiagnosticChain_Map() {
+ return getReadExtentAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadExtentAction__ValidateMultiplicityOfResult__DiagnosticChain_Map() {
+ return getReadExtentAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReclassifyObjectAction() {
+ if (reclassifyObjectActionEClass == null) {
+ reclassifyObjectActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(165);
+ }
+ return reclassifyObjectActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReclassifyObjectAction_IsReplaceAll() {
+ return (EAttribute) getReclassifyObjectAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReclassifyObjectAction_OldClassifier() {
+ return (EReference) getReclassifyObjectAction().getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReclassifyObjectAction_NewClassifier() {
+ return (EReference) getReclassifyObjectAction().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReclassifyObjectAction_Object() {
+ return (EReference) getReclassifyObjectAction().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReclassifyObjectAction__ValidateClassifierNotAbstract__DiagnosticChain_Map() {
+ return getReclassifyObjectAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReclassifyObjectAction__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getReclassifyObjectAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReclassifyObjectAction__ValidateInputPin__DiagnosticChain_Map() {
+ return getReclassifyObjectAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReadIsClassifiedObjectAction() {
+ if (readIsClassifiedObjectActionEClass == null) {
+ readIsClassifiedObjectActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(158);
+ }
+ return readIsClassifiedObjectActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReadIsClassifiedObjectAction_IsDirect() {
+ return (EAttribute) getReadIsClassifiedObjectAction()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadIsClassifiedObjectAction_Classifier() {
+ return (EReference) getReadIsClassifiedObjectAction()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadIsClassifiedObjectAction_Result() {
+ return (EReference) getReadIsClassifiedObjectAction()
+ .getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadIsClassifiedObjectAction_Object() {
+ return (EReference) getReadIsClassifiedObjectAction()
+ .getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadIsClassifiedObjectAction__ValidateMultiplicityOfInput__DiagnosticChain_Map() {
+ return getReadIsClassifiedObjectAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadIsClassifiedObjectAction__ValidateNoType__DiagnosticChain_Map() {
+ return getReadIsClassifiedObjectAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadIsClassifiedObjectAction__ValidateMultiplicityOfOutput__DiagnosticChain_Map() {
+ return getReadIsClassifiedObjectAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadIsClassifiedObjectAction__ValidateBooleanResult__DiagnosticChain_Map() {
+ return getReadIsClassifiedObjectAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStartClassifierBehaviorAction() {
+ if (startClassifierBehaviorActionEClass == null) {
+ startClassifierBehaviorActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(173);
+ }
+ return startClassifierBehaviorActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStartClassifierBehaviorAction_Object() {
+ return (EReference) getStartClassifierBehaviorAction()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStartClassifierBehaviorAction__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getStartClassifierBehaviorAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStartClassifierBehaviorAction__ValidateTypeHasClassifier__DiagnosticChain_Map() {
+ return getStartClassifierBehaviorAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReadLinkObjectEndAction() {
+ if (readLinkObjectEndActionEClass == null) {
+ readLinkObjectEndActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(160);
+ }
+ return readLinkObjectEndActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadLinkObjectEndAction_Object() {
+ return (EReference) getReadLinkObjectEndAction()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadLinkObjectEndAction_End() {
+ return (EReference) getReadLinkObjectEndAction()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadLinkObjectEndAction_Result() {
+ return (EReference) getReadLinkObjectEndAction()
+ .getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndAction__ValidateProperty__DiagnosticChain_Map() {
+ return getReadLinkObjectEndAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndAction__ValidateAssociationOfAssociation__DiagnosticChain_Map() {
+ return getReadLinkObjectEndAction().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndAction__ValidateEndsOfAssociation__DiagnosticChain_Map() {
+ return getReadLinkObjectEndAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndAction__ValidateTypeOfObject__DiagnosticChain_Map() {
+ return getReadLinkObjectEndAction().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndAction__ValidateMultiplicityOfObject__DiagnosticChain_Map() {
+ return getReadLinkObjectEndAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndAction__ValidateTypeOfResult__DiagnosticChain_Map() {
+ return getReadLinkObjectEndAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndAction__ValidateMultiplicityOfResult__DiagnosticChain_Map() {
+ return getReadLinkObjectEndAction().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReadLinkObjectEndQualifierAction() {
+ if (readLinkObjectEndQualifierActionEClass == null) {
+ readLinkObjectEndQualifierActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(161);
+ }
+ return readLinkObjectEndQualifierActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadLinkObjectEndQualifierAction_Object() {
+ return (EReference) getReadLinkObjectEndQualifierAction()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadLinkObjectEndQualifierAction_Result() {
+ return (EReference) getReadLinkObjectEndQualifierAction()
+ .getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReadLinkObjectEndQualifierAction_Qualifier() {
+ return (EReference) getReadLinkObjectEndQualifierAction()
+ .getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndQualifierAction__ValidateQualifierAttribute__DiagnosticChain_Map() {
+ return getReadLinkObjectEndQualifierAction().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndQualifierAction__ValidateAssociationOfAssociation__DiagnosticChain_Map() {
+ return getReadLinkObjectEndQualifierAction().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndQualifierAction__ValidateEndsOfAssociation__DiagnosticChain_Map() {
+ return getReadLinkObjectEndQualifierAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndQualifierAction__ValidateTypeOfObject__DiagnosticChain_Map() {
+ return getReadLinkObjectEndQualifierAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndQualifierAction__ValidateMultiplicityOfQualifier__DiagnosticChain_Map() {
+ return getReadLinkObjectEndQualifierAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndQualifierAction__ValidateMultiplicityOfObject__DiagnosticChain_Map() {
+ return getReadLinkObjectEndQualifierAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndQualifierAction__ValidateSameType__DiagnosticChain_Map() {
+ return getReadLinkObjectEndQualifierAction().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReadLinkObjectEndQualifierAction__ValidateMultiplicityOfResult__DiagnosticChain_Map() {
+ return getReadLinkObjectEndQualifierAction().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCreateLinkObjectAction() {
+ if (createLinkObjectActionEClass == null) {
+ createLinkObjectActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(147);
+ }
+ return createLinkObjectActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCreateLinkObjectAction_Result() {
+ return (EReference) getCreateLinkObjectAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCreateLinkObjectAction__ValidateAssociationClass__DiagnosticChain_Map() {
+ return getCreateLinkObjectAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCreateLinkObjectAction__ValidateTypeOfResult__DiagnosticChain_Map() {
+ return getCreateLinkObjectAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCreateLinkObjectAction__ValidateMultiplicity__DiagnosticChain_Map() {
+ return getCreateLinkObjectAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAcceptEventAction() {
+ if (acceptEventActionEClass == null) {
+ acceptEventActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(131);
+ }
+ return acceptEventActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAcceptEventAction_IsUnmarshall() {
+ return (EAttribute) getAcceptEventAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAcceptEventAction_Result() {
+ return (EReference) getAcceptEventAction().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAcceptEventAction_Trigger() {
+ return (EReference) getAcceptEventAction().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAcceptEventAction__ValidateOneOutputPin__DiagnosticChain_Map() {
+ return getAcceptEventAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAcceptEventAction__ValidateNoInputPins__DiagnosticChain_Map() {
+ return getAcceptEventAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAcceptEventAction__ValidateNoOutputPins__DiagnosticChain_Map() {
+ return getAcceptEventAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAcceptEventAction__ValidateUnmarshallSignalEvents__DiagnosticChain_Map() {
+ return getAcceptEventAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAcceptEventAction__ValidateConformingType__DiagnosticChain_Map() {
+ return getAcceptEventAction().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAcceptCallAction() {
+ if (acceptCallActionEClass == null) {
+ acceptCallActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(130);
+ }
+ return acceptCallActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAcceptCallAction_ReturnInformation() {
+ return (EReference) getAcceptCallAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAcceptCallAction__ValidateResultPins__DiagnosticChain_Map() {
+ return getAcceptCallAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAcceptCallAction__ValidateTriggerCallEvent__DiagnosticChain_Map() {
+ return getAcceptCallAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAcceptCallAction__ValidateUnmarshall__DiagnosticChain_Map() {
+ return getAcceptCallAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReplyAction() {
+ if (replyActionEClass == null) {
+ replyActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(169);
+ }
+ return replyActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReplyAction_ReplyToCall() {
+ return (EReference) getReplyAction().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReplyAction_ReturnInformation() {
+ return (EReference) getReplyAction().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReplyAction_ReplyValue() {
+ return (EReference) getReplyAction().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReplyAction__ValidatePinsMatchParameter__DiagnosticChain_Map() {
+ return getReplyAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReplyAction__ValidateEventOnReplyToCallTrigger__DiagnosticChain_Map() {
+ return getReplyAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUnmarshallAction() {
+ if (unmarshallActionEClass == null) {
+ unmarshallActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(176);
+ }
+ return unmarshallActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUnmarshallAction_Result() {
+ return (EReference) getUnmarshallAction().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUnmarshallAction_UnmarshallType() {
+ return (EReference) getUnmarshallAction().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUnmarshallAction_Object() {
+ return (EReference) getUnmarshallAction().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getUnmarshallAction__ValidateMultiplicityOfObject__DiagnosticChain_Map() {
+ return getUnmarshallAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getUnmarshallAction__ValidateObjectType__DiagnosticChain_Map() {
+ return getUnmarshallAction().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getUnmarshallAction__ValidateNumberOfResult__DiagnosticChain_Map() {
+ return getUnmarshallAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getUnmarshallAction__ValidateTypeOrderingAndMultiplicity__DiagnosticChain_Map() {
+ return getUnmarshallAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getUnmarshallAction__ValidateStructuralFeature__DiagnosticChain_Map() {
+ return getUnmarshallAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReduceAction() {
+ if (reduceActionEClass == null) {
+ reduceActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(166);
+ }
+ return reduceActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReduceAction_Reducer() {
+ return (EReference) getReduceAction().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReduceAction_Result() {
+ return (EReference) getReduceAction().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReduceAction_Collection() {
+ return (EReference) getReduceAction().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReduceAction_IsOrdered() {
+ return (EAttribute) getReduceAction().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReduceAction__ValidateInputTypeIsCollection__DiagnosticChain_Map() {
+ return getReduceAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReduceAction__ValidateOutputTypesAreCompatible__DiagnosticChain_Map() {
+ return getReduceAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReduceAction__ValidateReducerInputsOutput__DiagnosticChain_Map() {
+ return getReduceAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStartObjectBehaviorAction() {
+ if (startObjectBehaviorActionEClass == null) {
+ startObjectBehaviorActionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(174);
+ }
+ return startObjectBehaviorActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStartObjectBehaviorAction_Object() {
+ return (EReference) getStartObjectBehaviorAction()
+ .getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStartObjectBehaviorAction__ValidateTypeOfObject__DiagnosticChain_Map() {
+ return getStartObjectBehaviorAction().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStartObjectBehaviorAction__ValidateNoOnport__DiagnosticChain_Map() {
+ return getStartObjectBehaviorAction().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStartObjectBehaviorAction__Behavior() {
+ return getStartObjectBehaviorAction().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStartObjectBehaviorAction__ValidateMultiplicityOfObject__DiagnosticChain_Map() {
+ return getStartObjectBehaviorAction().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getControlNode() {
+ if (controlNodeEClass == null) {
+ controlNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(180);
+ }
+ return controlNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getControlFlow() {
+ if (controlFlowEClass == null) {
+ controlFlowEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(183);
+ }
+ return controlFlowEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getControlFlow__ValidateObjectNodes__DiagnosticChain_Map() {
+ return getControlFlow().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInitialNode() {
+ if (initialNodeEClass == null) {
+ initialNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(189);
+ }
+ return initialNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInitialNode__ValidateNoIncomingEdges__DiagnosticChain_Map() {
+ return getInitialNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInitialNode__ValidateControlEdges__DiagnosticChain_Map() {
+ return getInitialNode().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActivityParameterNode() {
+ if (activityParameterNodeEClass == null) {
+ activityParameterNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(181);
+ }
+ return activityParameterNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivityParameterNode_Parameter() {
+ return (EReference) getActivityParameterNode().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivityParameterNode__ValidateHasParameters__DiagnosticChain_Map() {
+ return getActivityParameterNode().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivityParameterNode__ValidateSameType__DiagnosticChain_Map() {
+ return getActivityParameterNode().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivityParameterNode__ValidateNoEdges__DiagnosticChain_Map() {
+ return getActivityParameterNode().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivityParameterNode__ValidateNoIncomingEdges__DiagnosticChain_Map() {
+ return getActivityParameterNode().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getActivityParameterNode__ValidateNoOutgoingEdges__DiagnosticChain_Map() {
+ return getActivityParameterNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getForkNode() {
+ if (forkNodeEClass == null) {
+ forkNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(188);
+ }
+ return forkNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getForkNode__ValidateOneIncomingEdge__DiagnosticChain_Map() {
+ return getForkNode().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getForkNode__ValidateEdges__DiagnosticChain_Map() {
+ return getForkNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFlowFinalNode() {
+ if (flowFinalNodeEClass == null) {
+ flowFinalNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(187);
+ }
+ return flowFinalNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFinalNode() {
+ if (finalNodeEClass == null) {
+ finalNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(179);
+ }
+ return finalNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getFinalNode__ValidateNoOutgoingEdges__DiagnosticChain_Map() {
+ return getFinalNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCentralBufferNode() {
+ if (centralBufferNodeEClass == null) {
+ centralBufferNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(182);
+ }
+ return centralBufferNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMergeNode() {
+ if (mergeNodeEClass == null) {
+ mergeNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(191);
+ }
+ return mergeNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMergeNode__ValidateOneOutgoingEdge__DiagnosticChain_Map() {
+ return getMergeNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMergeNode__ValidateEdges__DiagnosticChain_Map() {
+ return getMergeNode().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDecisionNode() {
+ if (decisionNodeEClass == null) {
+ decisionNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(185);
+ }
+ return decisionNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDecisionNode_DecisionInput() {
+ return (EReference) getDecisionNode().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDecisionNode_DecisionInputFlow() {
+ return (EReference) getDecisionNode().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDecisionNode__ValidateIncomingOutgoingEdges__DiagnosticChain_Map() {
+ return getDecisionNode().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDecisionNode__ValidateEdges__DiagnosticChain_Map() {
+ return getDecisionNode().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDecisionNode__ValidateDecisionInputFlowIncoming__DiagnosticChain_Map() {
+ return getDecisionNode().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDecisionNode__ValidateParameters__DiagnosticChain_Map() {
+ return getDecisionNode().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDecisionNode__ValidateZeroInputParameters__DiagnosticChain_Map() {
+ return getDecisionNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDecisionNode__ValidateIncomingObjectOneInputParameter__DiagnosticChain_Map() {
+ return getDecisionNode().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDecisionNode__ValidateIncomingControlOneInputParameter__DiagnosticChain_Map() {
+ return getDecisionNode().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDecisionNode__ValidateTwoInputParameters__DiagnosticChain_Map() {
+ return getDecisionNode().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActivityFinalNode() {
+ if (activityFinalNodeEClass == null) {
+ activityFinalNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(178);
+ }
+ return activityFinalNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getJoinNode() {
+ if (joinNodeEClass == null) {
+ joinNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(190);
+ }
+ return joinNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getJoinNode_IsCombineDuplicate() {
+ return (EAttribute) getJoinNode().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getJoinNode_JoinSpec() {
+ return (EReference) getJoinNode().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getJoinNode__ValidateOneOutgoingEdge__DiagnosticChain_Map() {
+ return getJoinNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getJoinNode__ValidateIncomingObjectFlow__DiagnosticChain_Map() {
+ return getJoinNode().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDataStoreNode() {
+ if (dataStoreNodeEClass == null) {
+ dataStoreNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(184);
+ }
+ return dataStoreNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getObjectFlow() {
+ if (objectFlowEClass == null) {
+ objectFlowEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(186);
+ }
+ return objectFlowEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getObjectFlow_IsMulticast() {
+ return (EAttribute) getObjectFlow().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getObjectFlow_IsMultireceive() {
+ return (EAttribute) getObjectFlow().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObjectFlow_Transformation() {
+ return (EReference) getObjectFlow().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObjectFlow_Selection() {
+ return (EReference) getObjectFlow().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getObjectFlow__ValidateCompatibleTypes__DiagnosticChain_Map() {
+ return getObjectFlow().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getObjectFlow__ValidateSameUpperBounds__DiagnosticChain_Map() {
+ return getObjectFlow().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getObjectFlow__ValidateTarget__DiagnosticChain_Map() {
+ return getObjectFlow().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getObjectFlow__ValidateInputAndOutputParameter__DiagnosticChain_Map() {
+ return getObjectFlow().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getObjectFlow__ValidateNoExecutableNodes__DiagnosticChain_Map() {
+ return getObjectFlow().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getObjectFlow__ValidateTransformationBehavior__DiagnosticChain_Map() {
+ return getObjectFlow().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getObjectFlow__ValidateSelectionBehavior__DiagnosticChain_Map() {
+ return getObjectFlow().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getObjectFlow__ValidateIsMulticastOrIsMultireceive__DiagnosticChain_Map() {
+ return getObjectFlow().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSequenceNode() {
+ if (sequenceNodeEClass == null) {
+ sequenceNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(172);
+ }
+ return sequenceNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceNode_ExecutableNode() {
+ return (EReference) getSequenceNode().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConditionalNode() {
+ if (conditionalNodeEClass == null) {
+ conditionalNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(144);
+ }
+ return conditionalNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getConditionalNode_IsDeterminate() {
+ return (EAttribute) getConditionalNode().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getConditionalNode_IsAssured() {
+ return (EAttribute) getConditionalNode().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConditionalNode_Clause() {
+ return (EReference) getConditionalNode().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConditionalNode_Result() {
+ return (EReference) getConditionalNode().getEStructuralFeatures()
+ .get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConditionalNode__ValidateResultNoIncoming__DiagnosticChain_Map() {
+ return getConditionalNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConditionalNode__ValidateNoInputPins__DiagnosticChain_Map() {
+ return getConditionalNode().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConditionalNode__ValidateOneClauseWithExecutableNode__DiagnosticChain_Map() {
+ return getConditionalNode().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConditionalNode__ValidateMatchingOutputPins__DiagnosticChain_Map() {
+ return getConditionalNode().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConditionalNode__ValidateExecutableNodes__DiagnosticChain_Map() {
+ return getConditionalNode().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConditionalNode__ValidateClauseNoPredecessor__DiagnosticChain_Map() {
+ return getConditionalNode().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClause() {
+ if (clauseEClass == null) {
+ clauseEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(140);
+ }
+ return clauseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClause_Test() {
+ return (EReference) getClause().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClause_Body() {
+ return (EReference) getClause().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClause_PredecessorClause() {
+ return (EReference) getClause().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClause_SuccessorClause() {
+ return (EReference) getClause().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClause_Decider() {
+ return (EReference) getClause().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClause_BodyOutput() {
+ return (EReference) getClause().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClause__ValidateDeciderOutput__DiagnosticChain_Map() {
+ return getClause().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClause__ValidateTestAndBody__DiagnosticChain_Map() {
+ return getClause().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getClause__ValidateBodyOutputPins__DiagnosticChain_Map() {
+ return getClause().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLoopNode() {
+ if (loopNodeEClass == null) {
+ loopNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(154);
+ }
+ return loopNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLoopNode_IsTestedFirst() {
+ return (EAttribute) getLoopNode().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLoopNode_BodyPart() {
+ return (EReference) getLoopNode().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLoopNode_SetupPart() {
+ return (EReference) getLoopNode().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLoopNode_Decider() {
+ return (EReference) getLoopNode().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLoopNode_Test() {
+ return (EReference) getLoopNode().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLoopNode_Result() {
+ return (EReference) getLoopNode().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLoopNode_LoopVariable() {
+ return (EReference) getLoopNode().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLoopNode_BodyOutput() {
+ return (EReference) getLoopNode().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLoopNode_LoopVariableInput() {
+ return (EReference) getLoopNode().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLoopNode__ValidateInputEdges__DiagnosticChain_Map() {
+ return getLoopNode().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLoopNode__ValidateExecutableNodes__DiagnosticChain_Map() {
+ return getLoopNode().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLoopNode__ValidateBodyOutputPins__DiagnosticChain_Map() {
+ return getLoopNode().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLoopNode__ValidateSetupTestAndBody__DiagnosticChain_Map() {
+ return getLoopNode().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLoopNode__ValidateMatchingOutputPins__DiagnosticChain_Map() {
+ return getLoopNode().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLoopNode__ValidateMatchingLoopVariables__DiagnosticChain_Map() {
+ return getLoopNode().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLoopNode__ValidateMatchingResultPins__DiagnosticChain_Map() {
+ return getLoopNode().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLoopNode__ValidateLoopVariableOutgoing__DiagnosticChain_Map() {
+ return getLoopNode().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLoopNode__ValidateResultNoIncoming__DiagnosticChain_Map() {
+ return getLoopNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExpansionNode() {
+ if (expansionNodeEClass == null) {
+ expansionNodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(152);
+ }
+ return expansionNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExpansionNode_RegionAsOutput() {
+ return (EReference) getExpansionNode().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExpansionNode__ValidateRegionAsInputOrOutput__DiagnosticChain_Map() {
+ return getExpansionNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExpansionNode_RegionAsInput() {
+ return (EReference) getExpansionNode().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExpansionRegion() {
+ if (expansionRegionEClass == null) {
+ expansionRegionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(153);
+ }
+ return expansionRegionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExpansionRegion_Mode() {
+ return (EAttribute) getExpansionRegion().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExpansionRegion_InputElement() {
+ return (EReference) getExpansionRegion().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExpansionRegion_OutputElement() {
+ return (EReference) getExpansionRegion().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getComponentRealization() {
+ if (componentRealizationEClass == null) {
+ componentRealizationEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(238);
+ }
+ return componentRealizationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComponentRealization_Abstraction() {
+ return (EReference) getComponentRealization().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComponentRealization_RealizingClassifier() {
+ return (EReference) getComponentRealization().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getComponent() {
+ if (componentEClass == null) {
+ componentEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(237);
+ }
+ return componentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getComponent_IsIndirectlyInstantiated() {
+ return (EAttribute) getComponent().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComponent_Required() {
+ return (EReference) getComponent().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComponent__ValidateNoNestedClassifiers__DiagnosticChain_Map() {
+ return getComponent().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComponent__ValidateNoPackagedElements__DiagnosticChain_Map() {
+ return getComponent().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComponent_Provided() {
+ return (EReference) getComponent().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComponent_PackagedElement() {
+ return (EReference) getComponent().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComponent_Realization() {
+ return (EReference) getComponent().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComponent__CreateOwnedClass__String_boolean() {
+ return getComponent().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComponent__CreateOwnedEnumeration__String() {
+ return getComponent().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComponent__CreateOwnedPrimitiveType__String() {
+ return getComponent().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComponent__GetProvideds() {
+ return getComponent().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComponent__CreateOwnedInterface__String() {
+ return getComponent().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComponent__GetRequireds() {
+ return getComponent().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNode() {
+ if (nodeEClass == null) {
+ nodeEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(205);
+ }
+ return nodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNode_NestedNode() {
+ return (EReference) getNode().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNode__ValidateInternalStructure__DiagnosticChain_Map() {
+ return getNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNode__CreateCommunicationPath__boolean_AggregationKind_String_int_int_Node_boolean_AggregationKind_String_int_int() {
+ return getNode().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getNode__GetCommunicationPaths() {
+ return getNode().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDevice() {
+ if (deviceEClass == null) {
+ deviceEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(204);
+ }
+ return deviceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExecutionEnvironment() {
+ if (executionEnvironmentEClass == null) {
+ executionEnvironmentEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(206);
+ }
+ return executionEnvironmentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCommunicationPath() {
+ if (communicationPathEClass == null) {
+ communicationPathEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(203);
+ }
+ return communicationPathEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFinalState() {
+ if (finalStateEClass == null) {
+ finalStateEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(234);
+ }
+ return finalStateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getFinalState__ValidateNoOutgoingTransitions__DiagnosticChain_Map() {
+ return getFinalState().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getFinalState__ValidateNoRegions__DiagnosticChain_Map() {
+ return getFinalState().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getFinalState__ValidateCannotReferenceSubmachine__DiagnosticChain_Map() {
+ return getFinalState().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getFinalState__ValidateNoEntryBehavior__DiagnosticChain_Map() {
+ return getFinalState().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getFinalState__ValidateNoExitBehavior__DiagnosticChain_Map() {
+ return getFinalState().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getFinalState__ValidateNoStateBehavior__DiagnosticChain_Map() {
+ return getFinalState().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTimeEvent() {
+ if (timeEventEClass == null) {
+ timeEventEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(200);
+ }
+ return timeEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTimeEvent_IsRelative() {
+ return (EAttribute) getTimeEvent().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimeEvent_When() {
+ return (EReference) getTimeEvent().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getTimeEvent__ValidateWhenNonNegative__DiagnosticChain_Map() {
+ return getTimeEvent().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProtocolTransition() {
+ if (protocolTransitionEClass == null) {
+ protocolTransitionEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(235);
+ }
+ return protocolTransitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProtocolTransition_PostCondition() {
+ return (EReference) getProtocolTransition().getEStructuralFeatures()
+ .get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProtocolTransition_Referred() {
+ return (EReference) getProtocolTransition().getEStructuralFeatures()
+ .get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProtocolTransition_PreCondition() {
+ return (EReference) getProtocolTransition().getEStructuralFeatures()
+ .get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProtocolTransition__ValidateBelongsToPsm__DiagnosticChain_Map() {
+ return getProtocolTransition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProtocolTransition__GetReferreds() {
+ return getProtocolTransition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProtocolTransition__ValidateAssociatedActions__DiagnosticChain_Map() {
+ return getProtocolTransition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getProtocolTransition__ValidateRefersToOperation__DiagnosticChain_Map() {
+ return getProtocolTransition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAssociationClass() {
+ if (associationClassEClass == null) {
+ associationClassEClass = (EClass) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(236);
+ }
+ return associationClassEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAssociationClass__ValidateCannotBeDefined__DiagnosticChain_Map() {
+ return getAssociationClass().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAssociationClass__ValidateDisjointAttributesEnds__DiagnosticChain_Map() {
+ return getAssociationClass().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getVisibilityKind() {
+ if (visibilityKindEEnum == null) {
+ visibilityKindEEnum = (EEnum) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(23);
+ }
+ return visibilityKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getCallConcurrencyKind() {
+ if (callConcurrencyKindEEnum == null) {
+ callConcurrencyKindEEnum = (EEnum) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(49);
+ }
+ return callConcurrencyKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getTransitionKind() {
+ if (transitionKindEEnum == null) {
+ transitionKindEEnum = (EEnum) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(67);
+ }
+ return transitionKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getPseudostateKind() {
+ if (pseudostateKindEEnum == null) {
+ pseudostateKindEEnum = (EEnum) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(68);
+ }
+ return pseudostateKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getAggregationKind() {
+ if (aggregationKindEEnum == null) {
+ aggregationKindEEnum = (EEnum) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(72);
+ }
+ return aggregationKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getParameterDirectionKind() {
+ if (parameterDirectionKindEEnum == null) {
+ parameterDirectionKindEEnum = (EEnum) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(43);
+ }
+ return parameterDirectionKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getParameterEffectKind() {
+ if (parameterEffectKindEEnum == null) {
+ parameterEffectKindEEnum = (EEnum) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(44);
+ }
+ return parameterEffectKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getConnectorKind() {
+ if (connectorKindEEnum == null) {
+ connectorKindEEnum = (EEnum) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(92);
+ }
+ return connectorKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getMessageKind() {
+ if (messageKindEEnum == null) {
+ messageKindEEnum = (EEnum) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(220);
+ }
+ return messageKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getMessageSort() {
+ if (messageSortEEnum == null) {
+ messageSortEEnum = (EEnum) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(221);
+ }
+ return messageSortEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getObjectNodeOrderingKind() {
+ if (objectNodeOrderingKindEEnum == null) {
+ objectNodeOrderingKindEEnum = (EEnum) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(115);
+ }
+ return objectNodeOrderingKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getInteractionOperatorKind() {
+ if (interactionOperatorKindEEnum == null) {
+ interactionOperatorKindEEnum = (EEnum) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(227);
+ }
+ return interactionOperatorKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getExpansionKind() {
+ if (expansionKindEEnum == null) {
+ expansionKindEEnum = (EEnum) EPackage.Registry.INSTANCE
+ .getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(129);
+ }
+ return expansionKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLFactory getUMLFactory() {
+ return (UMLFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isLoaded = false;
+
+ /**
+ * Laods the package and any sub-packages from their serialized form.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void loadPackage() {
+ if (isLoaded)
+ return;
+ isLoaded = true;
+
+ URL url = getClass().getResource(packageFilename);
+ if (url == null) {
+ throw new RuntimeException(
+ "Missing serialized package: " + packageFilename); //$NON-NLS-1$
+ }
+ URI uri = URI.createURI(url.toString());
+ Resource resource = new EcoreResourceFactoryImpl().createResource(uri);
+ try {
+ resource.load(null);
+ } catch (IOException exception) {
+ throw new WrappedException(exception);
+ }
+ initializeFromLoadedEPackage(this,
+ (EPackage) resource.getContents().get(0));
+ createResource(eNS_URI);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isFixed = false;
+
+ /**
+ * Fixes up the loaded package, to make it appear as if it had been programmatically built.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void fixPackageContents() {
+ if (isFixed)
+ return;
+ isFixed = true;
+ fixEClassifiers();
+ }
+
+ /**
+ * Sets the instance class on the given classifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void fixInstanceClass(EClassifier eClassifier) {
+ if (eClassifier.getInstanceClassName() == null) {
+ eClassifier.setInstanceClassName(
+ "org.eclipse.uml2.uml." + eClassifier.getName()); //$NON-NLS-1$
+ setGeneratedClassName(eClassifier);
+ }
+ }
+
+} //UMLPackageImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UnmarshallActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UnmarshallActionImpl.java
new file mode 100644
index 00000000..65f4c574
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UnmarshallActionImpl.java
@@ -0,0 +1,984 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.UnmarshallActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unmarshall Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.UnmarshallActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.UnmarshallActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.UnmarshallActionImpl#getObject <em>Object</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.UnmarshallActionImpl#getResults <em>Result</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.UnmarshallActionImpl#getUnmarshallType <em>Unmarshall Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class UnmarshallActionImpl
+ extends ActionImpl
+ implements UnmarshallAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UnmarshallActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.UNMARSHALL_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.UNMARSHALL_ACTION__OUTPUT, OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.UNMARSHALL_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.UNMARSHALL_ACTION__INPUT, INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.UNMARSHALL_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputPin> getResults() {
+ return (EList<OutputPin>) eDynamicGet(
+ UMLPackage.UNMARSHALL_ACTION__RESULT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.UNMARSHALL_ACTION__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ getResults().add(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult(String name, Type type) {
+ return getResult(name, type, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult(String name, Type type, boolean ignoreCase,
+ boolean createOnDemand) {
+ resultLoop : for (OutputPin result : getResults()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(result.getName())
+ : name.equals(result.getName())))
+ continue resultLoop;
+ if (type != null && !type.equals(result.getType()))
+ continue resultLoop;
+ return result;
+ }
+ return createOnDemand
+ ? createResult(name, type)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public OutputPin getResult(String name, Type type, boolean ignoreCase) {
+ return getResult(name, type, ignoreCase, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getUnmarshallType() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.UNMARSHALL_ACTION__UNMARSHALL_TYPE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.UNMARSHALL_ACTION__UNMARSHALL_TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier basicGetUnmarshallType() {
+ return (Classifier) eDynamicGet(
+ UMLPackage.UNMARSHALL_ACTION__UNMARSHALL_TYPE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.UNMARSHALL_ACTION__UNMARSHALL_TYPE, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnmarshallType(Classifier newUnmarshallType) {
+ eDynamicSet(
+ UMLPackage.UNMARSHALL_ACTION__UNMARSHALL_TYPE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.UNMARSHALL_ACTION__UNMARSHALL_TYPE,
+ newUnmarshallType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.UNMARSHALL_ACTION__OBJECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.UNMARSHALL_ACTION__OBJECT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetObject() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.UNMARSHALL_ACTION__OBJECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.UNMARSHALL_ACTION__OBJECT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObject(InputPin newObject,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newObject,
+ UMLPackage.UNMARSHALL_ACTION__OBJECT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObject(InputPin newObject) {
+ eDynamicSet(
+ UMLPackage.UNMARSHALL_ACTION__OBJECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.UNMARSHALL_ACTION__OBJECT, newObject);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type, EClass eClass) {
+ InputPin newObject = (InputPin) create(eClass);
+ setObject(newObject);
+ if (name != null)
+ newObject.setName(name);
+ if (type != null)
+ newObject.setType(type);
+ return newObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createObject(String name, Type type) {
+ return createObject(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfObject(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return UnmarshallActionOperations.validateMultiplicityOfObject(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateObjectType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return UnmarshallActionOperations.validateObjectType(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNumberOfResult(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return UnmarshallActionOperations.validateNumberOfResult(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeOrderingAndMultiplicity(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return UnmarshallActionOperations
+ .validateTypeOrderingAndMultiplicity(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateStructuralFeature(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return UnmarshallActionOperations.validateStructuralFeature(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.UNMARSHALL_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.UNMARSHALL_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.UNMARSHALL_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.UNMARSHALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.UNMARSHALL_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.UNMARSHALL_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.UNMARSHALL_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.UNMARSHALL_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.UNMARSHALL_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.UNMARSHALL_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.UNMARSHALL_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.UNMARSHALL_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ case UMLPackage.UNMARSHALL_ACTION__RESULT :
+ return ((InternalEList<?>) getResults()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.UNMARSHALL_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.UNMARSHALL_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.UNMARSHALL_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.UNMARSHALL_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.UNMARSHALL_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.UNMARSHALL_ACTION__NAME :
+ return getName();
+ case UMLPackage.UNMARSHALL_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.UNMARSHALL_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.UNMARSHALL_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.UNMARSHALL_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.UNMARSHALL_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.UNMARSHALL_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.UNMARSHALL_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.UNMARSHALL_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.UNMARSHALL_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.UNMARSHALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.UNMARSHALL_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.UNMARSHALL_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.UNMARSHALL_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.UNMARSHALL_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.UNMARSHALL_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.UNMARSHALL_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.UNMARSHALL_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.UNMARSHALL_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.UNMARSHALL_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.UNMARSHALL_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.UNMARSHALL_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.UNMARSHALL_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.UNMARSHALL_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ case UMLPackage.UNMARSHALL_ACTION__RESULT :
+ return getResults();
+ case UMLPackage.UNMARSHALL_ACTION__UNMARSHALL_TYPE :
+ if (resolve)
+ return getUnmarshallType();
+ return basicGetUnmarshallType();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.UNMARSHALL_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__RESULT :
+ getResults().clear();
+ getResults().addAll((Collection<? extends OutputPin>) newValue);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__UNMARSHALL_TYPE :
+ setUnmarshallType((Classifier) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.UNMARSHALL_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__RESULT :
+ getResults().clear();
+ return;
+ case UMLPackage.UNMARSHALL_ACTION__UNMARSHALL_TYPE :
+ setUnmarshallType((Classifier) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.UNMARSHALL_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.UNMARSHALL_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.UNMARSHALL_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.UNMARSHALL_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.UNMARSHALL_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.UNMARSHALL_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.UNMARSHALL_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.UNMARSHALL_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.UNMARSHALL_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.UNMARSHALL_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.UNMARSHALL_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.UNMARSHALL_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.UNMARSHALL_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.UNMARSHALL_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.UNMARSHALL_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.UNMARSHALL_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.UNMARSHALL_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.UNMARSHALL_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.UNMARSHALL_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.UNMARSHALL_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.UNMARSHALL_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.UNMARSHALL_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.UNMARSHALL_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.UNMARSHALL_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.UNMARSHALL_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.UNMARSHALL_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.UNMARSHALL_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.UNMARSHALL_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.UNMARSHALL_ACTION__OBJECT :
+ return basicGetObject() != null;
+ case UMLPackage.UNMARSHALL_ACTION__RESULT :
+ return !getResults().isEmpty();
+ case UMLPackage.UNMARSHALL_ACTION__UNMARSHALL_TYPE :
+ return basicGetUnmarshallType() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.UNMARSHALL_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.UNMARSHALL_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.UNMARSHALL_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.UNMARSHALL_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.UNMARSHALL_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.UNMARSHALL_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.UNMARSHALL_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.UNMARSHALL_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.UNMARSHALL_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.UNMARSHALL_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.UNMARSHALL_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.UNMARSHALL_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.UNMARSHALL_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.UNMARSHALL_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.UNMARSHALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.UNMARSHALL_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.UNMARSHALL_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.UNMARSHALL_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.UNMARSHALL_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.UNMARSHALL_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.UNMARSHALL_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.UNMARSHALL_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.UNMARSHALL_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.UNMARSHALL_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.UNMARSHALL_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.UNMARSHALL_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.UNMARSHALL_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.UNMARSHALL_ACTION___VALIDATE_STRUCTURAL_FEATURE__DIAGNOSTICCHAIN_MAP :
+ return validateStructuralFeature(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___VALIDATE_NUMBER_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateNumberOfResult(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___VALIDATE_TYPE_ORDERING_AND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOrderingAndMultiplicity(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfObject(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.UNMARSHALL_ACTION___VALIDATE_OBJECT_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateObjectType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.UNMARSHALL_ACTION__RESULT);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.UNMARSHALL_ACTION__OBJECT};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.UNMARSHALL_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.UNMARSHALL_ACTION__OBJECT);
+ }
+
+} //UnmarshallActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UsageImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UsageImpl.java
new file mode 100644
index 00000000..237e5d8b
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UsageImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2005, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Usage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Usage</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class UsageImpl
+ extends DependencyImpl
+ implements Usage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UsageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.USAGE;
+ }
+
+} //UsageImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UseCaseImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UseCaseImpl.java
new file mode 100644
index 00000000..14f2fcbc
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/UseCaseImpl.java
@@ -0,0 +1,1372 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.UseCaseOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Use Case</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.UseCaseImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.UseCaseImpl#getExtends <em>Extend</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.UseCaseImpl#getExtensionPoints <em>Extension Point</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.UseCaseImpl#getIncludes <em>Include</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.UseCaseImpl#getSubjects <em>Subject</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class UseCaseImpl
+ extends BehavioredClassifierImpl
+ implements UseCase {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UseCaseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.USE_CASE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getOwnedMembers() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<NamedElement> ownedMembers = (EList<NamedElement>) cache.get(
+ eResource, this, UMLPackage.Literals.NAMESPACE__OWNED_MEMBER);
+ if (ownedMembers == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.NAMESPACE__OWNED_MEMBER,
+ ownedMembers = new DerivedUnionEObjectEList<NamedElement>(
+ NamedElement.class, this,
+ UMLPackage.USE_CASE__OWNED_MEMBER,
+ OWNED_MEMBER_ESUBSETS));
+ }
+ return ownedMembers;
+ }
+ return new DerivedUnionEObjectEList<NamedElement>(NamedElement.class,
+ this, UMLPackage.USE_CASE__OWNED_MEMBER, OWNED_MEMBER_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Include> getIncludes() {
+ return (EList<Include>) eDynamicGet(
+ UMLPackage.USE_CASE__INCLUDE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.USE_CASE__INCLUDE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Include createInclude(String name, UseCase addition) {
+ Include newInclude = (Include) create(UMLPackage.Literals.INCLUDE);
+ getIncludes().add(newInclude);
+ if (name != null)
+ newInclude.setName(name);
+ if (addition != null)
+ newInclude.setAddition(addition);
+ return newInclude;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Include getInclude(String name, UseCase addition) {
+ return getInclude(name, addition, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Include getInclude(String name, UseCase addition, boolean ignoreCase,
+ boolean createOnDemand) {
+ includeLoop : for (Include include : getIncludes()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(include.getName())
+ : name.equals(include.getName())))
+ continue includeLoop;
+ if (addition != null && !addition.equals(include.getAddition()))
+ continue includeLoop;
+ return include;
+ }
+ return createOnDemand
+ ? createInclude(name, addition)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Extend> getExtends() {
+ return (EList<Extend>) eDynamicGet(
+ UMLPackage.USE_CASE__EXTEND - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.USE_CASE__EXTEND, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Extend createExtend(String name, UseCase extendedCase) {
+ Extend newExtend = (Extend) create(UMLPackage.Literals.EXTEND);
+ getExtends().add(newExtend);
+ if (name != null)
+ newExtend.setName(name);
+ if (extendedCase != null)
+ newExtend.setExtendedCase(extendedCase);
+ return newExtend;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Extend getExtend(String name, UseCase extendedCase) {
+ return getExtend(name, extendedCase, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Extend getExtend(String name, UseCase extendedCase,
+ boolean ignoreCase, boolean createOnDemand) {
+ extendLoop : for (Extend extend : getExtends()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(extend.getName())
+ : name.equals(extend.getName())))
+ continue extendLoop;
+ if (extendedCase != null
+ && !extendedCase.equals(extend.getExtendedCase()))
+ continue extendLoop;
+ return extend;
+ }
+ return createOnDemand
+ ? createExtend(name, extendedCase)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ExtensionPoint> getExtensionPoints() {
+ return (EList<ExtensionPoint>) eDynamicGet(
+ UMLPackage.USE_CASE__EXTENSION_POINT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.USE_CASE__EXTENSION_POINT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionPoint createExtensionPoint(String name) {
+ ExtensionPoint newExtensionPoint = (ExtensionPoint) create(
+ UMLPackage.Literals.EXTENSION_POINT);
+ getExtensionPoints().add(newExtensionPoint);
+ if (name != null)
+ newExtensionPoint.setName(name);
+ return newExtensionPoint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionPoint getExtensionPoint(String name) {
+ return getExtensionPoint(name, false, false);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionPoint getExtensionPoint(String name, boolean ignoreCase,
+ boolean createOnDemand) {
+ extensionPointLoop : for (ExtensionPoint extensionPoint : getExtensionPoints()) {
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(extensionPoint.getName())
+ : name.equals(extensionPoint.getName())))
+ continue extensionPointLoop;
+ return extensionPoint;
+ }
+ return createOnDemand
+ ? createExtensionPoint(name)
+ : null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Classifier> getSubjects() {
+ return (EList<Classifier>) eDynamicGet(
+ UMLPackage.USE_CASE__SUBJECT - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.USE_CASE__SUBJECT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getSubject(String name) {
+ return getSubject(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getSubject(String name, boolean ignoreCase,
+ EClass eClass) {
+ subjectLoop : for (Classifier subject : getSubjects()) {
+ if (eClass != null && !eClass.isInstance(subject))
+ continue subjectLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(subject.getName())
+ : name.equals(subject.getName())))
+ continue subjectLoop;
+ return subject;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMustHaveName(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return UseCaseOperations.validateMustHaveName(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBinaryAssociations(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return UseCaseOperations.validateBinaryAssociations(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoAssociationToUseCase(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return UseCaseOperations.validateNoAssociationToUseCase(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCannotIncludeSelf(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return UseCaseOperations.validateCannotIncludeSelf(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UseCase> allIncludedUseCases() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<UseCase> result = (EList<UseCase>) cache.get(this,
+ UMLPackage.Literals.USE_CASE___ALL_INCLUDED_USE_CASES);
+ if (result == null) {
+ cache.put(this,
+ UMLPackage.Literals.USE_CASE___ALL_INCLUDED_USE_CASES,
+ result = UseCaseOperations.allIncludedUseCases(this));
+ }
+ return result;
+ }
+ return UseCaseOperations.allIncludedUseCases(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.USE_CASE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.USE_CASE__OWNED_RULE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.USE_CASE__ELEMENT_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getElementImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.USE_CASE__PACKAGE_IMPORT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPackageImports())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.USE_CASE__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.USE_CASE__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.USE_CASE__TEMPLATE_BINDING :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.USE_CASE__OWNED_TEMPLATE_SIGNATURE :
+ TemplateSignature ownedTemplateSignature = basicGetOwnedTemplateSignature();
+ if (ownedTemplateSignature != null)
+ msgs = ((InternalEObject) ownedTemplateSignature)
+ .eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - UMLPackage.USE_CASE__OWNED_TEMPLATE_SIGNATURE,
+ null, msgs);
+ return basicSetOwnedTemplateSignature(
+ (TemplateSignature) otherEnd, msgs);
+ case UMLPackage.USE_CASE__GENERALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getGeneralizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.USE_CASE__POWERTYPE_EXTENT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getPowertypeExtents())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.USE_CASE__USE_CASE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getUseCases())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.USE_CASE__SUBSTITUTION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubstitutions())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.USE_CASE__INTERFACE_REALIZATION :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getInterfaceRealizations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.USE_CASE__EXTEND :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getExtends())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.USE_CASE__EXTENSION_POINT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getExtensionPoints())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.USE_CASE__INCLUDE :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getIncludes())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.USE_CASE__SUBJECT :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getSubjects())
+ .basicAdd(otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.USE_CASE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.USE_CASE__OWNED_RULE :
+ return ((InternalEList<?>) getOwnedRules())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__ELEMENT_IMPORT :
+ return ((InternalEList<?>) getElementImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__PACKAGE_IMPORT :
+ return ((InternalEList<?>) getPackageImports())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.USE_CASE__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.USE_CASE__TEMPLATE_BINDING :
+ return ((InternalEList<?>) getTemplateBindings())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__OWNED_TEMPLATE_SIGNATURE :
+ return basicSetOwnedTemplateSignature(null, msgs);
+ case UMLPackage.USE_CASE__COLLABORATION_USE :
+ return ((InternalEList<?>) getCollaborationUses())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__GENERALIZATION :
+ return ((InternalEList<?>) getGeneralizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__POWERTYPE_EXTENT :
+ return ((InternalEList<?>) getPowertypeExtents())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__OWNED_USE_CASE :
+ return ((InternalEList<?>) getOwnedUseCases())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__USE_CASE :
+ return ((InternalEList<?>) getUseCases()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.USE_CASE__SUBSTITUTION :
+ return ((InternalEList<?>) getSubstitutions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__INTERFACE_REALIZATION :
+ return ((InternalEList<?>) getInterfaceRealizations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__OWNED_BEHAVIOR :
+ return ((InternalEList<?>) getOwnedBehaviors())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__EXTEND :
+ return ((InternalEList<?>) getExtends()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.USE_CASE__EXTENSION_POINT :
+ return ((InternalEList<?>) getExtensionPoints())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.USE_CASE__INCLUDE :
+ return ((InternalEList<?>) getIncludes()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.USE_CASE__SUBJECT :
+ return ((InternalEList<?>) getSubjects()).basicRemove(otherEnd,
+ msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.USE_CASE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.USE_CASE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.USE_CASE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.USE_CASE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.USE_CASE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.USE_CASE__NAME :
+ return getName();
+ case UMLPackage.USE_CASE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.USE_CASE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.USE_CASE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.USE_CASE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.USE_CASE__OWNED_RULE :
+ return getOwnedRules();
+ case UMLPackage.USE_CASE__ELEMENT_IMPORT :
+ return getElementImports();
+ case UMLPackage.USE_CASE__PACKAGE_IMPORT :
+ return getPackageImports();
+ case UMLPackage.USE_CASE__OWNED_MEMBER :
+ return getOwnedMembers();
+ case UMLPackage.USE_CASE__IMPORTED_MEMBER :
+ return getImportedMembers();
+ case UMLPackage.USE_CASE__MEMBER :
+ return getMembers();
+ case UMLPackage.USE_CASE__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.USE_CASE__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.USE_CASE__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.USE_CASE__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.USE_CASE__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.USE_CASE__PACKAGE :
+ if (resolve)
+ return getPackage();
+ return basicGetPackage();
+ case UMLPackage.USE_CASE__TEMPLATE_BINDING :
+ return getTemplateBindings();
+ case UMLPackage.USE_CASE__OWNED_TEMPLATE_SIGNATURE :
+ if (resolve)
+ return getOwnedTemplateSignature();
+ return basicGetOwnedTemplateSignature();
+ case UMLPackage.USE_CASE__FEATURE :
+ return getFeatures();
+ case UMLPackage.USE_CASE__ATTRIBUTE :
+ return getAttributes();
+ case UMLPackage.USE_CASE__COLLABORATION_USE :
+ return getCollaborationUses();
+ case UMLPackage.USE_CASE__GENERAL :
+ return getGenerals();
+ case UMLPackage.USE_CASE__GENERALIZATION :
+ return getGeneralizations();
+ case UMLPackage.USE_CASE__POWERTYPE_EXTENT :
+ return getPowertypeExtents();
+ case UMLPackage.USE_CASE__INHERITED_MEMBER :
+ return getInheritedMembers();
+ case UMLPackage.USE_CASE__IS_ABSTRACT :
+ return isAbstract();
+ case UMLPackage.USE_CASE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization();
+ case UMLPackage.USE_CASE__OWNED_USE_CASE :
+ return getOwnedUseCases();
+ case UMLPackage.USE_CASE__USE_CASE :
+ return getUseCases();
+ case UMLPackage.USE_CASE__REDEFINED_CLASSIFIER :
+ return getRedefinedClassifiers();
+ case UMLPackage.USE_CASE__REPRESENTATION :
+ if (resolve)
+ return getRepresentation();
+ return basicGetRepresentation();
+ case UMLPackage.USE_CASE__SUBSTITUTION :
+ return getSubstitutions();
+ case UMLPackage.USE_CASE__CLASSIFIER_BEHAVIOR :
+ if (resolve)
+ return getClassifierBehavior();
+ return basicGetClassifierBehavior();
+ case UMLPackage.USE_CASE__INTERFACE_REALIZATION :
+ return getInterfaceRealizations();
+ case UMLPackage.USE_CASE__OWNED_BEHAVIOR :
+ return getOwnedBehaviors();
+ case UMLPackage.USE_CASE__EXTEND :
+ return getExtends();
+ case UMLPackage.USE_CASE__EXTENSION_POINT :
+ return getExtensionPoints();
+ case UMLPackage.USE_CASE__INCLUDE :
+ return getIncludes();
+ case UMLPackage.USE_CASE__SUBJECT :
+ return getSubjects();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.USE_CASE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.USE_CASE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.USE_CASE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.USE_CASE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.USE_CASE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.USE_CASE__OWNED_RULE :
+ getOwnedRules().clear();
+ getOwnedRules()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.USE_CASE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ getElementImports()
+ .addAll((Collection<? extends ElementImport>) newValue);
+ return;
+ case UMLPackage.USE_CASE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ getPackageImports()
+ .addAll((Collection<? extends PackageImport>) newValue);
+ return;
+ case UMLPackage.USE_CASE__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.USE_CASE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.USE_CASE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.USE_CASE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ case UMLPackage.USE_CASE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ getTemplateBindings()
+ .addAll((Collection<? extends TemplateBinding>) newValue);
+ return;
+ case UMLPackage.USE_CASE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) newValue);
+ return;
+ case UMLPackage.USE_CASE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ getCollaborationUses()
+ .addAll((Collection<? extends CollaborationUse>) newValue);
+ return;
+ case UMLPackage.USE_CASE__GENERAL :
+ getGenerals().clear();
+ getGenerals()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.USE_CASE__GENERALIZATION :
+ getGeneralizations().clear();
+ getGeneralizations()
+ .addAll((Collection<? extends Generalization>) newValue);
+ return;
+ case UMLPackage.USE_CASE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ getPowertypeExtents()
+ .addAll((Collection<? extends GeneralizationSet>) newValue);
+ return;
+ case UMLPackage.USE_CASE__IS_ABSTRACT :
+ setIsAbstract((Boolean) newValue);
+ return;
+ case UMLPackage.USE_CASE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization((Boolean) newValue);
+ return;
+ case UMLPackage.USE_CASE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ getOwnedUseCases()
+ .addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.USE_CASE__USE_CASE :
+ getUseCases().clear();
+ getUseCases().addAll((Collection<? extends UseCase>) newValue);
+ return;
+ case UMLPackage.USE_CASE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ getRedefinedClassifiers()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ case UMLPackage.USE_CASE__REPRESENTATION :
+ setRepresentation((CollaborationUse) newValue);
+ return;
+ case UMLPackage.USE_CASE__SUBSTITUTION :
+ getSubstitutions().clear();
+ getSubstitutions()
+ .addAll((Collection<? extends Substitution>) newValue);
+ return;
+ case UMLPackage.USE_CASE__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) newValue);
+ return;
+ case UMLPackage.USE_CASE__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ getInterfaceRealizations().addAll(
+ (Collection<? extends InterfaceRealization>) newValue);
+ return;
+ case UMLPackage.USE_CASE__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ getOwnedBehaviors()
+ .addAll((Collection<? extends Behavior>) newValue);
+ return;
+ case UMLPackage.USE_CASE__EXTEND :
+ getExtends().clear();
+ getExtends().addAll((Collection<? extends Extend>) newValue);
+ return;
+ case UMLPackage.USE_CASE__EXTENSION_POINT :
+ getExtensionPoints().clear();
+ getExtensionPoints()
+ .addAll((Collection<? extends ExtensionPoint>) newValue);
+ return;
+ case UMLPackage.USE_CASE__INCLUDE :
+ getIncludes().clear();
+ getIncludes().addAll((Collection<? extends Include>) newValue);
+ return;
+ case UMLPackage.USE_CASE__SUBJECT :
+ getSubjects().clear();
+ getSubjects()
+ .addAll((Collection<? extends Classifier>) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.USE_CASE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.USE_CASE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.USE_CASE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.USE_CASE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.USE_CASE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.USE_CASE__OWNED_RULE :
+ getOwnedRules().clear();
+ return;
+ case UMLPackage.USE_CASE__ELEMENT_IMPORT :
+ getElementImports().clear();
+ return;
+ case UMLPackage.USE_CASE__PACKAGE_IMPORT :
+ getPackageImports().clear();
+ return;
+ case UMLPackage.USE_CASE__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.USE_CASE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.USE_CASE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.USE_CASE__PACKAGE :
+ setPackage((org.eclipse.uml2.uml.Package) null);
+ return;
+ case UMLPackage.USE_CASE__TEMPLATE_BINDING :
+ getTemplateBindings().clear();
+ return;
+ case UMLPackage.USE_CASE__OWNED_TEMPLATE_SIGNATURE :
+ setOwnedTemplateSignature((TemplateSignature) null);
+ return;
+ case UMLPackage.USE_CASE__COLLABORATION_USE :
+ getCollaborationUses().clear();
+ return;
+ case UMLPackage.USE_CASE__GENERAL :
+ getGenerals().clear();
+ return;
+ case UMLPackage.USE_CASE__GENERALIZATION :
+ getGeneralizations().clear();
+ return;
+ case UMLPackage.USE_CASE__POWERTYPE_EXTENT :
+ getPowertypeExtents().clear();
+ return;
+ case UMLPackage.USE_CASE__IS_ABSTRACT :
+ setIsAbstract(IS_ABSTRACT_EDEFAULT);
+ return;
+ case UMLPackage.USE_CASE__IS_FINAL_SPECIALIZATION :
+ setIsFinalSpecialization(IS_FINAL_SPECIALIZATION_EDEFAULT);
+ return;
+ case UMLPackage.USE_CASE__OWNED_USE_CASE :
+ getOwnedUseCases().clear();
+ return;
+ case UMLPackage.USE_CASE__USE_CASE :
+ getUseCases().clear();
+ return;
+ case UMLPackage.USE_CASE__REDEFINED_CLASSIFIER :
+ getRedefinedClassifiers().clear();
+ return;
+ case UMLPackage.USE_CASE__REPRESENTATION :
+ setRepresentation((CollaborationUse) null);
+ return;
+ case UMLPackage.USE_CASE__SUBSTITUTION :
+ getSubstitutions().clear();
+ return;
+ case UMLPackage.USE_CASE__CLASSIFIER_BEHAVIOR :
+ setClassifierBehavior((Behavior) null);
+ return;
+ case UMLPackage.USE_CASE__INTERFACE_REALIZATION :
+ getInterfaceRealizations().clear();
+ return;
+ case UMLPackage.USE_CASE__OWNED_BEHAVIOR :
+ getOwnedBehaviors().clear();
+ return;
+ case UMLPackage.USE_CASE__EXTEND :
+ getExtends().clear();
+ return;
+ case UMLPackage.USE_CASE__EXTENSION_POINT :
+ getExtensionPoints().clear();
+ return;
+ case UMLPackage.USE_CASE__INCLUDE :
+ getIncludes().clear();
+ return;
+ case UMLPackage.USE_CASE__SUBJECT :
+ getSubjects().clear();
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.USE_CASE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.USE_CASE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.USE_CASE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.USE_CASE__OWNER :
+ return isSetOwner();
+ case UMLPackage.USE_CASE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.USE_CASE__NAME :
+ return isSetName();
+ case UMLPackage.USE_CASE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.USE_CASE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.USE_CASE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.USE_CASE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.USE_CASE__OWNED_RULE :
+ return !getOwnedRules().isEmpty();
+ case UMLPackage.USE_CASE__ELEMENT_IMPORT :
+ return !getElementImports().isEmpty();
+ case UMLPackage.USE_CASE__PACKAGE_IMPORT :
+ return !getPackageImports().isEmpty();
+ case UMLPackage.USE_CASE__OWNED_MEMBER :
+ return isSetOwnedMembers();
+ case UMLPackage.USE_CASE__IMPORTED_MEMBER :
+ return !getImportedMembers().isEmpty();
+ case UMLPackage.USE_CASE__MEMBER :
+ return isSetMembers();
+ case UMLPackage.USE_CASE__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.USE_CASE__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.USE_CASE__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.USE_CASE__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.USE_CASE__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.USE_CASE__PACKAGE :
+ return basicGetPackage() != null;
+ case UMLPackage.USE_CASE__TEMPLATE_BINDING :
+ return !getTemplateBindings().isEmpty();
+ case UMLPackage.USE_CASE__OWNED_TEMPLATE_SIGNATURE :
+ return isSetOwnedTemplateSignature();
+ case UMLPackage.USE_CASE__FEATURE :
+ return isSetFeatures();
+ case UMLPackage.USE_CASE__ATTRIBUTE :
+ return isSetAttributes();
+ case UMLPackage.USE_CASE__COLLABORATION_USE :
+ return !getCollaborationUses().isEmpty();
+ case UMLPackage.USE_CASE__GENERAL :
+ return !getGenerals().isEmpty();
+ case UMLPackage.USE_CASE__GENERALIZATION :
+ return !getGeneralizations().isEmpty();
+ case UMLPackage.USE_CASE__POWERTYPE_EXTENT :
+ return !getPowertypeExtents().isEmpty();
+ case UMLPackage.USE_CASE__INHERITED_MEMBER :
+ return !getInheritedMembers().isEmpty();
+ case UMLPackage.USE_CASE__IS_ABSTRACT :
+ return isAbstract() != IS_ABSTRACT_EDEFAULT;
+ case UMLPackage.USE_CASE__IS_FINAL_SPECIALIZATION :
+ return isFinalSpecialization() != IS_FINAL_SPECIALIZATION_EDEFAULT;
+ case UMLPackage.USE_CASE__OWNED_USE_CASE :
+ return !getOwnedUseCases().isEmpty();
+ case UMLPackage.USE_CASE__USE_CASE :
+ return !getUseCases().isEmpty();
+ case UMLPackage.USE_CASE__REDEFINED_CLASSIFIER :
+ return !getRedefinedClassifiers().isEmpty();
+ case UMLPackage.USE_CASE__REPRESENTATION :
+ return basicGetRepresentation() != null;
+ case UMLPackage.USE_CASE__SUBSTITUTION :
+ return !getSubstitutions().isEmpty();
+ case UMLPackage.USE_CASE__CLASSIFIER_BEHAVIOR :
+ return basicGetClassifierBehavior() != null;
+ case UMLPackage.USE_CASE__INTERFACE_REALIZATION :
+ return !getInterfaceRealizations().isEmpty();
+ case UMLPackage.USE_CASE__OWNED_BEHAVIOR :
+ return !getOwnedBehaviors().isEmpty();
+ case UMLPackage.USE_CASE__EXTEND :
+ return !getExtends().isEmpty();
+ case UMLPackage.USE_CASE__EXTENSION_POINT :
+ return !getExtensionPoints().isEmpty();
+ case UMLPackage.USE_CASE__INCLUDE :
+ return !getIncludes().isEmpty();
+ case UMLPackage.USE_CASE__SUBJECT :
+ return !getSubjects().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.USE_CASE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.USE_CASE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.USE_CASE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.USE_CASE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.USE_CASE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.USE_CASE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.USE_CASE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.USE_CASE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.USE_CASE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.USE_CASE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.USE_CASE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.USE_CASE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.USE_CASE___GET_MODEL :
+ return getModel();
+ case UMLPackage.USE_CASE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.USE_CASE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.USE_CASE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.USE_CASE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.USE_CASE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.USE_CASE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.USE_CASE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.USE_CASE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.USE_CASE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.USE_CASE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.USE_CASE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.USE_CASE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.USE_CASE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.USE_CASE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.USE_CASE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.USE_CASE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.USE_CASE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.USE_CASE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.USE_CASE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.USE_CASE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.USE_CASE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.USE_CASE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.USE_CASE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.USE_CASE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.USE_CASE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.USE_CASE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.USE_CASE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.USE_CASE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.USE_CASE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.USE_CASE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.USE_CASE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.USE_CASE___SEPARATOR :
+ return separator();
+ case UMLPackage.USE_CASE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.USE_CASE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP :
+ return validateMembersDistinguishable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___VALIDATE_CANNOT_IMPORT_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___VALIDATE_CANNOT_IMPORT_OWNED_MEMBERS__DIAGNOSTICCHAIN_MAP :
+ return validateCannotImportOwnedMembers(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND :
+ return createElementImport(
+ (PackageableElement) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.USE_CASE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND :
+ return createPackageImport(
+ (org.eclipse.uml2.uml.Package) arguments.get(0),
+ (VisibilityKind) arguments.get(1));
+ case UMLPackage.USE_CASE___GET_IMPORTED_ELEMENTS :
+ return getImportedElements();
+ case UMLPackage.USE_CASE___GET_IMPORTED_PACKAGES :
+ return getImportedPackages();
+ case UMLPackage.USE_CASE___GET_OWNED_MEMBERS :
+ return getOwnedMembers();
+ case UMLPackage.USE_CASE___EXCLUDE_COLLISIONS__ELIST :
+ return excludeCollisions(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.USE_CASE___GET_NAMES_OF_MEMBER__NAMEDELEMENT :
+ return getNamesOfMember((NamedElement) arguments.get(0));
+ case UMLPackage.USE_CASE___IMPORT_MEMBERS__ELIST :
+ return importMembers(
+ (EList<PackageableElement>) arguments.get(0));
+ case UMLPackage.USE_CASE___GET_IMPORTED_MEMBERS :
+ return getImportedMembers();
+ case UMLPackage.USE_CASE___MEMBERS_ARE_DISTINGUISHABLE :
+ return membersAreDistinguishable();
+ case UMLPackage.USE_CASE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.USE_CASE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.USE_CASE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.USE_CASE___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.USE_CASE___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT :
+ return createAssociation((Boolean) arguments.get(0),
+ (AggregationKind) arguments.get(1),
+ (String) arguments.get(2), (Integer) arguments.get(3),
+ (Integer) arguments.get(4), (Type) arguments.get(5),
+ (Boolean) arguments.get(6),
+ (AggregationKind) arguments.get(7),
+ (String) arguments.get(8), (Integer) arguments.get(9),
+ (Integer) arguments.get(10));
+ case UMLPackage.USE_CASE___GET_ASSOCIATIONS :
+ return getAssociations();
+ case UMLPackage.USE_CASE___CONFORMS_TO__TYPE :
+ return conformsTo((Type) arguments.get(0));
+ case UMLPackage.USE_CASE___IS_TEMPLATE :
+ return isTemplate();
+ case UMLPackage.USE_CASE___PARAMETERABLE_ELEMENTS :
+ return parameterableElements();
+ case UMLPackage.USE_CASE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateSpecializeType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+ return validateMapsToGeneralizationSet(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
+ return validateNonFinalParents(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP :
+ return validateNoCyclesInGeneralization(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___GET_ALL_ATTRIBUTES :
+ return getAllAttributes();
+ case UMLPackage.USE_CASE___GET_ALL_OPERATIONS :
+ return getAllOperations();
+ case UMLPackage.USE_CASE___GET_ALL_USED_INTERFACES :
+ return getAllUsedInterfaces();
+ case UMLPackage.USE_CASE___GET_OPERATION__STRING_ELIST_ELIST :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2));
+ case UMLPackage.USE_CASE___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN :
+ return getOperation((String) arguments.get(0),
+ (EList<String>) arguments.get(1),
+ (EList<Type>) arguments.get(2), (Boolean) arguments.get(3));
+ case UMLPackage.USE_CASE___GET_OPERATIONS :
+ return getOperations();
+ case UMLPackage.USE_CASE___GET_USED_INTERFACES :
+ return getUsedInterfaces();
+ case UMLPackage.USE_CASE___ALL_FEATURES :
+ return allFeatures();
+ case UMLPackage.USE_CASE___ALL_PARENTS :
+ return allParents();
+ case UMLPackage.USE_CASE___GET_GENERALS :
+ return getGenerals();
+ case UMLPackage.USE_CASE___HAS_VISIBILITY_OF__NAMEDELEMENT :
+ return hasVisibilityOf((NamedElement) arguments.get(0));
+ case UMLPackage.USE_CASE___INHERIT__ELIST :
+ return inherit((EList<NamedElement>) arguments.get(0));
+ case UMLPackage.USE_CASE___INHERITABLE_MEMBERS__CLASSIFIER :
+ return inheritableMembers((Classifier) arguments.get(0));
+ case UMLPackage.USE_CASE___GET_INHERITED_MEMBERS :
+ return getInheritedMembers();
+ case UMLPackage.USE_CASE___MAY_SPECIALIZE_TYPE__CLASSIFIER :
+ return maySpecializeType((Classifier) arguments.get(0));
+ case UMLPackage.USE_CASE___PARENTS :
+ return parents();
+ case UMLPackage.USE_CASE___DIRECTLY_REALIZED_INTERFACES :
+ return directlyRealizedInterfaces();
+ case UMLPackage.USE_CASE___DIRECTLY_USED_INTERFACES :
+ return directlyUsedInterfaces();
+ case UMLPackage.USE_CASE___ALL_REALIZED_INTERFACES :
+ return allRealizedInterfaces();
+ case UMLPackage.USE_CASE___ALL_USED_INTERFACES :
+ return allUsedInterfaces();
+ case UMLPackage.USE_CASE___IS_SUBSTITUTABLE_FOR__CLASSIFIER :
+ return isSubstitutableFor((Classifier) arguments.get(0));
+ case UMLPackage.USE_CASE___ALL_ATTRIBUTES :
+ return allAttributes();
+ case UMLPackage.USE_CASE___ALL_SLOTTABLE_FEATURES :
+ return allSlottableFeatures();
+ case UMLPackage.USE_CASE___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateClassBehavior((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___GET_ALL_IMPLEMENTED_INTERFACES :
+ return getAllImplementedInterfaces();
+ case UMLPackage.USE_CASE___GET_IMPLEMENTED_INTERFACES :
+ return getImplementedInterfaces();
+ case UMLPackage.USE_CASE___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
+ return validateBinaryAssociations(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___VALIDATE_NO_ASSOCIATION_TO_USE_CASE__DIAGNOSTICCHAIN_MAP :
+ return validateNoAssociationToUseCase(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___VALIDATE_CANNOT_INCLUDE_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateCannotIncludeSelf(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___VALIDATE_MUST_HAVE_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateMustHaveName((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.USE_CASE___ALL_INCLUDED_USE_CASES :
+ return allIncludedUseCases();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedMembers() {
+ return super.isSetOwnedMembers() || eIsSet(UMLPackage.USE_CASE__EXTEND)
+ || eIsSet(UMLPackage.USE_CASE__EXTENSION_POINT)
+ || eIsSet(UMLPackage.USE_CASE__INCLUDE);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedMembers() <em>Owned Member</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_MEMBER_ESUBSETS = new int[]{
+ UMLPackage.USE_CASE__OWNED_RULE, UMLPackage.USE_CASE__OWNED_USE_CASE,
+ UMLPackage.USE_CASE__OWNED_BEHAVIOR, UMLPackage.USE_CASE__EXTEND,
+ UMLPackage.USE_CASE__EXTENSION_POINT, UMLPackage.USE_CASE__INCLUDE};
+
+} //UseCaseImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ValuePinImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ValuePinImpl.java
new file mode 100644
index 00000000..502f08ae
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ValuePinImpl.java
@@ -0,0 +1,892 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ObjectNodeOrderingKind;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ValuePinOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Value Pin</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ValuePinImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ValuePinImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ValuePinImpl
+ extends InputPinImpl
+ implements ValuePin {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ValuePinImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.VALUE_PIN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.VALUE_PIN__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.VALUE_PIN__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.VALUE_PIN__OWNED_COMMENT,
+ UMLPackage.VALUE_PIN__NAME_EXPRESSION,
+ UMLPackage.VALUE_PIN__UPPER_BOUND, UMLPackage.VALUE_PIN__LOWER_VALUE,
+ UMLPackage.VALUE_PIN__UPPER_VALUE, UMLPackage.VALUE_PIN__VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.VALUE_PIN__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VALUE_PIN__VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.VALUE_PIN__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VALUE_PIN__VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetValue(ValueSpecification newValue,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newValue,
+ UMLPackage.VALUE_PIN__VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(ValueSpecification newValue) {
+ eDynamicSet(UMLPackage.VALUE_PIN__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VALUE_PIN__VALUE, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newValue = (ValueSpecification) create(eClass);
+ setValue(newValue);
+ if (name != null)
+ newValue.setName(name);
+ if (type != null)
+ newValue.setType(type);
+ return newValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCompatibleType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ValuePinOperations.validateCompatibleType(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoIncomingEdges(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ValuePinOperations.validateNoIncomingEdges(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.VALUE_PIN__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VALUE_PIN__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VALUE_PIN__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.VALUE_PIN__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VALUE_PIN__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.VALUE_PIN__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.VALUE_PIN__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.VALUE_PIN__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VALUE_PIN__UPPER_BOUND :
+ return basicSetUpperBound(null, msgs);
+ case UMLPackage.VALUE_PIN__LOWER_VALUE :
+ return basicSetLowerValue(null, msgs);
+ case UMLPackage.VALUE_PIN__UPPER_VALUE :
+ return basicSetUpperValue(null, msgs);
+ case UMLPackage.VALUE_PIN__VALUE :
+ return basicSetValue(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.VALUE_PIN__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.VALUE_PIN__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.VALUE_PIN__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.VALUE_PIN__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.VALUE_PIN__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.VALUE_PIN__NAME :
+ return getName();
+ case UMLPackage.VALUE_PIN__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.VALUE_PIN__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.VALUE_PIN__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.VALUE_PIN__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.VALUE_PIN__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.VALUE_PIN__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.VALUE_PIN__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.VALUE_PIN__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.VALUE_PIN__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.VALUE_PIN__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.VALUE_PIN__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.VALUE_PIN__INCOMING :
+ return getIncomings();
+ case UMLPackage.VALUE_PIN__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.VALUE_PIN__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.VALUE_PIN__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.VALUE_PIN__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.VALUE_PIN__IN_STATE :
+ return getInStates();
+ case UMLPackage.VALUE_PIN__IS_CONTROL_TYPE :
+ return isControlType();
+ case UMLPackage.VALUE_PIN__ORDERING :
+ return getOrdering();
+ case UMLPackage.VALUE_PIN__SELECTION :
+ if (resolve)
+ return getSelection();
+ return basicGetSelection();
+ case UMLPackage.VALUE_PIN__UPPER_BOUND :
+ if (resolve)
+ return getUpperBound();
+ return basicGetUpperBound();
+ case UMLPackage.VALUE_PIN__IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.VALUE_PIN__IS_UNIQUE :
+ return isUnique();
+ case UMLPackage.VALUE_PIN__LOWER :
+ return getLower();
+ case UMLPackage.VALUE_PIN__LOWER_VALUE :
+ if (resolve)
+ return getLowerValue();
+ return basicGetLowerValue();
+ case UMLPackage.VALUE_PIN__UPPER :
+ return getUpper();
+ case UMLPackage.VALUE_PIN__UPPER_VALUE :
+ if (resolve)
+ return getUpperValue();
+ return basicGetUpperValue();
+ case UMLPackage.VALUE_PIN__IS_CONTROL :
+ return isControl();
+ case UMLPackage.VALUE_PIN__VALUE :
+ if (resolve)
+ return getValue();
+ return basicGetValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.VALUE_PIN__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__IN_STATE :
+ getInStates().clear();
+ getInStates().addAll((Collection<? extends State>) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__IS_CONTROL_TYPE :
+ setIsControlType((Boolean) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__ORDERING :
+ setOrdering((ObjectNodeOrderingKind) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__SELECTION :
+ setSelection((Behavior) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__UPPER_BOUND :
+ setUpperBound((ValueSpecification) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__IS_ORDERED :
+ setIsOrdered((Boolean) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__IS_UNIQUE :
+ setIsUnique((Boolean) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__LOWER :
+ setLower((Integer) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__LOWER_VALUE :
+ setLowerValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__UPPER :
+ setUpper((Integer) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__UPPER_VALUE :
+ setUpperValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__IS_CONTROL :
+ setIsControl((Boolean) newValue);
+ return;
+ case UMLPackage.VALUE_PIN__VALUE :
+ setValue((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.VALUE_PIN__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.VALUE_PIN__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.VALUE_PIN__NAME :
+ unsetName();
+ return;
+ case UMLPackage.VALUE_PIN__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.VALUE_PIN__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.VALUE_PIN__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.VALUE_PIN__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.VALUE_PIN__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.VALUE_PIN__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.VALUE_PIN__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.VALUE_PIN__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.VALUE_PIN__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.VALUE_PIN__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.VALUE_PIN__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.VALUE_PIN__IN_STATE :
+ getInStates().clear();
+ return;
+ case UMLPackage.VALUE_PIN__IS_CONTROL_TYPE :
+ setIsControlType(IS_CONTROL_TYPE_EDEFAULT);
+ return;
+ case UMLPackage.VALUE_PIN__ORDERING :
+ setOrdering(ORDERING_EDEFAULT);
+ return;
+ case UMLPackage.VALUE_PIN__SELECTION :
+ setSelection((Behavior) null);
+ return;
+ case UMLPackage.VALUE_PIN__UPPER_BOUND :
+ setUpperBound((ValueSpecification) null);
+ return;
+ case UMLPackage.VALUE_PIN__IS_ORDERED :
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case UMLPackage.VALUE_PIN__IS_UNIQUE :
+ setIsUnique(IS_UNIQUE_EDEFAULT);
+ return;
+ case UMLPackage.VALUE_PIN__LOWER :
+ setLower(LOWER_EDEFAULT);
+ return;
+ case UMLPackage.VALUE_PIN__LOWER_VALUE :
+ setLowerValue((ValueSpecification) null);
+ return;
+ case UMLPackage.VALUE_PIN__UPPER :
+ setUpper(UPPER_EDEFAULT);
+ return;
+ case UMLPackage.VALUE_PIN__UPPER_VALUE :
+ setUpperValue((ValueSpecification) null);
+ return;
+ case UMLPackage.VALUE_PIN__IS_CONTROL :
+ setIsControl(IS_CONTROL_EDEFAULT);
+ return;
+ case UMLPackage.VALUE_PIN__VALUE :
+ setValue((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.VALUE_PIN__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.VALUE_PIN__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.VALUE_PIN__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.VALUE_PIN__OWNER :
+ return isSetOwner();
+ case UMLPackage.VALUE_PIN__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.VALUE_PIN__NAME :
+ return isSetName();
+ case UMLPackage.VALUE_PIN__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.VALUE_PIN__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.VALUE_PIN__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.VALUE_PIN__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.VALUE_PIN__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.VALUE_PIN__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.VALUE_PIN__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.VALUE_PIN__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.VALUE_PIN__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.VALUE_PIN__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.VALUE_PIN__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.VALUE_PIN__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.VALUE_PIN__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.VALUE_PIN__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.VALUE_PIN__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.VALUE_PIN__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.VALUE_PIN__IN_STATE :
+ return !getInStates().isEmpty();
+ case UMLPackage.VALUE_PIN__IS_CONTROL_TYPE :
+ return isControlType() != IS_CONTROL_TYPE_EDEFAULT;
+ case UMLPackage.VALUE_PIN__ORDERING :
+ return getOrdering() != ORDERING_EDEFAULT;
+ case UMLPackage.VALUE_PIN__SELECTION :
+ return basicGetSelection() != null;
+ case UMLPackage.VALUE_PIN__UPPER_BOUND :
+ return basicGetUpperBound() != null;
+ case UMLPackage.VALUE_PIN__IS_ORDERED :
+ return isOrdered() != IS_ORDERED_EDEFAULT;
+ case UMLPackage.VALUE_PIN__IS_UNIQUE :
+ return isUnique() != IS_UNIQUE_EDEFAULT;
+ case UMLPackage.VALUE_PIN__LOWER :
+ return getLower() != LOWER_EDEFAULT;
+ case UMLPackage.VALUE_PIN__LOWER_VALUE :
+ return basicGetLowerValue() != null;
+ case UMLPackage.VALUE_PIN__UPPER :
+ return getUpper() != UPPER_EDEFAULT;
+ case UMLPackage.VALUE_PIN__UPPER_VALUE :
+ return basicGetUpperValue() != null;
+ case UMLPackage.VALUE_PIN__IS_CONTROL :
+ return isControl() != IS_CONTROL_EDEFAULT;
+ case UMLPackage.VALUE_PIN__VALUE :
+ return basicGetValue() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.VALUE_PIN___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.VALUE_PIN___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.VALUE_PIN___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_PIN___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.VALUE_PIN___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.VALUE_PIN___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.VALUE_PIN___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.VALUE_PIN___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.VALUE_PIN___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.VALUE_PIN___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.VALUE_PIN___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VALUE_PIN___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_PIN___GET_MODEL :
+ return getModel();
+ case UMLPackage.VALUE_PIN___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.VALUE_PIN___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.VALUE_PIN___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.VALUE_PIN___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.VALUE_PIN___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.VALUE_PIN___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.VALUE_PIN___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.VALUE_PIN___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_PIN___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.VALUE_PIN___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.VALUE_PIN___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.VALUE_PIN___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VALUE_PIN___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.VALUE_PIN___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VALUE_PIN___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_PIN___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_PIN___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_PIN___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.VALUE_PIN___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.VALUE_PIN___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_PIN___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.VALUE_PIN___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.VALUE_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.VALUE_PIN___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.VALUE_PIN___GET_LABEL :
+ return getLabel();
+ case UMLPackage.VALUE_PIN___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.VALUE_PIN___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.VALUE_PIN___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.VALUE_PIN___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.VALUE_PIN___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.VALUE_PIN___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.VALUE_PIN___SEPARATOR :
+ return separator();
+ case UMLPackage.VALUE_PIN___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.VALUE_PIN___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.VALUE_PIN___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.VALUE_PIN___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.VALUE_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+ return validateInputOutputParameter(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+ return validateSelectionBehavior(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateObjectFlowEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return validateUpperGeLower((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return validateLowerGe0((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationNoSideEffects(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationConstant(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return validateLowerIsInteger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return validateUpperIsUnlimitedNatural(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.VALUE_PIN___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.VALUE_PIN___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return compatibleWith((MultiplicityElement) arguments.get(0));
+ case UMLPackage.VALUE_PIN___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return includesMultiplicity(
+ (MultiplicityElement) arguments.get(0));
+ case UMLPackage.VALUE_PIN___IS__INT_INT :
+ return is((Integer) arguments.get(0),
+ (Integer) arguments.get(1));
+ case UMLPackage.VALUE_PIN___IS_MULTIVALUED :
+ return isMultivalued();
+ case UMLPackage.VALUE_PIN___GET_LOWER :
+ return getLower();
+ case UMLPackage.VALUE_PIN___LOWER_BOUND :
+ return lowerBound();
+ case UMLPackage.VALUE_PIN___GET_UPPER :
+ return getUpper();
+ case UMLPackage.VALUE_PIN___UPPER_BOUND :
+ return upperBound();
+ case UMLPackage.VALUE_PIN___VALIDATE_CONTROL_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateControlPins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_NOT_UNIQUE__DIAGNOSTICCHAIN_MAP :
+ return validateNotUnique((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_OUTGOING_EDGES_STRUCTURED_ONLY__DIAGNOSTICCHAIN_MAP :
+ return validateOutgoingEdgesStructuredOnly(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_NO_INCOMING_EDGES__DIAGNOSTICCHAIN_MAP :
+ return validateNoIncomingEdges(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_PIN___VALIDATE_COMPATIBLE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateCompatibleType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.VALUE_PIN__VALUE);
+ }
+
+} //ValuePinImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ValueSpecificationActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ValueSpecificationActionImpl.java
new file mode 100644
index 00000000..43071d10
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ValueSpecificationActionImpl.java
@@ -0,0 +1,892 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ValueSpecificationActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Value Specification Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ValueSpecificationActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ValueSpecificationActionImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ValueSpecificationActionImpl#getResult <em>Result</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ValueSpecificationActionImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ValueSpecificationActionImpl
+ extends ActionImpl
+ implements ValueSpecificationAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ValueSpecificationActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.VALUE_SPECIFICATION_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.VALUE_SPECIFICATION_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.VALUE_SPECIFICATION_ACTION__OUTPUT, OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.VALUE_SPECIFICATION_ACTION__VALUE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VALUE_SPECIFICATION_ACTION__VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.VALUE_SPECIFICATION_ACTION__VALUE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VALUE_SPECIFICATION_ACTION__VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetValue(ValueSpecification newValue,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newValue,
+ UMLPackage.VALUE_SPECIFICATION_ACTION__VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(ValueSpecification newValue) {
+ eDynamicSet(
+ UMLPackage.VALUE_SPECIFICATION_ACTION__VALUE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VALUE_SPECIFICATION_ACTION__VALUE, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newValue = (ValueSpecification) create(eClass);
+ setValue(newValue);
+ if (name != null)
+ newValue.setName(name);
+ if (type != null)
+ newValue.setType(type);
+ return newValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.VALUE_SPECIFICATION_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VALUE_SPECIFICATION_ACTION__RESULT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.VALUE_SPECIFICATION_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VALUE_SPECIFICATION_ACTION__RESULT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.VALUE_SPECIFICATION_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(
+ UMLPackage.VALUE_SPECIFICATION_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VALUE_SPECIFICATION_ACTION__RESULT, newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCompatibleType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ValueSpecificationActionOperations.validateCompatibleType(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return ValueSpecificationActionOperations.validateMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__VALUE :
+ return basicSetValue(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__NAME :
+ return getName();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__VALUE :
+ if (resolve)
+ return getValue();
+ return basicGetValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__VALUE :
+ setValue((ValueSpecification) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__VALUE :
+ setValue((ValueSpecification) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__RESULT :
+ return basicGetResult() != null;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__VALUE :
+ return basicGetValue() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION_ACTION___VALIDATE_COMPATIBLE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateCompatibleType(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.VALUE_SPECIFICATION_ACTION__RESULT};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this,
+ UMLPackage.VALUE_SPECIFICATION_ACTION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.VALUE_SPECIFICATION_ACTION__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.VALUE_SPECIFICATION_ACTION__OWNED_COMMENT,
+ UMLPackage.VALUE_SPECIFICATION_ACTION__NAME_EXPRESSION,
+ UMLPackage.VALUE_SPECIFICATION_ACTION__HANDLER,
+ UMLPackage.VALUE_SPECIFICATION_ACTION__INPUT,
+ UMLPackage.VALUE_SPECIFICATION_ACTION__LOCAL_POSTCONDITION,
+ UMLPackage.VALUE_SPECIFICATION_ACTION__LOCAL_PRECONDITION,
+ UMLPackage.VALUE_SPECIFICATION_ACTION__OUTPUT,
+ UMLPackage.VALUE_SPECIFICATION_ACTION__VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.VALUE_SPECIFICATION_ACTION__RESULT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.VALUE_SPECIFICATION_ACTION__VALUE);
+ }
+
+} //ValueSpecificationActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ValueSpecificationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ValueSpecificationImpl.java
new file mode 100644
index 00000000..9f52748c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ValueSpecificationImpl.java
@@ -0,0 +1,541 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.TypedElement;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.ValueSpecificationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Value Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.ValueSpecificationImpl#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ValueSpecificationImpl
+ extends PackageableElementImpl
+ implements ValueSpecification {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ValueSpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.VALUE_SPECIFICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getType() {
+ return (Type) eDynamicGet(
+ UMLPackage.VALUE_SPECIFICATION__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type basicGetType() {
+ return (Type) eDynamicGet(
+ UMLPackage.VALUE_SPECIFICATION__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(Type newType) {
+ eDynamicSet(
+ UMLPackage.VALUE_SPECIFICATION__TYPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.TYPED_ELEMENT__TYPE, newType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isComputable() {
+ return ValueSpecificationOperations.isComputable(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int integerValue() {
+ return ValueSpecificationOperations.integerValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean booleanValue() {
+ return ValueSpecificationOperations.booleanValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String stringValue() {
+ return ValueSpecificationOperations.stringValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int unlimitedValue() {
+ return ValueSpecificationOperations.unlimitedValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isNull() {
+ return ValueSpecificationOperations.isNull(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public double realValue() {
+ return ValueSpecificationOperations.realValue(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isCompatibleWith(ParameterableElement p) {
+ return ValueSpecificationOperations.isCompatibleWith(this, p);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.VALUE_SPECIFICATION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.VALUE_SPECIFICATION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.VALUE_SPECIFICATION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.VALUE_SPECIFICATION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.VALUE_SPECIFICATION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.VALUE_SPECIFICATION__NAME :
+ return getName();
+ case UMLPackage.VALUE_SPECIFICATION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.VALUE_SPECIFICATION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.VALUE_SPECIFICATION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.VALUE_SPECIFICATION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.VALUE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.VALUE_SPECIFICATION__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.VALUE_SPECIFICATION__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.VALUE_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__TYPE :
+ setType((Type) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.VALUE_SPECIFICATION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.VALUE_SPECIFICATION__TYPE :
+ setType((Type) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.VALUE_SPECIFICATION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.VALUE_SPECIFICATION__OWNER :
+ return isSetOwner();
+ case UMLPackage.VALUE_SPECIFICATION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.VALUE_SPECIFICATION__NAME :
+ return isSetName();
+ case UMLPackage.VALUE_SPECIFICATION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.VALUE_SPECIFICATION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.VALUE_SPECIFICATION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.VALUE_SPECIFICATION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.VALUE_SPECIFICATION__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.VALUE_SPECIFICATION__TEMPLATE_PARAMETER :
+ return basicGetTemplateParameter() != null;
+ case UMLPackage.VALUE_SPECIFICATION__TYPE :
+ return basicGetType() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == TypedElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.VALUE_SPECIFICATION__TYPE :
+ return UMLPackage.TYPED_ELEMENT__TYPE;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == TypedElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.TYPED_ELEMENT__TYPE :
+ return UMLPackage.VALUE_SPECIFICATION__TYPE;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.VALUE_SPECIFICATION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.VALUE_SPECIFICATION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.VALUE_SPECIFICATION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.VALUE_SPECIFICATION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.VALUE_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___GET_MODEL :
+ return getModel();
+ case UMLPackage.VALUE_SPECIFICATION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.VALUE_SPECIFICATION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.VALUE_SPECIFICATION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.VALUE_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.VALUE_SPECIFICATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.VALUE_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.VALUE_SPECIFICATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.VALUE_SPECIFICATION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.VALUE_SPECIFICATION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.VALUE_SPECIFICATION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.VALUE_SPECIFICATION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.VALUE_SPECIFICATION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.VALUE_SPECIFICATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.VALUE_SPECIFICATION___SEPARATOR :
+ return separator();
+ case UMLPackage.VALUE_SPECIFICATION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.VALUE_SPECIFICATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.VALUE_SPECIFICATION___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.VALUE_SPECIFICATION___VALIDATE_NAMESPACE_NEEDS_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateNamespaceNeedsVisibility(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VALUE_SPECIFICATION___BOOLEAN_VALUE :
+ return booleanValue();
+ case UMLPackage.VALUE_SPECIFICATION___INTEGER_VALUE :
+ return integerValue();
+ case UMLPackage.VALUE_SPECIFICATION___IS_COMPUTABLE :
+ return isComputable();
+ case UMLPackage.VALUE_SPECIFICATION___IS_NULL :
+ return isNull();
+ case UMLPackage.VALUE_SPECIFICATION___REAL_VALUE :
+ return realValue();
+ case UMLPackage.VALUE_SPECIFICATION___STRING_VALUE :
+ return stringValue();
+ case UMLPackage.VALUE_SPECIFICATION___UNLIMITED_VALUE :
+ return unlimitedValue();
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //ValueSpecificationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/VariableActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/VariableActionImpl.java
new file mode 100644
index 00000000..a2b69e71
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/VariableActionImpl.java
@@ -0,0 +1,599 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Variable;
+import org.eclipse.uml2.uml.VariableAction;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.VariableActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Variable Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VariableActionImpl#getVariable <em>Variable</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class VariableActionImpl
+ extends ActionImpl
+ implements VariableAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VariableActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.VARIABLE_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variable getVariable() {
+ return (Variable) eDynamicGet(
+ UMLPackage.VARIABLE_ACTION__VARIABLE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VARIABLE_ACTION__VARIABLE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variable basicGetVariable() {
+ return (Variable) eDynamicGet(
+ UMLPackage.VARIABLE_ACTION__VARIABLE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VARIABLE_ACTION__VARIABLE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVariable(Variable newVariable) {
+ eDynamicSet(
+ UMLPackage.VARIABLE_ACTION__VARIABLE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VARIABLE_ACTION__VARIABLE, newVariable);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateScopeOfVariable(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return VariableActionOperations.validateScopeOfVariable(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.VARIABLE_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.VARIABLE_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.VARIABLE_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.VARIABLE_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.VARIABLE_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.VARIABLE_ACTION__NAME :
+ return getName();
+ case UMLPackage.VARIABLE_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.VARIABLE_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.VARIABLE_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.VARIABLE_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.VARIABLE_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.VARIABLE_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.VARIABLE_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.VARIABLE_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.VARIABLE_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.VARIABLE_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.VARIABLE_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.VARIABLE_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.VARIABLE_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.VARIABLE_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.VARIABLE_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.VARIABLE_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.VARIABLE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.VARIABLE_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.VARIABLE_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.VARIABLE_ACTION__VARIABLE :
+ if (resolve)
+ return getVariable();
+ return basicGetVariable();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.VARIABLE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.VARIABLE_ACTION__VARIABLE :
+ setVariable((Variable) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.VARIABLE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.VARIABLE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.VARIABLE_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.VARIABLE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.VARIABLE_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.VARIABLE_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.VARIABLE_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.VARIABLE_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.VARIABLE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.VARIABLE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.VARIABLE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.VARIABLE_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.VARIABLE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.VARIABLE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.VARIABLE_ACTION__VARIABLE :
+ setVariable((Variable) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.VARIABLE_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.VARIABLE_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.VARIABLE_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.VARIABLE_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.VARIABLE_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.VARIABLE_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.VARIABLE_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.VARIABLE_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.VARIABLE_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.VARIABLE_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.VARIABLE_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.VARIABLE_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.VARIABLE_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.VARIABLE_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.VARIABLE_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.VARIABLE_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.VARIABLE_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.VARIABLE_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.VARIABLE_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.VARIABLE_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.VARIABLE_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.VARIABLE_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.VARIABLE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.VARIABLE_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.VARIABLE_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.VARIABLE_ACTION__VARIABLE :
+ return basicGetVariable() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.VARIABLE_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.VARIABLE_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.VARIABLE_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.VARIABLE_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.VARIABLE_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VARIABLE_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.VARIABLE_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.VARIABLE_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.VARIABLE_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.VARIABLE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.VARIABLE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.VARIABLE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.VARIABLE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VARIABLE_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VARIABLE_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.VARIABLE_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.VARIABLE_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.VARIABLE_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.VARIABLE_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.VARIABLE_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.VARIABLE_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.VARIABLE_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.VARIABLE_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.VARIABLE_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.VARIABLE_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.VARIABLE_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.VARIABLE_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.VARIABLE_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.VARIABLE_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.VARIABLE_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.VARIABLE_ACTION___VALIDATE_SCOPE_OF_VARIABLE__DIAGNOSTICCHAIN_MAP :
+ return validateScopeOfVariable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //VariableActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/VariableImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/VariableImpl.java
new file mode 100644
index 00000000..614cf7c6
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/VariableImpl.java
@@ -0,0 +1,1305 @@
+/*
+ * Copyright (c) 2005, 2017 IBM Corporation, Embarcadero Technologies, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (Embarcadero Technologies) - 204200
+ * Kenn Hussey - 286329, 323181, 519572
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.Variable;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.MultiplicityElementOperations;
+import org.eclipse.uml2.uml.internal.operations.VariableOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Variable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VariableImpl#getOwnedElements <em>Owned Element</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VariableImpl#isOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VariableImpl#isUnique <em>Is Unique</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VariableImpl#getLower <em>Lower</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VariableImpl#getLowerValue <em>Lower Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VariableImpl#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VariableImpl#getUpperValue <em>Upper Value</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VariableImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VariableImpl#getActivityScope <em>Activity Scope</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VariableImpl#getScope <em>Scope</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class VariableImpl
+ extends ConnectableElementImpl
+ implements Variable {
+
+ /**
+ * The default value of the '{@link #isOrdered() <em>Is Ordered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOrdered()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ORDERED_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isUnique() <em>Is Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnique()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_UNIQUE_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLower()
+ * @generated
+ * @ordered
+ */
+ protected static final int LOWER_EDEFAULT = 1;
+
+ /**
+ * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpper()
+ * @generated
+ * @ordered
+ */
+ protected static final int UPPER_EDEFAULT = 1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VariableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.VARIABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Element> getOwnedElements() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<Element> ownedElements = (EList<Element>) cache.get(eResource,
+ this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT);
+ if (ownedElements == null) {
+ cache.put(eResource, this,
+ UMLPackage.Literals.ELEMENT__OWNED_ELEMENT,
+ ownedElements = new DerivedUnionEObjectEList<Element>(
+ Element.class, this, UMLPackage.VARIABLE__OWNED_ELEMENT,
+ OWNED_ELEMENT_ESUBSETS));
+ }
+ return ownedElements;
+ }
+ return new DerivedUnionEObjectEList<Element>(Element.class, this,
+ UMLPackage.VARIABLE__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOrdered() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.VARIABLE__IS_ORDERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_ORDERED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsOrdered(boolean newIsOrdered) {
+ eDynamicSet(UMLPackage.VARIABLE__IS_ORDERED - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_ORDERED, newIsOrdered);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnique() {
+ return (Boolean) eDynamicGet(
+ UMLPackage.VARIABLE__IS_UNIQUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_UNIQUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsUnique(boolean newIsUnique) {
+ eDynamicSet(UMLPackage.VARIABLE__IS_UNIQUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__IS_UNIQUE, newIsUnique);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getUpper() {
+ return MultiplicityElementOperations.getUpper(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpper(int newUpper) {
+ MultiplicityElementOperations.setUpper(this, newUpper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLower() {
+ return MultiplicityElementOperations.getLower(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLower(int newLower) {
+ MultiplicityElementOperations.setLower(this, newLower);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getUpperValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.VARIABLE__UPPER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetUpperValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.VARIABLE__UPPER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetUpperValue(
+ ValueSpecification newUpperValue, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newUpperValue,
+ UMLPackage.VARIABLE__UPPER_VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpperValue(ValueSpecification newUpperValue) {
+ eDynamicSet(UMLPackage.VARIABLE__UPPER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER_VALUE,
+ newUpperValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createUpperValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newUpperValue = (ValueSpecification) create(eClass);
+ setUpperValue(newUpperValue);
+ if (name != null)
+ newUpperValue.setName(name);
+ if (type != null)
+ newUpperValue.setType(type);
+ return newUpperValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getLowerValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.VARIABLE__LOWER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetLowerValue() {
+ return (ValueSpecification) eDynamicGet(
+ UMLPackage.VARIABLE__LOWER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLowerValue(
+ ValueSpecification newLowerValue, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newLowerValue,
+ UMLPackage.VARIABLE__LOWER_VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLowerValue(ValueSpecification newLowerValue) {
+ eDynamicSet(UMLPackage.VARIABLE__LOWER_VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER_VALUE,
+ newLowerValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createLowerValue(String name, Type type,
+ EClass eClass) {
+ ValueSpecification newLowerValue = (ValueSpecification) create(eClass);
+ setLowerValue(newLowerValue);
+ if (name != null)
+ newLowerValue.setName(name);
+ if (type != null)
+ newLowerValue.setType(type);
+ return newLowerValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity getActivityScope() {
+ return (Activity) eDynamicGet(
+ UMLPackage.VARIABLE__ACTIVITY_SCOPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VARIABLE__ACTIVITY_SCOPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity basicGetActivityScope() {
+ return (Activity) eDynamicGet(
+ UMLPackage.VARIABLE__ACTIVITY_SCOPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VARIABLE__ACTIVITY_SCOPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetActivityScope(Activity newActivityScope,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newActivityScope,
+ UMLPackage.VARIABLE__ACTIVITY_SCOPE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActivityScope(Activity newActivityScope) {
+ eDynamicSet(UMLPackage.VARIABLE__ACTIVITY_SCOPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VARIABLE__ACTIVITY_SCOPE, newActivityScope);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode getScope() {
+ return (StructuredActivityNode) eDynamicGet(
+ UMLPackage.VARIABLE__SCOPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VARIABLE__SCOPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode basicGetScope() {
+ return (StructuredActivityNode) eDynamicGet(
+ UMLPackage.VARIABLE__SCOPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VARIABLE__SCOPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetScope(StructuredActivityNode newScope,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newScope,
+ UMLPackage.VARIABLE__SCOPE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setScope(StructuredActivityNode newScope) {
+ eDynamicSet(UMLPackage.VARIABLE__SCOPE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VARIABLE__SCOPE, newScope);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLowerGe0(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateLowerGe0(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUpperGeLower(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateUpperGeLower(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateValueSpecificationNoSideEffects(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateValueSpecificationNoSideEffects(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateValueSpecificationConstant(
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateValueSpecificationConstant(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLowerIsInteger(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations.validateLowerIsInteger(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUpperIsUnlimitedNatural(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return MultiplicityElementOperations
+ .validateUpperIsUnlimitedNatural(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMultivalued() {
+ return MultiplicityElementOperations.isMultivalued(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean includesMultiplicity(MultiplicityElement M) {
+ return MultiplicityElementOperations.includesMultiplicity(this, M);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int lowerBound() {
+ return MultiplicityElementOperations.lowerBound(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int upperBound() {
+ return MultiplicityElementOperations.upperBound(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean compatibleWith(MultiplicityElement other) {
+ return MultiplicityElementOperations.compatibleWith(this, other);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean is(int lowerbound, int upperbound) {
+ return MultiplicityElementOperations.is(this, lowerbound, upperbound);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isAccessibleBy(Action a) {
+ return VariableOperations.isAccessibleBy(this, a);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.VARIABLE__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.VARIABLE__OWNING_TEMPLATE_PARAMETER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetOwningTemplateParameter(
+ (TemplateParameter) otherEnd, msgs);
+ case UMLPackage.VARIABLE__TEMPLATE_PARAMETER :
+ TemplateParameter templateParameter = basicGetTemplateParameter();
+ if (templateParameter != null)
+ msgs = ((InternalEObject) templateParameter).eInverseRemove(
+ this,
+ UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ return basicSetTemplateParameter((TemplateParameter) otherEnd,
+ msgs);
+ case UMLPackage.VARIABLE__ACTIVITY_SCOPE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetActivityScope((Activity) otherEnd, msgs);
+ case UMLPackage.VARIABLE__SCOPE :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetScope((StructuredActivityNode) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.VARIABLE__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VARIABLE__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VARIABLE__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.VARIABLE__OWNING_TEMPLATE_PARAMETER :
+ return basicSetOwningTemplateParameter(null, msgs);
+ case UMLPackage.VARIABLE__TEMPLATE_PARAMETER :
+ return basicSetTemplateParameter(null, msgs);
+ case UMLPackage.VARIABLE__LOWER_VALUE :
+ return basicSetLowerValue(null, msgs);
+ case UMLPackage.VARIABLE__UPPER_VALUE :
+ return basicSetUpperValue(null, msgs);
+ case UMLPackage.VARIABLE__ACTIVITY_SCOPE :
+ return basicSetActivityScope(null, msgs);
+ case UMLPackage.VARIABLE__SCOPE :
+ return basicSetScope(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.VARIABLE__OWNING_TEMPLATE_PARAMETER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+ TemplateParameter.class, msgs);
+ case UMLPackage.VARIABLE__ACTIVITY_SCOPE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.ACTIVITY__VARIABLE, Activity.class, msgs);
+ case UMLPackage.VARIABLE__SCOPE :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.STRUCTURED_ACTIVITY_NODE__VARIABLE,
+ StructuredActivityNode.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.VARIABLE__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.VARIABLE__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.VARIABLE__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.VARIABLE__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.VARIABLE__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.VARIABLE__NAME :
+ return getName();
+ case UMLPackage.VARIABLE__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.VARIABLE__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.VARIABLE__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.VARIABLE__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.VARIABLE__TYPE :
+ if (resolve)
+ return getType();
+ return basicGetType();
+ case UMLPackage.VARIABLE__OWNING_TEMPLATE_PARAMETER :
+ if (resolve)
+ return getOwningTemplateParameter();
+ return basicGetOwningTemplateParameter();
+ case UMLPackage.VARIABLE__TEMPLATE_PARAMETER :
+ if (resolve)
+ return getTemplateParameter();
+ return basicGetTemplateParameter();
+ case UMLPackage.VARIABLE__END :
+ return getEnds();
+ case UMLPackage.VARIABLE__IS_ORDERED :
+ return isOrdered();
+ case UMLPackage.VARIABLE__IS_UNIQUE :
+ return isUnique();
+ case UMLPackage.VARIABLE__LOWER :
+ return getLower();
+ case UMLPackage.VARIABLE__LOWER_VALUE :
+ if (resolve)
+ return getLowerValue();
+ return basicGetLowerValue();
+ case UMLPackage.VARIABLE__UPPER :
+ return getUpper();
+ case UMLPackage.VARIABLE__UPPER_VALUE :
+ if (resolve)
+ return getUpperValue();
+ return basicGetUpperValue();
+ case UMLPackage.VARIABLE__ACTIVITY_SCOPE :
+ if (resolve)
+ return getActivityScope();
+ return basicGetActivityScope();
+ case UMLPackage.VARIABLE__SCOPE :
+ if (resolve)
+ return getScope();
+ return basicGetScope();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.VARIABLE__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.VARIABLE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.VARIABLE__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.VARIABLE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.VARIABLE__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.VARIABLE__TYPE :
+ setType((Type) newValue);
+ return;
+ case UMLPackage.VARIABLE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.VARIABLE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) newValue);
+ return;
+ case UMLPackage.VARIABLE__IS_ORDERED :
+ setIsOrdered((Boolean) newValue);
+ return;
+ case UMLPackage.VARIABLE__IS_UNIQUE :
+ setIsUnique((Boolean) newValue);
+ return;
+ case UMLPackage.VARIABLE__LOWER :
+ setLower((Integer) newValue);
+ return;
+ case UMLPackage.VARIABLE__LOWER_VALUE :
+ setLowerValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.VARIABLE__UPPER :
+ setUpper((Integer) newValue);
+ return;
+ case UMLPackage.VARIABLE__UPPER_VALUE :
+ setUpperValue((ValueSpecification) newValue);
+ return;
+ case UMLPackage.VARIABLE__ACTIVITY_SCOPE :
+ setActivityScope((Activity) newValue);
+ return;
+ case UMLPackage.VARIABLE__SCOPE :
+ setScope((StructuredActivityNode) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.VARIABLE__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.VARIABLE__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.VARIABLE__NAME :
+ unsetName();
+ return;
+ case UMLPackage.VARIABLE__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.VARIABLE__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.VARIABLE__TYPE :
+ setType((Type) null);
+ return;
+ case UMLPackage.VARIABLE__OWNING_TEMPLATE_PARAMETER :
+ setOwningTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.VARIABLE__TEMPLATE_PARAMETER :
+ setTemplateParameter((TemplateParameter) null);
+ return;
+ case UMLPackage.VARIABLE__IS_ORDERED :
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case UMLPackage.VARIABLE__IS_UNIQUE :
+ setIsUnique(IS_UNIQUE_EDEFAULT);
+ return;
+ case UMLPackage.VARIABLE__LOWER :
+ setLower(LOWER_EDEFAULT);
+ return;
+ case UMLPackage.VARIABLE__LOWER_VALUE :
+ setLowerValue((ValueSpecification) null);
+ return;
+ case UMLPackage.VARIABLE__UPPER :
+ setUpper(UPPER_EDEFAULT);
+ return;
+ case UMLPackage.VARIABLE__UPPER_VALUE :
+ setUpperValue((ValueSpecification) null);
+ return;
+ case UMLPackage.VARIABLE__ACTIVITY_SCOPE :
+ setActivityScope((Activity) null);
+ return;
+ case UMLPackage.VARIABLE__SCOPE :
+ setScope((StructuredActivityNode) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.VARIABLE__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.VARIABLE__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.VARIABLE__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.VARIABLE__OWNER :
+ return isSetOwner();
+ case UMLPackage.VARIABLE__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.VARIABLE__NAME :
+ return isSetName();
+ case UMLPackage.VARIABLE__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.VARIABLE__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.VARIABLE__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.VARIABLE__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.VARIABLE__TYPE :
+ return basicGetType() != null;
+ case UMLPackage.VARIABLE__OWNING_TEMPLATE_PARAMETER :
+ return basicGetOwningTemplateParameter() != null;
+ case UMLPackage.VARIABLE__TEMPLATE_PARAMETER :
+ return isSetTemplateParameter();
+ case UMLPackage.VARIABLE__END :
+ return !getEnds().isEmpty();
+ case UMLPackage.VARIABLE__IS_ORDERED :
+ return isOrdered() != IS_ORDERED_EDEFAULT;
+ case UMLPackage.VARIABLE__IS_UNIQUE :
+ return isUnique() != IS_UNIQUE_EDEFAULT;
+ case UMLPackage.VARIABLE__LOWER :
+ return getLower() != LOWER_EDEFAULT;
+ case UMLPackage.VARIABLE__LOWER_VALUE :
+ return basicGetLowerValue() != null;
+ case UMLPackage.VARIABLE__UPPER :
+ return getUpper() != UPPER_EDEFAULT;
+ case UMLPackage.VARIABLE__UPPER_VALUE :
+ return basicGetUpperValue() != null;
+ case UMLPackage.VARIABLE__ACTIVITY_SCOPE :
+ return basicGetActivityScope() != null;
+ case UMLPackage.VARIABLE__SCOPE :
+ return basicGetScope() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == MultiplicityElement.class) {
+ switch (derivedFeatureID) {
+ case UMLPackage.VARIABLE__IS_ORDERED :
+ return UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED;
+ case UMLPackage.VARIABLE__IS_UNIQUE :
+ return UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE;
+ case UMLPackage.VARIABLE__LOWER :
+ return UMLPackage.MULTIPLICITY_ELEMENT__LOWER;
+ case UMLPackage.VARIABLE__LOWER_VALUE :
+ return UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE;
+ case UMLPackage.VARIABLE__UPPER :
+ return UMLPackage.MULTIPLICITY_ELEMENT__UPPER;
+ case UMLPackage.VARIABLE__UPPER_VALUE :
+ return UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE;
+ default :
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID,
+ Class<?> baseClass) {
+ if (baseClass == MultiplicityElement.class) {
+ switch (baseFeatureID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED :
+ return UMLPackage.VARIABLE__IS_ORDERED;
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE :
+ return UMLPackage.VARIABLE__IS_UNIQUE;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER :
+ return UMLPackage.VARIABLE__LOWER;
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE :
+ return UMLPackage.VARIABLE__LOWER_VALUE;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER :
+ return UMLPackage.VARIABLE__UPPER;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE :
+ return UMLPackage.VARIABLE__UPPER_VALUE;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MultiplicityElement.class) {
+ switch (baseOperationID) {
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.VARIABLE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.VARIABLE___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.VARIABLE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.VARIABLE___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.VARIABLE___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return UMLPackage.VARIABLE___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP;
+ case UMLPackage.MULTIPLICITY_ELEMENT___SET_LOWER__INT :
+ return UMLPackage.VARIABLE___SET_LOWER__INT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___SET_UPPER__INT :
+ return UMLPackage.VARIABLE___SET_UPPER__INT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return UMLPackage.VARIABLE___COMPATIBLE_WITH__MULTIPLICITYELEMENT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return UMLPackage.VARIABLE___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___IS__INT_INT :
+ return UMLPackage.VARIABLE___IS__INT_INT;
+ case UMLPackage.MULTIPLICITY_ELEMENT___IS_MULTIVALUED :
+ return UMLPackage.VARIABLE___IS_MULTIVALUED;
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_LOWER :
+ return UMLPackage.VARIABLE___GET_LOWER;
+ case UMLPackage.MULTIPLICITY_ELEMENT___LOWER_BOUND :
+ return UMLPackage.VARIABLE___LOWER_BOUND;
+ case UMLPackage.MULTIPLICITY_ELEMENT___GET_UPPER :
+ return UMLPackage.VARIABLE___GET_UPPER;
+ case UMLPackage.MULTIPLICITY_ELEMENT___UPPER_BOUND :
+ return UMLPackage.VARIABLE___UPPER_BOUND;
+ default :
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.VARIABLE___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.VARIABLE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.VARIABLE___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.VARIABLE___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.VARIABLE___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.VARIABLE___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.VARIABLE___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.VARIABLE___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.VARIABLE___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.VARIABLE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VARIABLE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE___GET_MODEL :
+ return getModel();
+ case UMLPackage.VARIABLE___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.VARIABLE___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.VARIABLE___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.VARIABLE___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.VARIABLE___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.VARIABLE___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.VARIABLE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.VARIABLE___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.VARIABLE___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.VARIABLE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.VARIABLE___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VARIABLE___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.VARIABLE___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VARIABLE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.VARIABLE___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.VARIABLE___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.VARIABLE___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.VARIABLE___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.VARIABLE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.VARIABLE___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.VARIABLE___GET_LABEL :
+ return getLabel();
+ case UMLPackage.VARIABLE___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.VARIABLE___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.VARIABLE___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.VARIABLE___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.VARIABLE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.VARIABLE___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.VARIABLE___SEPARATOR :
+ return separator();
+ case UMLPackage.VARIABLE___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.VARIABLE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT :
+ return isCompatibleWith(
+ (ParameterableElement) arguments.get(0));
+ case UMLPackage.VARIABLE___IS_TEMPLATE_PARAMETER :
+ return isTemplateParameter();
+ case UMLPackage.VARIABLE___GET_ENDS :
+ return getEnds();
+ case UMLPackage.VARIABLE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+ return validateUpperGeLower((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
+ return validateLowerGe0((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationNoSideEffects(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
+ return validateValueSpecificationConstant(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE___VALIDATE_LOWER_IS_INTEGER__DIAGNOSTICCHAIN_MAP :
+ return validateLowerIsInteger(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE___VALIDATE_UPPER_IS_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
+ return validateUpperIsUnlimitedNatural(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VARIABLE___SET_LOWER__INT :
+ setLower((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.VARIABLE___SET_UPPER__INT :
+ setUpper((Integer) arguments.get(0));
+ return null;
+ case UMLPackage.VARIABLE___COMPATIBLE_WITH__MULTIPLICITYELEMENT :
+ return compatibleWith((MultiplicityElement) arguments.get(0));
+ case UMLPackage.VARIABLE___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT :
+ return includesMultiplicity(
+ (MultiplicityElement) arguments.get(0));
+ case UMLPackage.VARIABLE___IS__INT_INT :
+ return is((Integer) arguments.get(0),
+ (Integer) arguments.get(1));
+ case UMLPackage.VARIABLE___IS_MULTIVALUED :
+ return isMultivalued();
+ case UMLPackage.VARIABLE___GET_LOWER :
+ return getLower();
+ case UMLPackage.VARIABLE___LOWER_BOUND :
+ return lowerBound();
+ case UMLPackage.VARIABLE___GET_UPPER :
+ return getUpper();
+ case UMLPackage.VARIABLE___UPPER_BOUND :
+ return upperBound();
+ case UMLPackage.VARIABLE___IS_ACCESSIBLE_BY__ACTION :
+ return isAccessibleBy((Action) arguments.get(0));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOwnedElements() <em>Owned Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
+ UMLPackage.VARIABLE__OWNED_COMMENT,
+ UMLPackage.VARIABLE__NAME_EXPRESSION, UMLPackage.VARIABLE__LOWER_VALUE,
+ UMLPackage.VARIABLE__UPPER_VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOwnedElements() {
+ return super.isSetOwnedElements()
+ || eIsSet(UMLPackage.VARIABLE__LOWER_VALUE)
+ || eIsSet(UMLPackage.VARIABLE__UPPER_VALUE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ Activity activityScope = basicGetActivityScope();
+ if (activityScope != null) {
+ return activityScope;
+ }
+ StructuredActivityNode scope = basicGetScope();
+ if (scope != null) {
+ return scope;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace()
+ || eIsSet(UMLPackage.VARIABLE__ACTIVITY_SCOPE)
+ || eIsSet(UMLPackage.VARIABLE__SCOPE);
+ }
+
+} //VariableImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/VertexImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/VertexImpl.java
new file mode 100644
index 00000000..8e25e614
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/VertexImpl.java
@@ -0,0 +1,620 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Vertex;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.internal.operations.VertexOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Vertex</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VertexImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VertexImpl#getContainer <em>Container</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VertexImpl#getIncomings <em>Incoming</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.VertexImpl#getOutgoings <em>Outgoing</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class VertexImpl
+ extends NamedElementImpl
+ implements Vertex {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VertexImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.VERTEX;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace getNamespace() {
+ Namespace namespace = basicGetNamespace();
+ return namespace != null && namespace.eIsProxy()
+ ? (Namespace) eResolveProxy((InternalEObject) namespace)
+ : namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Transition> getOutgoings() {
+ return VertexOperations.getOutgoings(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition getOutgoing(String name) {
+ return getOutgoing(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition getOutgoing(String name, boolean ignoreCase,
+ EClass eClass) {
+ outgoingLoop : for (Transition outgoing : getOutgoings()) {
+ if (eClass != null && !eClass.isInstance(outgoing))
+ continue outgoingLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(outgoing.getName())
+ : name.equals(outgoing.getName())))
+ continue outgoingLoop;
+ return outgoing;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Transition> getIncomings() {
+ return VertexOperations.getIncomings(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition getIncoming(String name) {
+ return getIncoming(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transition getIncoming(String name, boolean ignoreCase,
+ EClass eClass) {
+ incomingLoop : for (Transition incoming : getIncomings()) {
+ if (eClass != null && !eClass.isInstance(incoming))
+ continue incomingLoop;
+ if (name != null && !(ignoreCase
+ ? name.equalsIgnoreCase(incoming.getName())
+ : name.equals(incoming.getName())))
+ continue incomingLoop;
+ return incoming;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region getContainer() {
+ return (Region) eDynamicGet(
+ UMLPackage.VERTEX__CONTAINER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VERTEX__CONTAINER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Region basicGetContainer() {
+ return (Region) eDynamicGet(
+ UMLPackage.VERTEX__CONTAINER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VERTEX__CONTAINER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetContainer(Region newContainer,
+ NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newContainer,
+ UMLPackage.VERTEX__CONTAINER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setContainer(Region newContainer) {
+ eDynamicSet(UMLPackage.VERTEX__CONTAINER - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.VERTEX__CONTAINER, newContainer);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachine containingStateMachine() {
+ return VertexOperations.containingStateMachine(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isContainedInState(State s) {
+ return VertexOperations.isContainedInState(this, s);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isContainedInRegion(Region r) {
+ return VertexOperations.isContainedInRegion(this, r);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.VERTEX__EANNOTATIONS :
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
+ .basicAdd(otherEnd, msgs);
+ case UMLPackage.VERTEX__CONTAINER :
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetContainer((Region) otherEnd, msgs);
+ }
+ return eDynamicInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.VERTEX__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VERTEX__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.VERTEX__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.VERTEX__CONTAINER :
+ return basicSetContainer(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(
+ NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case UMLPackage.VERTEX__CONTAINER :
+ return eInternalContainer().eInverseRemove(this,
+ UMLPackage.REGION__SUBVERTEX, Region.class, msgs);
+ }
+ return eDynamicBasicRemoveFromContainer(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.VERTEX__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.VERTEX__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.VERTEX__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.VERTEX__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.VERTEX__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.VERTEX__NAME :
+ return getName();
+ case UMLPackage.VERTEX__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.VERTEX__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.VERTEX__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.VERTEX__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.VERTEX__CONTAINER :
+ if (resolve)
+ return getContainer();
+ return basicGetContainer();
+ case UMLPackage.VERTEX__INCOMING :
+ return getIncomings();
+ case UMLPackage.VERTEX__OUTGOING :
+ return getOutgoings();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.VERTEX__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.VERTEX__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.VERTEX__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.VERTEX__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.VERTEX__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.VERTEX__CONTAINER :
+ setContainer((Region) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.VERTEX__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.VERTEX__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.VERTEX__NAME :
+ unsetName();
+ return;
+ case UMLPackage.VERTEX__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.VERTEX__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.VERTEX__CONTAINER :
+ setContainer((Region) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.VERTEX__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.VERTEX__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.VERTEX__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.VERTEX__OWNER :
+ return isSetOwner();
+ case UMLPackage.VERTEX__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.VERTEX__NAME :
+ return isSetName();
+ case UMLPackage.VERTEX__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.VERTEX__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.VERTEX__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.VERTEX__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.VERTEX__CONTAINER :
+ return basicGetContainer() != null;
+ case UMLPackage.VERTEX__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.VERTEX__OUTGOING :
+ return !getOutgoings().isEmpty();
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.VERTEX___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.VERTEX___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VERTEX___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VERTEX___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.VERTEX___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.VERTEX___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.VERTEX___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.VERTEX___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.VERTEX___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.VERTEX___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.VERTEX___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.VERTEX___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.VERTEX___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VERTEX___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.VERTEX___GET_MODEL :
+ return getModel();
+ case UMLPackage.VERTEX___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.VERTEX___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.VERTEX___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.VERTEX___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.VERTEX___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.VERTEX___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.VERTEX___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.VERTEX___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.VERTEX___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.VERTEX___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.VERTEX___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.VERTEX___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VERTEX___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.VERTEX___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.VERTEX___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.VERTEX___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.VERTEX___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.VERTEX___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.VERTEX___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.VERTEX___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.VERTEX___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.VERTEX___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.VERTEX___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VERTEX___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VERTEX___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.VERTEX___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.VERTEX___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.VERTEX___GET_LABEL :
+ return getLabel();
+ case UMLPackage.VERTEX___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.VERTEX___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.VERTEX___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.VERTEX___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.VERTEX___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.VERTEX___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.VERTEX___SEPARATOR :
+ return separator();
+ case UMLPackage.VERTEX___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.VERTEX___CONTAINING_STATE_MACHINE :
+ return containingStateMachine();
+ case UMLPackage.VERTEX___GET_INCOMINGS :
+ return getIncomings();
+ case UMLPackage.VERTEX___GET_OUTGOINGS :
+ return getOutgoings();
+ case UMLPackage.VERTEX___IS_CONTAINED_IN_STATE__STATE :
+ return isContainedInState((State) arguments.get(0));
+ case UMLPackage.VERTEX___IS_CONTAINED_IN_REGION__REGION :
+ return isContainedInRegion((Region) arguments.get(0));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Namespace basicGetNamespace() {
+ Region container = basicGetContainer();
+ if (container != null) {
+ return container;
+ }
+ return super.basicGetNamespace();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetNamespace() {
+ return super.isSetNamespace() || eIsSet(UMLPackage.VERTEX__CONTAINER);
+ }
+
+} //VertexImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/WriteLinkActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/WriteLinkActionImpl.java
new file mode 100644
index 00000000..34aa7339
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/WriteLinkActionImpl.java
@@ -0,0 +1,249 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.WriteLinkAction;
+
+import org.eclipse.uml2.uml.internal.operations.WriteLinkActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Write Link Action</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class WriteLinkActionImpl
+ extends LinkActionImpl
+ implements WriteLinkAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected WriteLinkActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.WRITE_LINK_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAllowAccess(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return WriteLinkActionOperations.validateAllowAccess(this, diagnostics,
+ context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.WRITE_LINK_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.WRITE_LINK_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.WRITE_LINK_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.WRITE_LINK_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.WRITE_LINK_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.WRITE_LINK_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.WRITE_LINK_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.WRITE_LINK_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.WRITE_LINK_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.WRITE_LINK_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.WRITE_LINK_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.WRITE_LINK_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.WRITE_LINK_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.WRITE_LINK_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.WRITE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.WRITE_LINK_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.WRITE_LINK_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.WRITE_LINK_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.WRITE_LINK_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.WRITE_LINK_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.WRITE_LINK_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.WRITE_LINK_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.WRITE_LINK_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.WRITE_LINK_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.WRITE_LINK_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.WRITE_LINK_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.WRITE_LINK_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.WRITE_LINK_ACTION___VALIDATE_SAME_PINS__DIAGNOSTICCHAIN_MAP :
+ return validateSamePins((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___VALIDATE_SAME_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
+ return validateSameAssociation(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
+ return validateNotStatic((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_LINK_ACTION___ASSOCIATION :
+ return association();
+ case UMLPackage.WRITE_LINK_ACTION___VALIDATE_ALLOW_ACCESS__DIAGNOSTICCHAIN_MAP :
+ return validateAllowAccess((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+} //WriteLinkActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/WriteStructuralFeatureActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/WriteStructuralFeatureActionImpl.java
new file mode 100644
index 00000000..b1271d28
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/WriteStructuralFeatureActionImpl.java
@@ -0,0 +1,969 @@
+/*
+ * Copyright (c) 2005, 2018 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.WriteStructuralFeatureAction;
+
+import org.eclipse.uml2.uml.internal.operations.WriteStructuralFeatureActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Write Structural Feature Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.WriteStructuralFeatureActionImpl#getOutputs <em>Output</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.WriteStructuralFeatureActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.WriteStructuralFeatureActionImpl#getResult <em>Result</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.WriteStructuralFeatureActionImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class WriteStructuralFeatureActionImpl
+ extends StructuralFeatureActionImpl
+ implements WriteStructuralFeatureAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected WriteStructuralFeatureActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.WRITE_STRUCTURAL_FEATURE_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getValue() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetValue() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetValue(InputPin newValue,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newValue,
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(InputPin newValue) {
+ eDynamicSet(
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE,
+ newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createValue(String name, Type type, EClass eClass) {
+ InputPin newValue = (InputPin) create(eClass);
+ setValue(newValue);
+ if (name != null)
+ newValue.setName(name);
+ if (type != null)
+ newValue.setType(type);
+ return newValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createValue(String name, Type type) {
+ return createValue(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetResult() {
+ return (OutputPin) eDynamicGet(
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetResult(OutputPin newResult,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newResult,
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(OutputPin newResult) {
+ eDynamicSet(
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT
+ - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT,
+ newResult);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin createResult(String name, Type type) {
+ OutputPin newResult = (OutputPin) create(
+ UMLPackage.Literals.OUTPUT_PIN);
+ setResult(newResult);
+ if (name != null)
+ newResult.setName(name);
+ if (type != null)
+ newResult.setType(type);
+ return newResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeOfResult(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return WriteStructuralFeatureActionOperations.validateTypeOfResult(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfResult(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return WriteStructuralFeatureActionOperations
+ .validateMultiplicityOfResult(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTypeOfValue(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return WriteStructuralFeatureActionOperations.validateTypeOfValue(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicityOfValue(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return WriteStructuralFeatureActionOperations
+ .validateMultiplicityOfValue(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ return basicSetObject(null, msgs);
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT :
+ return basicSetResult(null, msgs);
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE :
+ return basicSetValue(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__NAME :
+ return getName();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ if (resolve)
+ return getObject();
+ return basicGetObject();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ if (resolve)
+ return getStructuralFeature();
+ return basicGetStructuralFeature();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT :
+ if (resolve)
+ return getResult();
+ return basicGetResult();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE :
+ if (resolve)
+ return getValue();
+ return basicGetValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ setObject((InputPin) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ setStructuralFeature((StructuralFeature) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT :
+ setResult((OutputPin) newValue);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE :
+ setValue((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ setObject((InputPin) null);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ setStructuralFeature((StructuralFeature) null);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT :
+ setResult((OutputPin) null);
+ return;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE :
+ setValue((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OBJECT :
+ return basicGetObject() != null;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__STRUCTURAL_FEATURE :
+ return basicGetStructuralFeature() != null;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT :
+ return basicGetResult() != null;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE :
+ return basicGetValue() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_OBJECT_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateObjectType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+ return validateVisibility((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
+ return validateNotStatic((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+ return validateOneFeaturingClassifier(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfResult(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_OF_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfValue((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_VALUE__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicityOfValue(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+ return validateTypeOfResult((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<OutputPin> getOutputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<OutputPin> outputs = (EList<OutputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__OUTPUT);
+ if (outputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__OUTPUT,
+ outputs = new DerivedUnionEObjectEList<OutputPin>(
+ OutputPin.class, this,
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS));
+ }
+ return outputs;
+ }
+ return new DerivedUnionEObjectEList<OutputPin>(OutputPin.class, this,
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OUTPUT,
+ OUTPUT_ESUBSETS);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getOutputs() <em>Output</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] OUTPUT_ESUBSETS = new int[]{
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT};
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__OBJECT,
+ UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetOutputs() {
+ return super.isSetOutputs()
+ || eIsSet(UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__RESULT);
+ }
+
+} //WriteStructuralFeatureActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/WriteVariableActionImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/WriteVariableActionImpl.java
new file mode 100644
index 00000000..65c933be
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/WriteVariableActionImpl.java
@@ -0,0 +1,773 @@
+/*
+ * Copyright (c) 2005, 2016 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey - 286329, 323181
+ * Kenn Hussey (CEA) - 327039, 351774, 418466, 451350, 485756
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Variable;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.uml2.uml.WriteVariableAction;
+
+import org.eclipse.uml2.uml.internal.operations.WriteVariableActionOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Write Variable Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.WriteVariableActionImpl#getInputs <em>Input</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.cdo.internal.impl.WriteVariableActionImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class WriteVariableActionImpl
+ extends VariableActionImpl
+ implements WriteVariableAction {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected WriteVariableActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLPackage.Literals.WRITE_VARIABLE_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<InputPin> getInputs() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ Resource eResource = eResource();
+ @SuppressWarnings("unchecked")
+ EList<InputPin> inputs = (EList<InputPin>) cache.get(eResource,
+ this, UMLPackage.Literals.ACTION__INPUT);
+ if (inputs == null) {
+ cache.put(eResource, this, UMLPackage.Literals.ACTION__INPUT,
+ inputs = new DerivedUnionEObjectEList<InputPin>(
+ InputPin.class, this,
+ UMLPackage.WRITE_VARIABLE_ACTION__INPUT,
+ INPUT_ESUBSETS));
+ }
+ return inputs;
+ }
+ return new DerivedUnionEObjectEList<InputPin>(InputPin.class, this,
+ UMLPackage.WRITE_VARIABLE_ACTION__INPUT, INPUT_ESUBSETS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getValue() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.WRITE_VARIABLE_ACTION__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.WRITE_VARIABLE_ACTION__VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetValue() {
+ return (InputPin) eDynamicGet(
+ UMLPackage.WRITE_VARIABLE_ACTION__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.WRITE_VARIABLE_ACTION__VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetValue(InputPin newValue,
+ NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newValue,
+ UMLPackage.WRITE_VARIABLE_ACTION__VALUE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(InputPin newValue) {
+ eDynamicSet(
+ UMLPackage.WRITE_VARIABLE_ACTION__VALUE - ESTATIC_FEATURE_COUNT,
+ UMLPackage.Literals.WRITE_VARIABLE_ACTION__VALUE, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createValue(String name, Type type, EClass eClass) {
+ InputPin newValue = (InputPin) create(eClass);
+ setValue(newValue);
+ if (name != null)
+ newValue.setName(name);
+ if (type != null)
+ newValue.setType(type);
+ return newValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin createValue(String name, Type type) {
+ return createValue(name, type, UMLPackage.Literals.INPUT_PIN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateValueType(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return WriteVariableActionOperations.validateValueType(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiplicity(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return WriteVariableActionOperations.validateMultiplicity(this,
+ diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLPackage.WRITE_VARIABLE_ACTION__EANNOTATIONS :
+ return ((InternalEList<?>) getEAnnotations())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.WRITE_VARIABLE_ACTION__OWNED_COMMENT :
+ return ((InternalEList<?>) getOwnedComments())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.WRITE_VARIABLE_ACTION__NAME_EXPRESSION :
+ return basicSetNameExpression(null, msgs);
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return ((InternalEList<?>) getInInterruptibleRegions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ return basicSetInStructuredNode(null, msgs);
+ case UMLPackage.WRITE_VARIABLE_ACTION__INCOMING :
+ return ((InternalEList<?>) getIncomings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.WRITE_VARIABLE_ACTION__OUTGOING :
+ return ((InternalEList<?>) getOutgoings()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_PARTITION :
+ return ((InternalEList<?>) getInPartitions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.WRITE_VARIABLE_ACTION__HANDLER :
+ return ((InternalEList<?>) getHandlers()).basicRemove(otherEnd,
+ msgs);
+ case UMLPackage.WRITE_VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ return ((InternalEList<?>) getLocalPostconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.WRITE_VARIABLE_ACTION__LOCAL_PRECONDITION :
+ return ((InternalEList<?>) getLocalPreconditions())
+ .basicRemove(otherEnd, msgs);
+ case UMLPackage.WRITE_VARIABLE_ACTION__VALUE :
+ return basicSetValue(null, msgs);
+ }
+ return eDynamicInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLPackage.WRITE_VARIABLE_ACTION__EANNOTATIONS :
+ return getEAnnotations();
+ case UMLPackage.WRITE_VARIABLE_ACTION__OWNED_COMMENT :
+ return getOwnedComments();
+ case UMLPackage.WRITE_VARIABLE_ACTION__OWNED_ELEMENT :
+ return getOwnedElements();
+ case UMLPackage.WRITE_VARIABLE_ACTION__OWNER :
+ if (resolve)
+ return getOwner();
+ return basicGetOwner();
+ case UMLPackage.WRITE_VARIABLE_ACTION__CLIENT_DEPENDENCY :
+ return getClientDependencies();
+ case UMLPackage.WRITE_VARIABLE_ACTION__NAME :
+ return getName();
+ case UMLPackage.WRITE_VARIABLE_ACTION__NAME_EXPRESSION :
+ if (resolve)
+ return getNameExpression();
+ return basicGetNameExpression();
+ case UMLPackage.WRITE_VARIABLE_ACTION__NAMESPACE :
+ if (resolve)
+ return getNamespace();
+ return basicGetNamespace();
+ case UMLPackage.WRITE_VARIABLE_ACTION__QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.WRITE_VARIABLE_ACTION__VISIBILITY :
+ return getVisibility();
+ case UMLPackage.WRITE_VARIABLE_ACTION__IS_LEAF :
+ return isLeaf();
+ case UMLPackage.WRITE_VARIABLE_ACTION__REDEFINED_ELEMENT :
+ return getRedefinedElements();
+ case UMLPackage.WRITE_VARIABLE_ACTION__REDEFINITION_CONTEXT :
+ return getRedefinitionContexts();
+ case UMLPackage.WRITE_VARIABLE_ACTION__ACTIVITY :
+ if (resolve)
+ return getActivity();
+ return basicGetActivity();
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_GROUP :
+ return getInGroups();
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return getInInterruptibleRegions();
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ if (resolve)
+ return getInStructuredNode();
+ return basicGetInStructuredNode();
+ case UMLPackage.WRITE_VARIABLE_ACTION__INCOMING :
+ return getIncomings();
+ case UMLPackage.WRITE_VARIABLE_ACTION__OUTGOING :
+ return getOutgoings();
+ case UMLPackage.WRITE_VARIABLE_ACTION__REDEFINED_NODE :
+ return getRedefinedNodes();
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_PARTITION :
+ return getInPartitions();
+ case UMLPackage.WRITE_VARIABLE_ACTION__HANDLER :
+ return getHandlers();
+ case UMLPackage.WRITE_VARIABLE_ACTION__CONTEXT :
+ if (resolve)
+ return getContext();
+ return basicGetContext();
+ case UMLPackage.WRITE_VARIABLE_ACTION__INPUT :
+ return getInputs();
+ case UMLPackage.WRITE_VARIABLE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant();
+ case UMLPackage.WRITE_VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ return getLocalPostconditions();
+ case UMLPackage.WRITE_VARIABLE_ACTION__LOCAL_PRECONDITION :
+ return getLocalPreconditions();
+ case UMLPackage.WRITE_VARIABLE_ACTION__OUTPUT :
+ return getOutputs();
+ case UMLPackage.WRITE_VARIABLE_ACTION__VARIABLE :
+ if (resolve)
+ return getVariable();
+ return basicGetVariable();
+ case UMLPackage.WRITE_VARIABLE_ACTION__VALUE :
+ if (resolve)
+ return getValue();
+ return basicGetValue();
+ }
+ return eDynamicGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLPackage.WRITE_VARIABLE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ getEAnnotations()
+ .addAll((Collection<? extends EAnnotation>) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ getOwnedComments()
+ .addAll((Collection<? extends Comment>) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__NAME :
+ setName((String) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__VISIBILITY :
+ setVisibility((VisibilityKind) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__IS_LEAF :
+ setIsLeaf((Boolean) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__ACTIVITY :
+ setActivity((Activity) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ getInInterruptibleRegions().addAll(
+ (Collection<? extends InterruptibleActivityRegion>) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__INCOMING :
+ getIncomings().clear();
+ getIncomings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ getOutgoings()
+ .addAll((Collection<? extends ActivityEdge>) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ getRedefinedNodes()
+ .addAll((Collection<? extends ActivityNode>) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ getInPartitions()
+ .addAll((Collection<? extends ActivityPartition>) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__HANDLER :
+ getHandlers().clear();
+ getHandlers()
+ .addAll((Collection<? extends ExceptionHandler>) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant((Boolean) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ getLocalPostconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ getLocalPreconditions()
+ .addAll((Collection<? extends Constraint>) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__VARIABLE :
+ setVariable((Variable) newValue);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__VALUE :
+ setValue((InputPin) newValue);
+ return;
+ }
+ eDynamicSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLPackage.WRITE_VARIABLE_ACTION__EANNOTATIONS :
+ getEAnnotations().clear();
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__OWNED_COMMENT :
+ getOwnedComments().clear();
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__NAME :
+ unsetName();
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__NAME_EXPRESSION :
+ setNameExpression((StringExpression) null);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__VISIBILITY :
+ unsetVisibility();
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__IS_LEAF :
+ setIsLeaf(IS_LEAF_EDEFAULT);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__ACTIVITY :
+ setActivity((Activity) null);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ getInInterruptibleRegions().clear();
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ setInStructuredNode((StructuredActivityNode) null);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__INCOMING :
+ getIncomings().clear();
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__OUTGOING :
+ getOutgoings().clear();
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__REDEFINED_NODE :
+ getRedefinedNodes().clear();
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_PARTITION :
+ getInPartitions().clear();
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__HANDLER :
+ getHandlers().clear();
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__IS_LOCALLY_REENTRANT :
+ setIsLocallyReentrant(IS_LOCALLY_REENTRANT_EDEFAULT);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ getLocalPostconditions().clear();
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__LOCAL_PRECONDITION :
+ getLocalPreconditions().clear();
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__VARIABLE :
+ setVariable((Variable) null);
+ return;
+ case UMLPackage.WRITE_VARIABLE_ACTION__VALUE :
+ setValue((InputPin) null);
+ return;
+ }
+ eDynamicUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLPackage.WRITE_VARIABLE_ACTION__EANNOTATIONS :
+ return !getEAnnotations().isEmpty();
+ case UMLPackage.WRITE_VARIABLE_ACTION__OWNED_COMMENT :
+ return !getOwnedComments().isEmpty();
+ case UMLPackage.WRITE_VARIABLE_ACTION__OWNED_ELEMENT :
+ return isSetOwnedElements();
+ case UMLPackage.WRITE_VARIABLE_ACTION__OWNER :
+ return isSetOwner();
+ case UMLPackage.WRITE_VARIABLE_ACTION__CLIENT_DEPENDENCY :
+ return !getClientDependencies().isEmpty();
+ case UMLPackage.WRITE_VARIABLE_ACTION__NAME :
+ return isSetName();
+ case UMLPackage.WRITE_VARIABLE_ACTION__NAME_EXPRESSION :
+ return basicGetNameExpression() != null;
+ case UMLPackage.WRITE_VARIABLE_ACTION__NAMESPACE :
+ return isSetNamespace();
+ case UMLPackage.WRITE_VARIABLE_ACTION__QUALIFIED_NAME :
+ return QUALIFIED_NAME_EDEFAULT == null
+ ? getQualifiedName() != null
+ : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case UMLPackage.WRITE_VARIABLE_ACTION__VISIBILITY :
+ return isSetVisibility();
+ case UMLPackage.WRITE_VARIABLE_ACTION__IS_LEAF :
+ return isLeaf() != IS_LEAF_EDEFAULT;
+ case UMLPackage.WRITE_VARIABLE_ACTION__REDEFINED_ELEMENT :
+ return isSetRedefinedElements();
+ case UMLPackage.WRITE_VARIABLE_ACTION__REDEFINITION_CONTEXT :
+ return isSetRedefinitionContexts();
+ case UMLPackage.WRITE_VARIABLE_ACTION__ACTIVITY :
+ return basicGetActivity() != null;
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_GROUP :
+ return isSetInGroups();
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_INTERRUPTIBLE_REGION :
+ return !getInInterruptibleRegions().isEmpty();
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_STRUCTURED_NODE :
+ return basicGetInStructuredNode() != null;
+ case UMLPackage.WRITE_VARIABLE_ACTION__INCOMING :
+ return !getIncomings().isEmpty();
+ case UMLPackage.WRITE_VARIABLE_ACTION__OUTGOING :
+ return !getOutgoings().isEmpty();
+ case UMLPackage.WRITE_VARIABLE_ACTION__REDEFINED_NODE :
+ return !getRedefinedNodes().isEmpty();
+ case UMLPackage.WRITE_VARIABLE_ACTION__IN_PARTITION :
+ return !getInPartitions().isEmpty();
+ case UMLPackage.WRITE_VARIABLE_ACTION__HANDLER :
+ return !getHandlers().isEmpty();
+ case UMLPackage.WRITE_VARIABLE_ACTION__CONTEXT :
+ return basicGetContext() != null;
+ case UMLPackage.WRITE_VARIABLE_ACTION__INPUT :
+ return isSetInputs();
+ case UMLPackage.WRITE_VARIABLE_ACTION__IS_LOCALLY_REENTRANT :
+ return isLocallyReentrant() != IS_LOCALLY_REENTRANT_EDEFAULT;
+ case UMLPackage.WRITE_VARIABLE_ACTION__LOCAL_POSTCONDITION :
+ return !getLocalPostconditions().isEmpty();
+ case UMLPackage.WRITE_VARIABLE_ACTION__LOCAL_PRECONDITION :
+ return !getLocalPreconditions().isEmpty();
+ case UMLPackage.WRITE_VARIABLE_ACTION__OUTPUT :
+ return isSetOutputs();
+ case UMLPackage.WRITE_VARIABLE_ACTION__VARIABLE :
+ return basicGetVariable() != null;
+ case UMLPackage.WRITE_VARIABLE_ACTION__VALUE :
+ return basicGetValue() != null;
+ }
+ return eDynamicIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments)
+ throws InvocationTargetException {
+ switch (operationID) {
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_EANNOTATION__STRING :
+ return getEAnnotation((String) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP :
+ return validateHasOwner((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP :
+ return validateNotOwnSelf((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___ADD_KEYWORD__STRING :
+ return addKeyword((String) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___APPLY_STEREOTYPE__STEREOTYPE :
+ return applyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___CREATE_EANNOTATION__STRING :
+ return createEAnnotation((String) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___DESTROY :
+ destroy();
+ return null;
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_KEYWORDS :
+ return getKeywords();
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_APPLICABLE_STEREOTYPE__STRING :
+ return getApplicableStereotype((String) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_APPLICABLE_STEREOTYPES :
+ return getApplicableStereotypes();
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_APPLIED_STEREOTYPE__STRING :
+ return getAppliedStereotype((String) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_APPLIED_STEREOTYPES :
+ return getAppliedStereotypes();
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING :
+ return getAppliedSubstereotype((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE :
+ return getAppliedSubstereotypes((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_MODEL :
+ return getModel();
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_NEAREST_PACKAGE :
+ return getNearestPackage();
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_RELATIONSHIPS :
+ return getRelationships();
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_RELATIONSHIPS__ECLASS :
+ return getRelationships((EClass) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_REQUIRED_STEREOTYPE__STRING :
+ return getRequiredStereotype((String) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_REQUIRED_STEREOTYPES :
+ return getRequiredStereotypes();
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS :
+ return getSourceDirectedRelationships();
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getSourceDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE :
+ return getStereotypeApplication((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_STEREOTYPE_APPLICATIONS :
+ return getStereotypeApplications();
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS :
+ return getTargetDirectedRelationships();
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS :
+ return getTargetDirectedRelationships(
+ (EClass) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_VALUE__STEREOTYPE_STRING :
+ return getValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___HAS_KEYWORD__STRING :
+ return hasKeyword((String) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___HAS_VALUE__STEREOTYPE_STRING :
+ return hasValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE :
+ return isStereotypeApplicable((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE :
+ return isStereotypeApplied((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE :
+ return isStereotypeRequired((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___REMOVE_KEYWORD__STRING :
+ return removeKeyword((String) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT :
+ setValue((Stereotype) arguments.get(0),
+ (String) arguments.get(1), arguments.get(2));
+ return null;
+ case UMLPackage.WRITE_VARIABLE_ACTION___UNAPPLY_STEREOTYPE__STEREOTYPE :
+ return unapplyStereotype((Stereotype) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___ALL_OWNED_ELEMENTS :
+ return allOwnedElements();
+ case UMLPackage.WRITE_VARIABLE_ACTION___MUST_BE_OWNED :
+ return mustBeOwned();
+ case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+ return validateVisibilityNeedsOwnership(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
+ return validateHasNoQualifiedName(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
+ return createDependency((NamedElement) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___CREATE_USAGE__NAMEDELEMENT :
+ return createUsage((NamedElement) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_LABEL :
+ return getLabel();
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_LABEL__BOOLEAN :
+ return getLabel((Boolean) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_NAMESPACE :
+ return getNamespace();
+ case UMLPackage.WRITE_VARIABLE_ACTION___ALL_NAMESPACES :
+ return allNamespaces();
+ case UMLPackage.WRITE_VARIABLE_ACTION___ALL_OWNING_PACKAGES :
+ return allOwningPackages();
+ case UMLPackage.WRITE_VARIABLE_ACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE :
+ return isDistinguishableFrom((NamedElement) arguments.get(0),
+ (Namespace) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_QUALIFIED_NAME :
+ return getQualifiedName();
+ case UMLPackage.WRITE_VARIABLE_ACTION___SEPARATOR :
+ return separator();
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_CLIENT_DEPENDENCIES :
+ return getClientDependencies();
+ case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionConsistent(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP :
+ return validateNonLeafRedefinition(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP :
+ return validateRedefinitionContextValid(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT :
+ return isConsistentWith((RedefinableElement) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
+ return isRedefinitionContextValid(
+ (RedefinableElement) arguments.get(0));
+ case UMLPackage.WRITE_VARIABLE_ACTION___CONTAINING_ACTIVITY :
+ return containingActivity();
+ case UMLPackage.WRITE_VARIABLE_ACTION___GET_CONTEXT :
+ return getContext();
+ case UMLPackage.WRITE_VARIABLE_ACTION___ALL_ACTIONS :
+ return allActions();
+ case UMLPackage.WRITE_VARIABLE_ACTION___ALL_OWNED_NODES :
+ return allOwnedNodes();
+ case UMLPackage.WRITE_VARIABLE_ACTION___CONTAINING_BEHAVIOR :
+ return containingBehavior();
+ case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_SCOPE_OF_VARIABLE__DIAGNOSTICCHAIN_MAP :
+ return validateScopeOfVariable(
+ (DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_VALUE_TYPE__DIAGNOSTICCHAIN_MAP :
+ return validateValueType((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+ return validateMultiplicity((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return eDynamicInvoke(operationID, arguments);
+ }
+
+ /**
+ * The array of subset feature identifiers for the '{@link #getInputs() <em>Input</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputs()
+ * @generated
+ * @ordered
+ */
+ protected static final int[] INPUT_ESUBSETS = new int[]{
+ UMLPackage.WRITE_VARIABLE_ACTION__VALUE};
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSetInputs() {
+ return super.isSetInputs()
+ || eIsSet(UMLPackage.WRITE_VARIABLE_ACTION__VALUE);
+ }
+
+} //WriteVariableActionImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/CDOCacheAdapter.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/CDOCacheAdapter.java
new file mode 100644
index 00000000..f88c027a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/CDOCacheAdapter.java
@@ -0,0 +1,301 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.util;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.emf.cdo.CDOObject;
+import org.eclipse.emf.cdo.CDOObjectReference;
+import org.eclipse.emf.cdo.CDOState;
+import org.eclipse.emf.cdo.util.CDOUtil;
+import org.eclipse.emf.cdo.view.CDOView;
+import org.eclipse.emf.cdo.view.CDOViewInvalidationEvent;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EContentsEList.FeatureIterator;
+import org.eclipse.emf.ecore.util.ECrossReferenceAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.emf.spi.cdo.InternalCDOObject;
+import org.eclipse.net4j.util.event.IEvent;
+import org.eclipse.net4j.util.event.IListener;
+import org.eclipse.net4j.util.lifecycle.ILifecycle;
+import org.eclipse.net4j.util.lifecycle.LifecycleEventAdapter;
+import org.eclipse.uml2.common.util.CacheAdapter;
+
+/**
+ * A {@link CacheAdapter cache adapter} with special treatment for persistent
+ * {@link CDOObjectImpl CDO objects}.
+ * <p>
+ * This adapter works for:
+ * <p>
+ * <ol>
+ * <li>Legacy objects (objects that are not instances of {@link CDOObjectImpl}).
+ * <li>Transient native objects (objects with object.cdoState() ==
+ * {@link CDOState#TRANSIENT}).
+ * <li>Persistent native objects (objects with object.cdoState() !=
+ * {@link CDOState#TRANSIENT}).
+ * </ol>
+ * <p>
+ * For all objects except persistent native objects (case 3) this adapter
+ * behaves exactly like the standard UML {@link CacheAdapter}. For persistent
+ * native objects (case 3) this adapter behaves differently in the following two
+ * aspects:
+ * <p>
+ * <ol>
+ * <li>The results of {@link #getInverseReferences(EObject)
+ * getInverseReferences()} and {@link #getNonNavigableInverseReferences(EObject)
+ * getNonNavigableInverseReferences()} are computed by
+ * {@link CDOView#queryXRefs(Set, EReference...) querying} the underlying CDO
+ * repository instead of self-adapting the entire model in-memory.
+ * <li>An invalidation of the cache of derived values (see
+ * {@link #put(EObject, Object, Object)}, {@link #get(EObject, Object)}, etc.)
+ * happens for remote changes, in addition to just local changes.
+ * </ol>
+ * <p>
+ * <b>Implementation note:</b> This adapter is carefully implemented such that
+ * it is never contained in the list of {@link Notifier#eAdapters() adapters} of
+ * a persistent native object (case 3). In particular, an existing cache adapter
+ * is removed from an object that transitions from case 2 to case 3, i.e., that
+ * is <i>attached</i> to a CDO {@link CDOView view}.
+ * <p>
+ * *
+ *
+ * @author Eike Stepper
+ */
+public class CDOCacheAdapter
+ extends CacheAdapter {
+
+ private final IListener viewListener = new LifecycleEventAdapter() {
+
+ @Override
+ protected void onAboutToDeactivate(ILifecycle lifecycle) {
+ disconnectView((CDOView) lifecycle);
+ };
+
+ @Override
+ protected void notifyOtherEvent(IEvent event) {
+ if (event instanceof CDOViewInvalidationEvent) {
+ CDOViewInvalidationEvent e = (CDOViewInvalidationEvent) event;
+
+ Set<Resource> resources = new HashSet<Resource>();
+ collectResources(resources, e.getDirtyObjects());
+ collectResources(resources, e.getDetachedObjects());
+
+ // Newly attached objects are not known here, but can impact
+ // cached results. As long as no containment proxies are
+ // involved all should be good because the cache is invalidated
+ // through the dirtiness of the container.
+
+ for (Resource resource : resources) {
+ clear(resource);
+ }
+ }
+ }
+
+ private void collectResources(Set<Resource> resources,
+ Set<CDOObject> objects) {
+ for (CDOObject object : objects) {
+ resources.add(object.eResource());
+ }
+ }
+ };
+
+ private final Set<CDOView> connectedViews = new HashSet<CDOView>();
+
+ public CDOCacheAdapter() {
+ }
+
+ public static EcoreUtil.CrossReferencer getInverseCrossReferencer() {
+ try {
+ Field field = ECrossReferenceAdapter.class
+ .getDeclaredField("inverseCrossReferencer");
+ field.setAccessible(true);
+ return (EcoreUtil.CrossReferencer) field.get(getInstance());
+ } catch (Throwable throwable) {
+ // ignore
+ }
+ return null;
+ }
+
+ public static void register(CacheAdapter cacheAdapter) {
+ if (THREAD_LOCAL == null) {
+ try {
+ Field field = CacheAdapter.class.getDeclaredField("INSTANCE");
+ field.setAccessible(true);
+ field.set(null, cacheAdapter);
+ } catch (Throwable throwable) {
+ // ignore
+ }
+ } else {
+ THREAD_LOCAL.set(cacheAdapter);
+ }
+ }
+
+ @Override
+ protected void selfAdapt(Notification notification) {
+ CDOView view = getView(notification.getNotifier());
+ if (view == null) {
+ super.selfAdapt(notification);
+ }
+ }
+
+ @Override
+ public boolean adapt(Notifier notifier) {
+ CDOView view = getView(notifier);
+ if (view != null) {
+ connectView(view);
+ return false;
+ }
+
+ return super.adapt(notifier);
+ }
+
+ @Override
+ protected void addAdapter(Notifier notifier) {
+ CDOView view = getView(notifier);
+ if (view != null) {
+ connectView(view);
+ return;
+ }
+
+ super.addAdapter(notifier);
+ }
+
+ @Override
+ protected ECrossReferenceAdapter provideCrossReferenceAdapter(
+ EObject eObject) {
+ CDOView view = getView(eObject);
+ if (view != null) {
+ return this;
+ }
+
+ return super.provideCrossReferenceAdapter(eObject);
+ }
+
+ private CDOView getView(Object notifier) {
+ if (notifier instanceof EObject) {
+ EObject eObject = (EObject) notifier;
+
+ CDOObject cdoObject = CDOUtil.getCDOObject(eObject, false);
+ if (cdoObject != null) {
+ return cdoObject.cdoView();
+ }
+ }
+
+ return null;
+ }
+
+ private Collection<Setting> collectInverseReferences(CDOObject cdoObject,
+ CDOView view, boolean nonNavigable) {
+ List<EStructuralFeature.Setting> result = new ArrayList<EStructuralFeature.Setting>();
+ for (CDOObjectReference xref : view
+ .queryXRefs(Collections.singleton(cdoObject))) {
+ EReference sourceReference = (EReference) xref.getSourceFeature();
+ if (!nonNavigable || sourceReference.getEOpposite() == null) {
+ InternalCDOObject object = (InternalCDOObject) view
+ .getObject(xref.getSourceID());
+ result.add(object.eSetting(sourceReference));
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public Collection<Setting> getNonNavigableInverseReferences(
+ EObject eObject) {
+ CDOObject cdoObject = CDOUtil.getCDOObject(eObject, false);
+ if (cdoObject != null) {
+ CDOView view = cdoObject.cdoView();
+ if (view != null) {
+ return collectInverseReferences(cdoObject, view, true);
+ }
+ }
+
+ return super.getNonNavigableInverseReferences(eObject);
+ }
+
+ @Override
+ public Collection<Setting> getInverseReferences(EObject eObject) {
+ CDOObject cdoObject = CDOUtil.getCDOObject(eObject, false);
+ if (cdoObject != null) {
+ CDOView view = cdoObject.cdoView();
+ if (view != null) {
+ return collectInverseReferences(cdoObject, view, false);
+ }
+ }
+
+ return super.getInverseReferences(eObject);
+ }
+
+ @Override
+ protected InverseCrossReferencer createInverseCrossReferencer() {
+ return new InverseCrossReferencer();
+ }
+
+ private void connectView(CDOView view) {
+ boolean added;
+ synchronized (connectedViews) {
+ added = connectedViews.add(view);
+ }
+
+ if (added) {
+ view.addListener(viewListener);
+ }
+ }
+
+ private void disconnectView(CDOView view) {
+ boolean removed;
+ synchronized (connectedViews) {
+ removed = connectedViews.remove(view);
+ }
+
+ if (removed) {
+ view.removeListener(viewListener);
+ clear();
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ protected class InverseCrossReferencer
+ extends CacheAdapter.InverseCrossReferencer {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Make the protected super class method visible.
+ */
+ @Override
+ public FeatureIterator<EObject> getCrossReferences(EObject eObject) {
+ return super.getCrossReferences(eObject);
+ }
+
+ @Override
+ protected Collection<Setting> getCollection(Object key) {
+ return super.getCollection(key);
+ }
+ }
+}
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/CDOElementImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/CDOElementImpl.java
new file mode 100644
index 00000000..0a03655d
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/CDOElementImpl.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.util;
+
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * @author Eike Stepper
+ */
+public abstract class CDOElementImpl
+ extends org.eclipse.emf.cdo.ecore.impl.EModelElementImpl
+ implements Element {
+
+ protected CDOElementImpl() {
+ super();
+ }
+
+ @Override
+ public void cdoInternalPreAttach() {
+ try {
+ CacheAdapter cacheAdapter = getCacheAdapter();
+ if (cacheAdapter != null) {
+ eAdapters().remove(cacheAdapter);
+ }
+ } finally {
+ super.cdoInternalPreAttach();
+ }
+ }
+
+ protected abstract CacheAdapter getCacheAdapter();
+
+ static {
+ CacheAdapter cacheAdapter = CacheAdapter.getInstance();
+ if (cacheAdapter.getClass() != CDOCacheAdapter.class) {
+ if (!Boolean.getBoolean(
+ "org.eclipse.uml2.uml.cdo.internal.impl.ElementImpl.noCDOCacheAdapter")) {
+ CDOCacheAdapter.register(new CDOCacheAdapter());
+ }
+ }
+ }
+
+}
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEDataTypeEList.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEDataTypeEList.java
new file mode 100644
index 00000000..f8445dab
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEDataTypeEList.java
@@ -0,0 +1,258 @@
+/*
+ * Copyright (c) 2015 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA - initial API and implementation
+ * Eike Stepper - bug 540814
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.util;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+/**
+ * A list that enforces subset/superset constraints. Specifically, when an
+ * element is added to a subset, it is also added to the associated superset(s),
+ * if not already present; when an element is removed from a superset, it is
+ * also removed from the associated subset(s), if present.
+ *
+ * @since 2.1
+ */
+public class SubsetSupersetEDataTypeEList<E>
+ extends EDataTypeEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static class Unsettable<E>
+ extends SubsetSupersetEDataTypeEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected boolean isSet;
+
+ public Unsettable(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs, int[] subsetFeatureIDs) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs);
+ }
+
+ @Override
+ protected void didChange() {
+ isSet = true;
+ }
+
+ @Override
+ public boolean isSet() {
+ return isSet;
+ }
+
+ @Override
+ public void unset() {
+ super.unset();
+
+ if (isNotificationRequired()) {
+ boolean oldIsSet = isSet;
+ isSet = false;
+
+ owner.eNotify(createNotification(Notification.UNSET, oldIsSet,
+ false));
+ } else {
+ isSet = false;
+ }
+ }
+ }
+
+ /**
+ * An array of superset feature identifiers.
+ */
+ protected final int[] supersetFeatureIDs;
+
+ /**
+ * An array of subset feature identifiers.
+ */
+ protected final int[] subsetFeatureIDs;
+
+ public SubsetSupersetEDataTypeEList(Class<?> dataClass,
+ InternalEObject owner, int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs) {
+ super(dataClass, owner, featureID);
+
+ this.supersetFeatureIDs = supersetFeatureIDs;
+ this.subsetFeatureIDs = subsetFeatureIDs;
+ }
+
+ /**
+ * Indicates whether subset constraints should be enforced.
+ *
+ * @return <code>true</code> if subset constraints should be enforced;
+ * <code>false</code> otherwise.
+ */
+ protected boolean enforceSubsetConstraints() {
+ Resource.Internal eInternalResource = owner.eInternalResource();
+ return eInternalResource == null || !eInternalResource.isLoading();
+ }
+
+ /**
+ * Adds the specified element to the superset(s).
+ *
+ * @param object
+ * The element to be added.
+ */
+ protected void supersetAdd(Object object) {
+
+ if (supersetFeatureIDs != null && enforceSubsetConstraints()) {
+
+ for (int i = 0; i < supersetFeatureIDs.length; i++) {
+ EStructuralFeature supersetEStructuralFeature = owner.eClass()
+ .getEStructuralFeature(supersetFeatureIDs[i]);
+
+ if (supersetEStructuralFeature.isMany()) {
+ @SuppressWarnings("unchecked")
+ EList<Object> supersetEList = (EList<Object>) owner
+ .eGet(supersetEStructuralFeature);
+
+ if (!supersetEList.contains(object)) {
+ supersetEList.add(object);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Indicates whether superset constraints should be enforced.
+ *
+ * @return <code>true</code> if superset constraints should be enforced;
+ * <code>false</code> otherwise.
+ */
+ protected boolean enforceSupersetConstraints() {
+ return true;
+ }
+
+ /**
+ * Removes the specified element from the subset(s).
+ *
+ * @param object
+ * The element to be removed.
+ */
+ protected void subsetRemove(Object object) {
+
+ if (subsetFeatureIDs != null && enforceSupersetConstraints()) {
+
+ for (int i = 0; i < subsetFeatureIDs.length; i++) {
+ EStructuralFeature subsetEStructuralFeature = owner.eClass()
+ .getEStructuralFeature(subsetFeatureIDs[i]);
+
+ if (subsetEStructuralFeature.isMany()) {
+ @SuppressWarnings("unchecked")
+ EList<Object> list = ((EList<Object>) owner
+ .eGet(subsetEStructuralFeature));
+ list.remove(object);
+ } else if (object.equals(owner.eGet(subsetEStructuralFeature))) {
+ owner.eSet(subsetEStructuralFeature, null);
+ }
+ }
+ }
+ }
+
+ @Override
+ public NotificationChain basicAdd(E object, NotificationChain notifications) {
+ notifications = super.basicAdd(object, notifications);
+
+ supersetAdd(object);
+
+ return notifications;
+ }
+
+ @Override
+ public NotificationChain basicSet(int index, E object,
+ NotificationChain notifications) {
+ Object oldObject = data[index];
+
+ notifications = super.basicSet(index, object, notifications);
+
+ supersetAdd(object);
+
+ if (oldObject != object) {
+ subsetRemove(oldObject);
+ }
+
+ return notifications;
+ }
+
+ @Override
+ public void add(int index, E object) {
+ super.add(index, object);
+
+ supersetAdd(object);
+ }
+
+ @Override
+ public boolean add(E object) {
+ boolean result = super.add(object);
+
+ supersetAdd(object);
+
+ return result;
+ }
+
+ @Override
+ public boolean addAll(Collection<? extends E> collection) {
+ boolean result = super.addAll(collection);
+
+ for (Iterator<? extends E> elements = collection.iterator(); elements
+ .hasNext();) {
+
+ supersetAdd(elements.next());
+ }
+
+ return result;
+ }
+
+ @Override
+ public boolean addAll(int index, Collection<? extends E> collection) {
+ boolean result = super.addAll(index, collection);
+
+ for (Iterator<? extends E> elements = collection.iterator(); elements
+ .hasNext();) {
+
+ supersetAdd(elements.next());
+ }
+
+ return result;
+ }
+
+ @Override
+ public E set(int index, E object) {
+ E result = super.set(index, object);
+
+ supersetAdd(object);
+
+ if (result != object) {
+ subsetRemove(result);
+ }
+
+ return result;
+ }
+
+ @Override
+ protected void didRemove(int index, E oldObject) {
+ super.didRemove(index, oldObject);
+
+ subsetRemove(oldObject);
+ }
+
+} \ No newline at end of file
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEDataTypeUniqueEList.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEDataTypeUniqueEList.java
new file mode 100644
index 00000000..f41292c7
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEDataTypeUniqueEList.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2015 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA - initial API and implementation
+ * Eike Stepper - bug 540814
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.util;
+
+import org.eclipse.emf.ecore.InternalEObject;
+
+/**
+ * @since 2.1
+ */
+public class SubsetSupersetEDataTypeUniqueEList<E>
+ extends SubsetSupersetEDataTypeEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static class Unsettable<E>
+ extends SubsetSupersetEDataTypeEList.Unsettable<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected boolean isSet;
+
+ public Unsettable(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs, int[] subsetFeatureIDs) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs);
+ }
+
+ @Override
+ protected boolean isUnique() {
+ return true;
+ }
+ }
+
+ public SubsetSupersetEDataTypeUniqueEList(Class<?> dataClass,
+ InternalEObject owner, int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs) {
+ super(dataClass, owner, featureID, supersetFeatureIDs, subsetFeatureIDs);
+ }
+
+ @Override
+ protected boolean isUnique() {
+ return true;
+ }
+
+} \ No newline at end of file
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectContainmentEList.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectContainmentEList.java
new file mode 100644
index 00000000..9466ef7c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectContainmentEList.java
@@ -0,0 +1,146 @@
+/*
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Eike Stepper - bug 540814
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.InternalEObject;
+
+/**
+ * @since 1.2
+ */
+public class SubsetSupersetEObjectContainmentEList<E>
+ extends SubsetSupersetEObjectEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static class Unsettable<E>
+ extends SubsetSupersetEObjectContainmentEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static class Resolving<E>
+ extends Unsettable<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public Resolving(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs);
+ }
+
+ @Override
+ protected boolean hasProxies() {
+ return true;
+ }
+
+// @SuppressWarnings("unchecked")
+// @Override
+// protected E resolve(int index, E object) {
+// return (E) resolve(index, (EObject) object);
+// }
+ }
+
+ protected boolean isSet;
+
+ public Unsettable(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs, int[] subsetFeatureIDs) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs);
+ }
+
+ @Override
+ protected void didChange() {
+ isSet = true;
+ }
+
+ @Override
+ public boolean isSet() {
+ return isSet;
+ }
+
+ @Override
+ public void unset() {
+ super.unset();
+
+ if (isNotificationRequired()) {
+ boolean oldIsSet = isSet;
+ isSet = false;
+
+ owner.eNotify(createNotification(Notification.UNSET, oldIsSet,
+ false));
+ } else {
+ isSet = false;
+ }
+ }
+ }
+
+ public static class Resolving<E>
+ extends SubsetSupersetEObjectContainmentEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public Resolving(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs, int[] subsetFeatureIDs) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs);
+ }
+
+ @Override
+ protected boolean hasProxies() {
+ return true;
+ }
+
+// @SuppressWarnings("unchecked")
+// @Override
+// protected E resolve(int index, E object) {
+// return (E) resolve(index, (EObject) object);
+// }
+ }
+
+ public SubsetSupersetEObjectContainmentEList(Class<?> dataClass,
+ InternalEObject owner, int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs) {
+ super(dataClass, owner, featureID, supersetFeatureIDs, subsetFeatureIDs);
+ }
+
+ @Override
+ protected boolean hasInverse() {
+ return true;
+ }
+
+ @Override
+ protected boolean hasNavigableInverse() {
+ return false;
+ }
+
+ @Override
+ protected boolean isContainment() {
+ return true;
+ }
+
+ @Override
+ public boolean addAll(Collection<? extends E> collection) {
+ return super.addAll(new ArrayList<E>(collection));
+ }
+
+ @Override
+ public boolean addAll(int index, Collection<? extends E> collection) {
+ return super.addAll(index, new ArrayList<E>(collection));
+ }
+
+} \ No newline at end of file
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectContainmentWithInverseEList.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectContainmentWithInverseEList.java
new file mode 100644
index 00000000..038ecd43
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectContainmentWithInverseEList.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Eike Stepper - bug 540814
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.util;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.InternalEObject;
+
+/**
+ * @since 1.2
+ */
+public class SubsetSupersetEObjectContainmentWithInverseEList<E>
+ extends SubsetSupersetEObjectContainmentEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static class Unsettable<E>
+ extends SubsetSupersetEObjectContainmentWithInverseEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static class Resolving<E>
+ extends Unsettable<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public Resolving(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs, int inverseFeatureID) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs, inverseFeatureID);
+ }
+
+ @Override
+ protected boolean hasProxies() {
+ return true;
+ }
+
+// @SuppressWarnings("unchecked")
+// @Override
+// protected E resolve(int index, E object) {
+// return (E) resolve(index, (EObject) object);
+// }
+ }
+
+ protected boolean isSet;
+
+ public Unsettable(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs, int inverseFeatureID) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs, inverseFeatureID);
+ }
+
+ @Override
+ protected void didChange() {
+ isSet = true;
+ }
+
+ @Override
+ public boolean isSet() {
+ return isSet;
+ }
+
+ @Override
+ public void unset() {
+ super.unset();
+
+ if (isNotificationRequired()) {
+ boolean oldIsSet = isSet;
+ isSet = false;
+
+ owner.eNotify(createNotification(Notification.UNSET, oldIsSet,
+ false));
+ } else {
+ isSet = false;
+ }
+ }
+ }
+
+ public static class Resolving<E>
+ extends SubsetSupersetEObjectContainmentWithInverseEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public Resolving(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs, int inverseFeatureID) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs, inverseFeatureID);
+ }
+
+ @Override
+ protected boolean hasProxies() {
+ return true;
+ }
+
+// @SuppressWarnings("unchecked")
+// @Override
+// protected E resolve(int index, E object) {
+// return (E) resolve(index, (EObject) object);
+// }
+ }
+
+ protected final Class<?> dataClass;
+
+ protected final int inverseFeatureID;
+
+ public SubsetSupersetEObjectContainmentWithInverseEList(Class<?> dataClass,
+ InternalEObject owner, int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs, int inverseFeatureID) {
+ super(dataClass, owner, featureID, supersetFeatureIDs, subsetFeatureIDs);
+
+ this.dataClass = dataClass;
+ this.inverseFeatureID = inverseFeatureID;
+ }
+
+ @Override
+ protected boolean hasNavigableInverse() {
+ return true;
+ }
+
+ @Override
+ public int getInverseFeatureID() {
+ return inverseFeatureID;
+ }
+
+ @Override
+ public Class<?> getInverseFeatureClass() {
+ return dataClass;
+ }
+
+} \ No newline at end of file
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectEList.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectEList.java
new file mode 100644
index 00000000..d295e9f5
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectEList.java
@@ -0,0 +1,259 @@
+/*
+ * Copyright (c) 2006, 2015 IBM Corporation, CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Kenn Hussey (CEA) - 459723
+ * Eike Stepper - bug 540814
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.util;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EStoreEObjectImpl;
+import org.eclipse.emf.ecore.resource.Resource;
+
+/**
+ * A list that enforces subset/superset constraints. Specifically, when an
+ * element is added to a subset, it is also added to the associated superset(s),
+ * if not already present; when an element is removed from a superset, it is
+ * also removed from the associated subset(s), if present.
+ *
+ * @since 1.2
+ */
+public class SubsetSupersetEObjectEList<E>
+ extends EStoreEObjectImpl.BasicEStoreEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static class Unsettable<E>
+ extends SubsetSupersetEObjectEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected boolean isSet;
+
+ public Unsettable(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs, int[] subsetFeatureIDs) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs);
+ }
+
+ @Override
+ protected void didChange() {
+ isSet = true;
+ }
+
+ @Override
+ public boolean isSet() {
+ return isSet;
+ }
+
+ @Override
+ public void unset() {
+ super.unset();
+
+ if (isNotificationRequired()) {
+ boolean oldIsSet = isSet;
+ isSet = false;
+
+ owner.eNotify(createNotification(Notification.UNSET, oldIsSet,
+ false));
+ } else {
+ isSet = false;
+ }
+ }
+ }
+
+ /**
+ * An array of superset feature identifiers.
+ */
+ protected final int[] supersetFeatureIDs;
+
+ /**
+ * An array of subset feature identifiers.
+ */
+ protected final int[] subsetFeatureIDs;
+
+ public SubsetSupersetEObjectEList(Class<?> dataClass,
+ InternalEObject owner, int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs) {
+ super(owner, owner.eClass().getEStructuralFeature(featureID));
+
+ this.supersetFeatureIDs = supersetFeatureIDs;
+ this.subsetFeatureIDs = subsetFeatureIDs;
+ }
+
+ /**
+ * Indicates whether subset constraints should be enforced.
+ *
+ * @return <code>true</code> if subset constraints should be enforced;
+ * <code>false</code> otherwise.
+ */
+ protected boolean enforceSubsetConstraints() {
+ Resource.Internal eInternalResource = owner.eInternalResource();
+ return eInternalResource == null || !eInternalResource.isLoading();
+ }
+
+ /**
+ * Adds the specified element to the superset(s).
+ *
+ * @param object
+ * The element to be added.
+ */
+ protected void supersetAdd(Object object) {
+
+ if (supersetFeatureIDs != null && enforceSubsetConstraints()) {
+
+ for (int i = 0; i < supersetFeatureIDs.length; i++) {
+ EStructuralFeature supersetEStructuralFeature = owner.eClass()
+ .getEStructuralFeature(supersetFeatureIDs[i]);
+
+ if (supersetEStructuralFeature.isMany()) {
+ @SuppressWarnings("unchecked")
+ EList<Object> supersetEList = (EList<Object>) owner
+ .eGet(supersetEStructuralFeature);
+
+ if (!supersetEList.contains(object)) {
+ supersetEList.add(object);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Indicates whether superset constraints should be enforced.
+ *
+ * @return <code>true</code> if superset constraints should be enforced;
+ * <code>false</code> otherwise.
+ */
+ protected boolean enforceSupersetConstraints() {
+ return true;
+ }
+
+ /**
+ * Removes the specified element from the subset(s).
+ *
+ * @param object
+ * The element to be removed.
+ */
+ protected void subsetRemove(Object object) {
+
+ if (subsetFeatureIDs != null && enforceSupersetConstraints()) {
+
+ for (int i = 0; i < subsetFeatureIDs.length; i++) {
+ EStructuralFeature subsetEStructuralFeature = owner.eClass()
+ .getEStructuralFeature(subsetFeatureIDs[i]);
+
+ if (subsetEStructuralFeature.isMany()) {
+ @SuppressWarnings("unchecked")
+ EList<Object> list = ((EList<Object>) owner
+ .eGet(subsetEStructuralFeature));
+ list.remove(object);
+ } else if (object.equals(owner.eGet(subsetEStructuralFeature))) {
+ owner.eSet(subsetEStructuralFeature, null);
+ }
+ }
+ }
+ }
+
+ @Override
+ public NotificationChain basicAdd(E object, NotificationChain notifications) {
+ notifications = super.basicAdd(object, notifications);
+
+ supersetAdd(object);
+
+ return notifications;
+ }
+
+ @Override
+ public NotificationChain basicSet(int index, E object,
+ NotificationChain notifications) {
+ Object oldObject = super.basicGet(index);
+
+ notifications = super.basicSet(index, object, notifications);
+
+ supersetAdd(object);
+
+ if (oldObject != object) {
+ subsetRemove(oldObject);
+ }
+
+ return notifications;
+ }
+
+ @Override
+ public void add(int index, E object) {
+ super.add(index, object);
+
+ supersetAdd(object);
+ }
+
+ @Override
+ public boolean add(E object) {
+ boolean result = super.add(object);
+
+ supersetAdd(object);
+
+ return result;
+ }
+
+ @Override
+ public boolean addAll(Collection<? extends E> collection) {
+ boolean result = super.addAll(collection);
+
+ for (Iterator<? extends E> elements = collection.iterator(); elements
+ .hasNext();) {
+
+ supersetAdd(elements.next());
+ }
+
+ return result;
+ }
+
+ @Override
+ public boolean addAll(int index, Collection<? extends E> collection) {
+ boolean result = super.addAll(index, collection);
+
+ for (Iterator<? extends E> elements = collection.iterator(); elements
+ .hasNext();) {
+
+ supersetAdd(elements.next());
+ }
+
+ return result;
+ }
+
+ @Override
+ public E set(int index, E object) {
+ E result = super.set(index, object);
+
+ supersetAdd(object);
+
+ if (result != object) {
+ subsetRemove(result);
+ }
+
+ return result;
+ }
+
+ @Override
+ protected void didRemove(int index, E oldObject) {
+ super.didRemove(index, oldObject);
+
+ subsetRemove(oldObject);
+ }
+
+} \ No newline at end of file
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectResolvingEList.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectResolvingEList.java
new file mode 100644
index 00000000..eb7a3bb9
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectResolvingEList.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Eike Stepper - bug 540814
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.util;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.InternalEObject;
+
+/**
+ * @since 1.2
+ */
+public class SubsetSupersetEObjectResolvingEList<E>
+ extends SubsetSupersetEObjectEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static class Unsettable<E>
+ extends SubsetSupersetEObjectResolvingEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected boolean isSet;
+
+ public Unsettable(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs, int[] subsetFeatureIDs) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs);
+ }
+
+ @Override
+ protected void didChange() {
+ isSet = true;
+ }
+
+ @Override
+ public boolean isSet() {
+ return isSet;
+ }
+
+ @Override
+ public void unset() {
+ super.unset();
+
+ if (isNotificationRequired()) {
+ boolean oldIsSet = isSet;
+ isSet = false;
+
+ owner.eNotify(createNotification(Notification.UNSET, oldIsSet,
+ false));
+ } else {
+ isSet = false;
+ }
+ }
+ }
+
+ public SubsetSupersetEObjectResolvingEList(Class<?> dataClass,
+ InternalEObject owner, int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs) {
+ super(dataClass, owner, featureID, supersetFeatureIDs, subsetFeatureIDs);
+ }
+
+ @Override
+ protected boolean hasProxies() {
+ return true;
+ }
+
+// @SuppressWarnings("unchecked")
+// @Override
+// protected E resolve(int index, E object) {
+// return (E) resolve(index, (EObject) object);
+// }
+
+} \ No newline at end of file
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectWithInverseEList.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectWithInverseEList.java
new file mode 100644
index 00000000..d29b0d58
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectWithInverseEList.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Eike Stepper - bug 540814
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.util;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.InternalEObject;
+
+/**
+ * @since 1.2
+ */
+public class SubsetSupersetEObjectWithInverseEList<E>
+ extends SubsetSupersetEObjectEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static class Unsettable<E>
+ extends SubsetSupersetEObjectWithInverseEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static class ManyInverse<E>
+ extends Unsettable<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public ManyInverse(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs, int inverseFeatureID) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs, inverseFeatureID);
+ }
+
+ @Override
+ protected boolean hasManyInverse() {
+ return true;
+ }
+ }
+
+ protected boolean isSet;
+
+ public Unsettable(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs, int inverseFeatureID) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs, inverseFeatureID);
+ }
+
+ @Override
+ protected void didChange() {
+ isSet = true;
+ }
+
+ @Override
+ public boolean isSet() {
+ return isSet;
+ }
+
+ @Override
+ public void unset() {
+ super.unset();
+
+ if (isNotificationRequired()) {
+ boolean oldIsSet = isSet;
+ isSet = false;
+
+ owner.eNotify(createNotification(Notification.UNSET, oldIsSet,
+ false));
+ } else {
+ isSet = false;
+ }
+ }
+ }
+
+ public static class ManyInverse<E>
+ extends SubsetSupersetEObjectWithInverseEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public ManyInverse(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs, int inverseFeatureID) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs, inverseFeatureID);
+ }
+
+ @Override
+ protected boolean hasManyInverse() {
+ return true;
+ }
+ }
+
+ protected final Class<?> dataClass;
+
+ protected final int inverseFeatureID;
+
+ public SubsetSupersetEObjectWithInverseEList(Class<?> dataClass,
+ InternalEObject owner, int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs, int inverseFeatureID) {
+ super(dataClass, owner, featureID, supersetFeatureIDs, subsetFeatureIDs);
+
+ this.dataClass = dataClass;
+ this.inverseFeatureID = inverseFeatureID;
+ }
+
+ @Override
+ protected boolean hasInverse() {
+ return true;
+ }
+
+ @Override
+ protected boolean hasNavigableInverse() {
+ return true;
+ }
+
+ @Override
+ public int getInverseFeatureID() {
+ return inverseFeatureID;
+ }
+
+ @Override
+ public Class<?> getInverseFeatureClass() {
+ return dataClass;
+ }
+
+} \ No newline at end of file
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectWithInverseResolvingEList.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectWithInverseResolvingEList.java
new file mode 100644
index 00000000..cae4c13b
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/SubsetSupersetEObjectWithInverseResolvingEList.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - initial API and implementation
+ * Eike Stepper - bug 540814
+ *
+ */
+package org.eclipse.uml2.uml.cdo.internal.util;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.InternalEObject;
+
+/**
+ * @since 1.2
+ */
+public class SubsetSupersetEObjectWithInverseResolvingEList<E>
+ extends SubsetSupersetEObjectWithInverseEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static class Unsettable<E>
+ extends SubsetSupersetEObjectWithInverseResolvingEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static class ManyInverse<E>
+ extends Unsettable<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public ManyInverse(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs, int inverseFeatureID) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs, inverseFeatureID);
+ }
+
+ @Override
+ protected boolean hasManyInverse() {
+ return true;
+ }
+ }
+
+ protected boolean isSet;
+
+ public Unsettable(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs, int inverseFeatureID) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs, inverseFeatureID);
+ }
+
+ @Override
+ protected void didChange() {
+ isSet = true;
+ }
+
+ @Override
+ public boolean isSet() {
+ return isSet;
+ }
+
+ @Override
+ public void unset() {
+ super.unset();
+
+ if (isNotificationRequired()) {
+ boolean oldIsSet = isSet;
+ isSet = false;
+
+ owner.eNotify(createNotification(Notification.UNSET, oldIsSet,
+ false));
+ } else {
+ isSet = false;
+ }
+ }
+ }
+
+ public static class ManyInverse<E>
+ extends SubsetSupersetEObjectWithInverseResolvingEList<E> {
+
+ private static final long serialVersionUID = 1L;
+
+ public ManyInverse(Class<?> dataClass, InternalEObject owner,
+ int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs, int inverseFeatureID) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs, inverseFeatureID);
+ }
+
+ @Override
+ protected boolean hasManyInverse() {
+ return true;
+ }
+ }
+
+ public SubsetSupersetEObjectWithInverseResolvingEList(Class<?> dataClass,
+ InternalEObject owner, int featureID, int[] supersetFeatureIDs,
+ int[] subsetFeatureIDs, int inverseFeatureID) {
+ super(dataClass, owner, featureID, supersetFeatureIDs,
+ subsetFeatureIDs, inverseFeatureID);
+ }
+
+ @Override
+ protected boolean hasProxies() {
+ return true;
+ }
+
+ // @SuppressWarnings("unchecked")
+ // @Override
+ // protected E resolve(int index, E object) {
+ // return (E) resolve(index, (EObject) object);
+ // }
+
+} \ No newline at end of file
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/basicSetGenFeature.post.insert.javajetinc b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/basicSetGenFeature.post.insert.javajetinc
new file mode 100644
index 00000000..9977382c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/basicSetGenFeature.post.insert.javajetinc
@@ -0,0 +1,40 @@
+<%if (!UML2GenModelUtil.getSubsetGenFeatures(genClass, genFeature, false, false).isEmpty() || !UML2GenModelUtil.getSupersetGenFeatures(genClass, genFeature, false, true).isEmpty()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource")%>.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ <%for (GenFeature subsetGenFeature : UML2GenModelUtil.getSubsetGenFeatures(genClass, genFeature, false, false)) {%>
+ <%if (subsetGenFeature.isContainer()) {%>
+ <%=subsetGenFeature.getImportedType(genClass)%> <%=subsetGenFeature.getSafeName()%> = <%=subsetGenFeature.isBasicGet() ? "basicGet" + subsetGenFeature.getAccessorName() : subsetGenFeature.getGetAccessor()%>();
+ <%} else if (genClass.getImplementingGenModel(subsetGenFeature).isVirtualDelegation()) {%>
+ Object <%=subsetGenFeature.getSafeName()%> = eVirtualGet(<%=genClass.getQualifiedFeatureID(subsetGenFeature)%>);
+ <%} else {%>
+ <%=subsetGenFeature.getImportedType(genClass)%> <%=subsetGenFeature.getSafeName()%> = <%=subsetGenFeature.getGetAccessor()%>();
+ <%}%>
+ if (<%=subsetGenFeature.getSafeName()%> != null && <%=subsetGenFeature.getSafeName()%> != new<%=genFeature.getCapName()%>)
+ {
+ set<%=subsetGenFeature.getAccessorName()%>(null);
+ }
+ <%}%>
+ <%for (GenFeature supersetGenFeature : UML2GenModelUtil.getSupersetGenFeatures(genClass, genFeature, false, true)) {%>
+ if (new<%=genFeature.getCapName()%> != null)
+ {
+ <%if (supersetGenFeature.isListType()) {%>
+ <%=supersetGenFeature.getImportedType(genClass)%> <%=supersetGenFeature.getSafeName()%> = <%=supersetGenFeature.getGetAccessor()%>();
+ if (!<%=supersetGenFeature.getSafeName()%>.contains(new<%=genFeature.getCapName()%>))
+ {
+ <%=supersetGenFeature.getSafeName()%>.add(new<%=genFeature.getCapName()%>);
+ }
+ <%} else {%>
+ <%if (supersetGenFeature.isContainer()) {%>
+ <%=supersetGenFeature.getImportedType(genClass)%> <%=supersetGenFeature.getSafeName()%> = <%=supersetGenFeature.isBasicGet() ? "basicGet" + supersetGenFeature.getAccessorName() : supersetGenFeature.getGetAccessor()%>();
+ <%} else if (genClass.getImplementingGenModel(supersetGenFeature).isVirtualDelegation()) {%>
+ Object <%=supersetGenFeature.getSafeName()%> = eVirtualGet(<%=genClass.getQualifiedFeatureID(supersetGenFeature)%>);
+ <%}%>
+ if (new<%=genFeature.getCapName()%> != <%=supersetGenFeature.getGetAccessor()%>())
+ {
+ set<%=supersetGenFeature.getAccessorName()%>(new<%=genFeature.getCapName()%>);
+ }
+ <%}%>
+ }
+ <%}%>
+ }
+<%}%> \ No newline at end of file
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/basicSetGenFeature.post.insert.javajetinc.orig b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/basicSetGenFeature.post.insert.javajetinc.orig
new file mode 100644
index 00000000..03c87ac4
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/basicSetGenFeature.post.insert.javajetinc.orig
@@ -0,0 +1,38 @@
+<%if (!UML2GenModelUtil.getSubsetGenFeatures(genClass, genFeature, false, false).isEmpty() || !UML2GenModelUtil.getSupersetGenFeatures(genClass, genFeature, false, true).isEmpty()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource")%>.Internal eInternalResource = eInternalResource();
+ if (eInternalResource == null || !eInternalResource.isLoading()) {
+ <%for (GenFeature subsetGenFeature : UML2GenModelUtil.getSubsetGenFeatures(genClass, genFeature, false, false)) {%>
+ <%if (subsetGenFeature.isContainer()) {%>
+ <%=subsetGenFeature.getImportedType(genClass)%> <%=subsetGenFeature.getSafeName()%> = <%=subsetGenFeature.isBasicGet() ? "basicGet" + subsetGenFeature.getAccessorName() : subsetGenFeature.getGetAccessor()%>();
+ <%} else if (genClass.getImplementingGenModel(subsetGenFeature).isVirtualDelegation()) {%>
+ Object <%=subsetGenFeature.getSafeName()%> = eVirtualGet(<%=genClass.getQualifiedFeatureID(subsetGenFeature)%>);
+ <%}%>
+ if (<%=subsetGenFeature.getSafeName()%> != null && <%=subsetGenFeature.getSafeName()%> != new<%=genFeature.getCapName()%>)
+ {
+ set<%=subsetGenFeature.getAccessorName()%>(null);
+ }
+ <%}%>
+ <%for (GenFeature supersetGenFeature : UML2GenModelUtil.getSupersetGenFeatures(genClass, genFeature, false, true)) {%>
+ if (new<%=genFeature.getCapName()%> != null)
+ {
+ <%if (supersetGenFeature.isListType()) {%>
+ <%=supersetGenFeature.getImportedType(genClass)%> <%=supersetGenFeature.getSafeName()%> = <%=supersetGenFeature.getGetAccessor()%>();
+ if (!<%=supersetGenFeature.getSafeName()%>.contains(new<%=genFeature.getCapName()%>))
+ {
+ <%=supersetGenFeature.getSafeName()%>.add(new<%=genFeature.getCapName()%>);
+ }
+ <%} else {%>
+ <%if (supersetGenFeature.isContainer()) {%>
+ <%=supersetGenFeature.getImportedType(genClass)%> <%=supersetGenFeature.getSafeName()%> = <%=supersetGenFeature.isBasicGet() ? "basicGet" + supersetGenFeature.getAccessorName() : supersetGenFeature.getGetAccessor()%>();
+ <%} else if (genClass.getImplementingGenModel(supersetGenFeature).isVirtualDelegation()) {%>
+ Object <%=supersetGenFeature.getSafeName()%> = eVirtualGet(<%=genClass.getQualifiedFeatureID(supersetGenFeature)%>);
+ <%}%>
+ if (new<%=genFeature.getCapName()%> != <%=supersetGenFeature.getSafeName()%>)
+ {
+ set<%=supersetGenFeature.getAccessorName()%>(new<%=genFeature.getCapName()%>);
+ }
+ <%}%>
+ }
+ <%}%>
+ }
+<%}%> \ No newline at end of file
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/dynamicDelegation.javajetinc.does-not-work b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/dynamicDelegation.javajetinc.does-not-work
new file mode 100644
index 00000000..208279f7
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/dynamicDelegation.javajetinc.does-not-work
@@ -0,0 +1,30 @@
+<%for (GenFeature genFeatureTest : genClass.getGenFeatures()) {%>
+ <%if (genFeatureTest.isListType() && genClass.getListConstructor(genFeatureTest).startsWith("SubsetSuperset")) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ //@Override
+ protected EList<?> createListTest(EStructuralFeature eStructuralFeature)
+ {
+ <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+ <%if (genFeature.isListType()) {%>
+ <%if (genClass.getListConstructor(genFeature).startsWith("SubsetSuperset")) {%>
+ if (eStructuralFeature == <%=genFeature.getQualifiedFeatureAccessor()%>)
+ {
+ return new <%=genClass.getListConstructor(genFeature)%>;
+ }
+
+ <%} else {%>
+ <%=genFeature.getQualifiedFeatureAccessor()%>.getClass(); // new <%=genClass.getListConstructor(genFeature)%>
+
+ <%}%>
+ <%}%>
+ <%}%>
+ return null;
+ //return super.createList(eStructuralFeature);
+ }
+ <%break;%>
+ <%}%>
+<%}%>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/dynamicSetGenFeature.post.insert.javajetinc b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/dynamicSetGenFeature.post.insert.javajetinc
new file mode 100644
index 00000000..7d928f52
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/templates/model/Class/dynamicSetGenFeature.post.insert.javajetinc
@@ -0,0 +1 @@
+<%@ include file="basicSetGenFeature.post.insert.javajetinc" fail="silent" %>
diff --git a/cdo/bundles/uml/pom.xml b/cdo/bundles/uml/pom.xml
new file mode 100755
index 00000000..437fca6b
--- /dev/null
+++ b/cdo/bundles/uml/pom.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <artifactId>org.eclipse.papyrus.cdo-bundles</artifactId>
+ <groupId>org.eclipse.papyrus.cdo</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>uml</artifactId>
+
+ <modules>
+ <module>org.eclipse.uml2.uml.cdo</module>
+ </modules>
+
+ <packaging>pom</packaging>
+</project>
diff --git a/cdo/features/org.eclipse.papyrus.cdo.feature/feature.xml b/cdo/features/org.eclipse.papyrus.cdo.feature/feature.xml
index 61bd61d8..40a9945a 100755
--- a/cdo/features/org.eclipse.papyrus.cdo.feature/feature.xml
+++ b/cdo/features/org.eclipse.papyrus.cdo.feature/feature.xml
@@ -33,7 +33,7 @@
</license>
<requires>
- <import feature="org.eclipse.papyrus.sdk.feature" version="4.0.0" match="greaterOrEqual"/>
+ <import feature="org.eclipse.papyrus.sdk.feature" version="4.0.0" match="compatible"/>
</requires>
<plugin
diff --git a/cdo/features/org.eclipse.papyrus.cdo.models.feature/feature.xml b/cdo/features/org.eclipse.papyrus.cdo.models.feature/feature.xml
index c4f5ceae..5a17476d 100755
--- a/cdo/features/org.eclipse.papyrus.cdo.models.feature/feature.xml
+++ b/cdo/features/org.eclipse.papyrus.cdo.models.feature/feature.xml
@@ -50,4 +50,10 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.uml2.uml.cdo"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
</feature>
diff --git a/cdo/releng/targetplatforms/eclipse/org.eclipse.papyrus.cdo.targetplatform.target b/cdo/releng/targetplatforms/eclipse/org.eclipse.papyrus.cdo.targetplatform.target
index e00d4679..6ecfba88 100755
--- a/cdo/releng/targetplatforms/eclipse/org.eclipse.papyrus.cdo.targetplatform.target
+++ b/cdo/releng/targetplatforms/eclipse/org.eclipse.papyrus.cdo.targetplatform.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="CollaborativeModeling CDO - 2018-09" sequenceNumber="1541583300">
+<target name="CollaborativeModeling CDO - 2018-09" sequenceNumber="1543414298">
<locations>
<location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
<unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="0.0.0"/>
@@ -27,11 +27,19 @@
<unit id="org.eclipse.emf.cdo.server.ocl" version="4.2.300.v20180529-1130"/>
<unit id="org.eclipse.emf.cdo.ecore" version="0.0.0"/>
<unit id="org.eclipse.emf.cdo.gmf.notation" version="0.0.0"/>
- <repository id="cdo" location="file:/home/data/httpd/download.eclipse.org/modeling/emf/cdo/drops/R20180613-0111"/>
+ <repository id="cdo" location="file:/home/data/httpd/download.eclipse.org/modeling/emf/cdo/drops/I20181123-0100"/>
</location>
<location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
<unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="1.3.0"/>
<repository id="Sysml" location="https://hudson.eclipse.org/papyrus/job/papyrus-sysml-master/4/artifact/releng/org.eclipse.papyrus.sysml14.p2/target/repository/"/>
</location>
+ <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+ <unit id="org.eclipse.uml2.sdk.feature.group" version="5.5.0.v20181126-1312"/>
+ <repository id="uml" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/uml2/updates/5.5milestones"/>
+ </location>
+ <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+ <unit id="org.eclipse.emf.sdk.feature.group" version="2.16.0.v20181116-0557"/>
+ <repository id="emf" location="file:/home/data/httpd/download.eclipse.org/modeling/emf/emf/builds/milestone/S201811200213"/>
+ </location>
</locations>
</target>
diff --git a/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.target b/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.target
index 578ecaf7..9557451e 100755
--- a/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.target
+++ b/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="CollaborativeModeling CDO - 2018-09" sequenceNumber="1541583300">
+<target name="CollaborativeModeling CDO - 2018-09" sequenceNumber="1543414298">
<locations>
<location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
<unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="0.0.0"/>
@@ -27,11 +27,19 @@
<unit id="org.eclipse.emf.cdo.server.ocl" version="4.2.300.v20180529-1130"/>
<unit id="org.eclipse.emf.cdo.ecore" version="0.0.0"/>
<unit id="org.eclipse.emf.cdo.gmf.notation" version="0.0.0"/>
- <repository id="cdo" location="http://download.eclipse.org/modeling/emf/cdo/drops/R20180613-0111"/>
+ <repository id="cdo" location="http://download.eclipse.org/modeling/emf/cdo/drops/I20181123-0100"/>
</location>
<location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
<unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="1.3.0"/>
<repository id="Sysml" location="https://hudson.eclipse.org/papyrus/job/papyrus-sysml-master/4/artifact/releng/org.eclipse.papyrus.sysml14.p2/target/repository/"/>
</location>
+ <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+ <unit id="org.eclipse.uml2.sdk.feature.group" version="5.5.0.v20181126-1312"/>
+ <repository id="uml" location="http://download.eclipse.org/modeling/mdt/uml2/updates/5.5milestones"/>
+ </location>
+ <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+ <unit id="org.eclipse.emf.sdk.feature.group" version="2.16.0.v20181116-0557"/>
+ <repository id="emf" location="http://download.eclipse.org/modeling/emf/emf/builds/milestone/S201811200213"/>
+ </location>
</locations>
</target>
diff --git a/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.tpd b/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.tpd
index 2f561b89..e15ff7ff 100755
--- a/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.tpd
+++ b/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.tpd
@@ -24,7 +24,7 @@ location "http://download.eclipse.org/releases/2018-09" eclipse-2018-09 {
/** Automatic dependencies */
//updateFrom("EMF CDO",0)
-location cdo "http://download.eclipse.org/modeling/emf/cdo/drops/R20180613-0111" {
+location cdo "http://download.eclipse.org/modeling/emf/cdo/drops/I20181123-0100" {
org.eclipse.emf.cdo.explorer
org.eclipse.emf.cdo.dawn
org.eclipse.emf.cdo.dawn.gmf
@@ -39,4 +39,16 @@ location cdo "http://download.eclipse.org/modeling/emf/cdo/drops/R20180613-0111"
location Sysml "https://hudson.eclipse.org/papyrus/job/papyrus-sysml-master/4/artifact/releng/org.eclipse.papyrus.sysml14.p2/target/repository/"{
org.eclipse.papyrus.sysml14.feature.feature.group
+}
+
+//updateFrom("MDT UML2",0)
+
+location uml "http://download.eclipse.org/modeling/mdt/uml2/updates/5.5milestones" {
+ org.eclipse.uml2.sdk.feature.group
+}
+
+//updateFrom("EMF (Core)",0)
+
+location emf "http://download.eclipse.org/modeling/emf/emf/builds/milestone/S201811200213" {
+ org.eclipse.emf.sdk.feature.group
} \ No newline at end of file
diff --git a/cdo/tests/pom.xml b/cdo/tests/pom.xml
index 22848016..48e1a267 100755
--- a/cdo/tests/pom.xml
+++ b/cdo/tests/pom.xml
@@ -20,7 +20,8 @@
<module>org.eclipse.papyrus.cdo.ui.tests</module>
<module>org.eclipse.papyrus.cdo.uml.search.ui.tests</module>
<module>org.eclipse.papyrus.cdo.uml.ui.tests</module>
- <module>org.eclipse.papyrus.cdo.validation.problems.tests</module>
+ <module>org.eclipse.papyrus.cdo.validation.problems.tests</module>
+ <module>uml</module>
</modules>
</project> \ No newline at end of file
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.classpath b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.classpath
new file mode 100755
index 00000000..304e8618
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.gitignore b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.gitignore
new file mode 100755
index 00000000..e5fb858c
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.gitignore
@@ -0,0 +1,4 @@
+bin
+/target/
+/UMLTest.uml
+/UMLExpected.uml
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.project b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.project
new file mode 100755
index 00000000..f41442e3
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.project
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.uml2.uml.cdo.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <!--
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ -->
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <!--
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ -->
+ </natures>
+</projectDescription>
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.settings/org.eclipse.jdt.core.prefs b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100755
index 00000000..b0f04eed
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,430 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=ignore
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=ignore
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
+org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
+org.eclipse.jdt.core.formatter.align_with_spaces=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=20
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=20
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=20
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=20
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=53
+org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=53
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=20
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=20
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=33
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=33
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=33
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=17
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=33
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=false
+org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=80
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.settings/org.eclipse.jdt.ui.prefs b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100755
index 00000000..89a762da
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,131 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=false
+cleanup.remove_redundant_type_arguments=false
+cleanup.remove_trailing_whitespaces=false
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=false
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=org.eclipse.jdt.ui.default.eclipse_clean_up_profile
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_UML2CodeFormatter.profile
+formatter_settings_version=14
+org.eclipse.jdt.ui.exception.name=e
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.staticondemandthreshold=99
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=false
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/META-INF/MANIFEST.MF b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/META-INF/MANIFEST.MF
new file mode 100755
index 00000000..4a2d380e
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.uml2.uml.cdo.tests;singleton:=true
+Bundle-Version: 5.4.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)";resolution:=optional;x-installation:=greedy,
+ org.eclipse.emf.ecore;bundle-version="[2.14.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.14.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.common;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.types;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.mapping.ecore2xml;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml.cdo;bundle-version="[5.4.0,5.5.0)",
+ org.eclipse.emf.cdo;bundle-version="[4.5.0,5.0.0)",
+ org.eclipse.emf.cdo.ecore;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.cdo.tests;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.codegen.ecore;bundle-version="2.15.0",
+ org.eclipse.uml2.codegen.ecore;bundle-version="2.4.0",
+ org.eclipse.emf.cdo.tests.db;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.uml2.uml.tests;bundle-version="[5.4.0,6.0.0)"
+Export-Package: org.eclipse.uml2.uml.cdo.tests;version="5.4.0",
+ org.eclipse.uml2.uml.cdo.tests.compliance;version="5.4.0"
+Automatic-Module-Name: org.eclipse.uml2.uml.cdo.tests
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Bug Tests (CDO).launch b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Bug Tests (CDO).launch
new file mode 100755
index 00000000..c196afb1
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Bug Tests (CDO).launch
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="true"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/bug/tests/UMLBugTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.uml2.uml.bug.tests.UMLBugTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.uml2.uml.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="true"/>
+</launchConfiguration>
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Bug Tests (EMF).launch b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Bug Tests (EMF).launch
new file mode 100755
index 00000000..df1296d7
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Bug Tests (EMF).launch
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<stringAttribute key="bad_container_name" value="\org.eclipse.uml2.uml.cdotests"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/bug/tests/UMLBugTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.uml2.uml.bug.tests.UMLBugTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.uml2.uml.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
+</launchConfiguration>
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Cache Adapter Test (CDO).launch b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Cache Adapter Test (CDO).launch
new file mode 100755
index 00000000..55a23582
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Cache Adapter Test (CDO).launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/CacheAdapterTest.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.uml2.uml.cdo.tests.CacheAdapterTest"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.uml2.uml.cdo.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
+</launchConfiguration>
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Cache Adapter Test (EMF).launch b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Cache Adapter Test (EMF).launch
new file mode 100755
index 00000000..c4daa09b
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Cache Adapter Test (EMF).launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/CacheAdapterTest.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.uml2.uml.cdo.tests.CacheAdapterTest.EMF"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.uml2.uml.cdo.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
+</launchConfiguration>
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Compliance Tests (CDO).launch b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Compliance Tests (CDO).launch
new file mode 100755
index 00000000..97e0ce11
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Compliance Tests (CDO).launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="2"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=org.eclipse.uml2.uml.cdo.tests/src&lt;org.eclipse.uml2.uml.cdo.tests.compliance"/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.uml2.uml.cdo.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
+</launchConfiguration>
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Compliance Tests (EMF).launch b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Compliance Tests (EMF).launch
new file mode 100755
index 00000000..f902dd2c
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Compliance Tests (EMF).launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="2"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=org.eclipse.uml2.uml.cdo.tests/src&lt;org.eclipse.uml2.uml.cdo.tests.compliance"/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.uml2.uml.cdo.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea&#13;&#10;-DPLAIN_EMF=true"/>
+</launchConfiguration>
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Self Test.launch b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Self Test.launch
new file mode 100755
index 00000000..67d774e1
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/UML Self Test.launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/UMLSelfTest.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value="testSelf"/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.uml2.uml.cdo.tests.UMLSelfTest"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.uml2.uml.cdo.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea&#13;&#10;-Dgit.clone.uml2=${git.clone.uml2}"/>
+</launchConfiguration>
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/about.html b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/about.html
new file mode 100755
index 00000000..598b3684
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>May 12, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/build.properties b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/build.properties
new file mode 100755
index 00000000..6343da2d
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/build.properties
@@ -0,0 +1,33 @@
+# Copyright (c) 2005, 2013 IBM Corporation, CEA, and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# IBM - initial API and implementation
+# Kenn Hussey (CEA) - 327039
+# Christian W. Damus (CEA) - 227616
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+source.. = src/
+output.. = bin/
+bin.includes = about.*,\
+ plugin.*,\
+ .,\
+ META-INF/,\
+ plugin.properties,\
+ about.html
+src.includes = about.html,\
+ UML Bug Tests (CDO).launch,\
+ UML Bug Tests (EMF).launch,\
+ UML Cache Adapter Test (CDO).launch,\
+ UML Cache Adapter Test (EMF).launch,\
+ UML Compliance Tests (CDO).launch,\
+ UML Compliance Tests (EMF).launch,\
+ UML Self Test.launch
+exclude.. = **/doc-files/**
+javacSource = 1.5
+javacTarget = 1.5
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/plugin.properties b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/plugin.properties
new file mode 100755
index 00000000..a8342886
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/plugin.properties
@@ -0,0 +1,14 @@
+# Copyright (c) 2005, 2016 IBM Corporation, Embarcadero Technologies, CEA, and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Eike Stepper - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+pluginName = UML2 UML Tests (CDO Version)
+providerName = Eclipse Modeling Project
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/pom.xml b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/pom.xml
new file mode 100755
index 00000000..f655f39d
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <artifactId>org.eclipse.papyrus.uml.cdo-tests</artifactId>
+ <groupId>org.eclipse.papyrus.cdo</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.papyrus.uml2.uml.cdo.tests</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <version>5.4.0-SNAPSHOT</version>
+</project>
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/AbstractUMLTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/AbstractUMLTest.java
new file mode 100755
index 00000000..355fa8bb
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/AbstractUMLTest.java
@@ -0,0 +1,291 @@
+package org.eclipse.uml2.uml.cdo.tests;
+
+import java.io.File;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.emf.cdo.common.CDOCommonRepository.IDGenerationLocation;
+import org.eclipse.emf.cdo.ecore.impl.CDOEcoreFactoryImpl;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.server.db.mapping.IMappingStrategy;
+import org.eclipse.emf.cdo.tests.AbstractCDOTest;
+import org.eclipse.emf.cdo.tests.config.IScenario;
+import org.eclipse.emf.cdo.tests.config.impl.RepositoryConfig;
+import org.eclipse.emf.cdo.tests.config.impl.Scenario;
+import org.eclipse.emf.cdo.tests.db.H2Config;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.ecore.impl.EcoreFactoryImpl;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.net4j.util.WrappedException;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.cdo.internal.util.CDOCacheAdapter;
+import org.eclipse.uml2.uml.internal.resource.UMLResourceFactoryImpl;
+import org.eclipse.uml2.uml.resource.UMLResource;
+import org.eclipse.uml2.uml.tests.util.StandaloneSupport;
+
+/**
+ * @author Eike Stepper
+ */
+public abstract class AbstractUMLTest
+ extends AbstractCDOTest {
+
+ protected final EcoreFactory ECORE = plainEMF()
+ ? new EcoreFactoryImpl()
+ : new CDOEcoreFactoryImpl();
+
+ protected final UMLFactory UML = plainEMF()
+ ? new org.eclipse.uml2.uml.internal.impl.UMLFactoryImpl()
+ : new org.eclipse.uml2.uml.cdo.internal.impl.UMLFactoryImpl();
+
+ private static final String RESOURCE_EXTENSION = "uml";
+
+ private Set<Resource> resources = new HashSet<Resource>();
+
+ public boolean plainEMF() {
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return "[" + (plainEMF()
+ ? "EMF"
+ : "CDO") + "] " + super.toString();
+ }
+
+ @Override
+ protected void doSetUp()
+ throws Exception {
+ if (!plainEMF()) {
+ super.doSetUp();
+ }
+
+ wirePackageAndfactory(EcorePackage.eINSTANCE, EcoreFactory.class,
+ ECORE);
+ wirePackageAndfactory(UMLPackage.eINSTANCE, UMLFactory.class, UML);
+
+ CacheAdapter cacheAdapter = createCacheAdapter();
+ CDOCacheAdapter.register(cacheAdapter);
+ }
+
+ @Override
+ protected void doTearDown()
+ throws Exception {
+ if (!plainEMF()) {
+ super.doTearDown();
+ }
+ }
+
+ @Override
+ protected IScenario getDefaultScenario() {
+ if (dbScenario()) {
+ RepositoryConfig repositoryConfig = new H2Config() {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected java.util.Map<String, String> createMappingStrategyProperties() {
+ Map<String, String> props = super.createMappingStrategyProperties();
+ props.put(IMappingStrategy.Props.FORCE_NAMES_WITH_ID,
+ "true");
+ return props;
+ };
+ }.idGenerationLocation(IDGenerationLocation.STORE);
+
+ IScenario scenario = new Scenario();
+ scenario.setRepositoryConfig(repositoryConfig);
+ scenario.setSessionConfig(JVM);
+ scenario.setModelConfig(NATIVE);
+ return scenario;
+ }
+
+ return super.getDefaultScenario();
+ }
+
+ protected boolean dbScenario() {
+ return Boolean.getBoolean("DB_SCENARIO");
+ }
+
+ protected CacheAdapter createCacheAdapter() {
+ if (plainEMF()) {
+ return new CacheAdapter();
+ }
+
+ return new CDOCacheAdapter();
+ }
+
+ protected final Resource createResource(final EObject... rootObjects) {
+ class DataList
+ extends BasicEList<EObject> {
+
+ private static final long serialVersionUID = 1L;
+
+ public DataList() {
+ super(rootObjects.length, rootObjects);
+ }
+ }
+
+ return createResource(new DataList());
+ }
+
+ protected final Resource createResource(
+ Collection<? extends EObject> rootObjects) {
+ String name = "res" + (resources.size() + 1) + "." + RESOURCE_EXTENSION;
+ Resource resource;
+
+ Resource anyResource = getAnyResource();
+ if (plainEMF()) {
+ FolderResourceSet resourceSet;
+ if (anyResource == null) {
+ resourceSet = new FolderResourceSet();
+ resourceSet.getResourceFactoryRegistry()
+ .getExtensionToFactoryMap()
+ .put(RESOURCE_EXTENSION, new UMLResourceFactoryImpl());
+ } else {
+ resourceSet = (FolderResourceSet) anyResource.getResourceSet();
+ }
+
+ resource = resourceSet.createResource(name);
+ } else {
+ CDOTransaction transaction;
+ if (anyResource == null) {
+ // The session and transaction are automatically closed.
+ transaction = openSession().openTransaction();
+ } else {
+ transaction = getTransaction(anyResource);
+ }
+
+ resource = transaction.createResource(getResourcePath(name));
+ }
+
+ for (EObject rootObject : new ArrayList<EObject>(rootObjects)) {
+ resource.getContents().add(rootObject);
+ }
+
+ resources.add(resource);
+ System.out.println("Created resource " + resource.getURI());
+
+ return resource;
+ }
+
+ protected final void saveResources()
+ throws Exception {
+ Resource anyResource = getAnyResource();
+ if (anyResource != null) {
+ if (plainEMF()) {
+ System.out.println("Saving EMF resources...");
+ for (Resource resource : resources) {
+ resource.save(Collections.emptyMap());
+ }
+ } else {
+ System.out.println("Committing CDO transaction...");
+ CDOTransaction transaction = getTransaction(anyResource);
+ transaction.commit();
+ }
+ } else {
+ System.out.println("Nothing to save");
+ }
+ }
+
+ private Resource getAnyResource() {
+ if (resources.isEmpty()) {
+ return null;
+ }
+ return resources.iterator().next();
+ }
+
+ private CDOTransaction getTransaction(Resource resource) {
+ if (resource instanceof CDOResource) {
+ return (CDOTransaction) ((CDOResource) resource).cdoView();
+ }
+
+ return null;
+ }
+
+ private void wirePackageAndfactory(EPackage ePackage,
+ Class<? extends EFactory> factoryInterface, EFactory eFactory) {
+
+ ((EPackageImpl) ePackage).basicSetEFactoryInstance(eFactory, null);
+ eFactory.setEPackage(ePackage);
+
+ try {
+ Field field = factoryInterface.getDeclaredField("eINSTANCE");
+ field.setAccessible(true);
+
+ Field modifiersField = Field.class.getDeclaredField("modifiers");
+ modifiersField.setAccessible(true);
+ modifiersField.setInt(field,
+ field.getModifiers() & ~Modifier.FINAL);
+
+ field.set(null, eFactory);
+ } catch (Exception ex) {
+ throw WrappedException.wrap(ex);
+ }
+ }
+
+ public static void configureUMLResourceSet(ResourceSet resourceSet) {
+ if (StandaloneSupport.isStandalone()) {
+ StandaloneSupport.init(resourceSet);
+
+ if (resourceSet != null) {
+ resourceSet.getResourceFactoryRegistry()
+ .getExtensionToFactoryMap()
+ .put("xmi", new XMIResourceFactoryImpl());
+ }
+ }
+ }
+
+ public static ResourceSet createUMLResourceSet() {
+ ResourceSet resourceSet = new ResourceSetImpl();
+ configureUMLResourceSet(resourceSet);
+ return resourceSet;
+ }
+
+ public static UMLResource createUMLResource(String path) {
+ ResourceSet resourceSet = createUMLResourceSet();
+ return (UMLResource) resourceSet
+ .createResource(URI.createFileURI(path));
+ }
+
+ public static UMLResource loadUMLResource(String path) {
+ ResourceSet resourceSet = createUMLResourceSet();
+ return (UMLResource) resourceSet.getResource(URI.createFileURI(path),
+ true);
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ private final class FolderResourceSet
+ extends ResourceSetImpl {
+
+ private File folder;
+
+ public FolderResourceSet() {
+ folder = createTempFolder("umltests-");
+ }
+
+ public Resource createResource(String name) {
+ return createResource(
+ URI.createFileURI(new File(folder, name).getAbsolutePath()));
+ }
+ }
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/CacheAdapterTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/CacheAdapterTest.java
new file mode 100755
index 00000000..aa3166ad
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/CacheAdapterTest.java
@@ -0,0 +1,192 @@
+package org.eclipse.uml2.uml.cdo.tests;
+
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.util.CDOUtil;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.util.EcoreUtil.CrossReferencer;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.cdo.internal.util.CDOCacheAdapter;
+
+/**
+ * @author Eike Stepper
+ */
+public class CacheAdapterTest
+ extends AbstractUMLTest {
+
+ /**
+ * @author Eike Stepper
+ */
+ public static final class EMF
+ extends CacheAdapterTest {
+
+ @Override
+ public boolean plainEMF() {
+ return true;
+ }
+ }
+
+ /**
+ * See {@link Property#isAttribute()}.
+ */
+ public void testInverseReferences()
+ throws Exception {
+ Package p = UML.createPackage();
+
+ Class class1 = UML.createClass();
+ class1.setName("C1");
+ p.getPackagedElements().add(class1);
+
+ Class class2 = UML.createClass();
+ class2.setName("C2");
+ p.getPackagedElements().add(class2);
+
+ Property property1 = UML.createProperty();
+ property1.setName("prop1");
+ property1.setType(class2);
+ class1.getOwnedAttributes().add(property1);
+
+ Property property2 = UML.createProperty();
+ property2.setName("prop2");
+ property2.setType(class1);
+ class2.getOwnedAttributes().add(property2);
+
+ Association association = UML.createAssociation();
+ association.getMemberEnds().add(property1);
+ association.getMemberEnds().add(property2);
+ p.getPackagedElements().add(association);
+
+ createResource(p);
+ saveResources();
+
+ assertEquals(true, property1.isAttribute());
+ assertEquals(true, property2.isAttribute());
+
+ CrossReferencer inverseCrossReferencer = CDOCacheAdapter
+ .getInverseCrossReferencer();
+ if (plainEMF()) {
+ assertEquals(CacheAdapter.getInstance(),
+ CacheAdapter.getCacheAdapter(association));
+ assertEquals(2, inverseCrossReferencer.size());
+
+ } else {
+ assertEquals(null, CacheAdapter.getCacheAdapter(association));
+ assertEquals(0, inverseCrossReferencer.size());
+ }
+ }
+
+ /**
+ * See {@link Type#getAssociations()}.
+ */
+ public void testNonNavigableInverseReferences()
+ throws Exception {
+ Package p = UML.createPackage();
+
+ Class class1 = UML.createClass();
+ class1.setName("C1");
+ p.getPackagedElements().add(class1);
+
+ Class class2 = UML.createClass();
+ class2.setName("C2");
+ p.getPackagedElements().add(class2);
+
+ Property property1 = UML.createProperty();
+ property1.setName("prop1");
+ property1.setType(class2);
+ class1.getOwnedAttributes().add(property1);
+
+ Property property2 = UML.createProperty();
+ property2.setName("prop2");
+ property2.setType(class1);
+ class2.getOwnedAttributes().add(property2);
+
+ Association association = UML.createAssociation();
+ association.getMemberEnds().add(property1);
+ association.getMemberEnds().add(property2);
+ p.getPackagedElements().add(association);
+
+ createResource(p);
+ saveResources();
+
+ assertEquals(1, class1.getAssociations().size());
+ assertEquals(association, class1.getAssociations().get(0));
+
+ assertEquals(1, class2.getAssociations().size());
+ assertEquals(association, class2.getAssociations().get(0));
+
+ CrossReferencer inverseCrossReferencer = CDOCacheAdapter
+ .getInverseCrossReferencer();
+ if (plainEMF()) {
+ assertEquals(CacheAdapter.getInstance(),
+ CacheAdapter.getCacheAdapter(association));
+ assertEquals(2, inverseCrossReferencer.size());
+
+ } else {
+ assertEquals(null, CacheAdapter.getCacheAdapter(association));
+ assertEquals(0, inverseCrossReferencer.size());
+ }
+ }
+
+ public void testCacheInvalidation()
+ throws Exception {
+ Package p = UML.createPackage();
+
+ Class class1 = UML.createClass();
+ class1.setName("C1");
+ p.getPackagedElements().add(class1);
+
+ Class class2 = UML.createClass();
+ class2.setName("C2");
+ p.getPackagedElements().add(class2);
+
+ Property property1 = UML.createProperty();
+ property1.setName("prop1");
+ property1.setType(class2);
+ class1.getOwnedAttributes().add(property1);
+
+ Property property2 = UML.createProperty();
+ property2.setName("prop2");
+ property2.setType(class1);
+ class2.getOwnedAttributes().add(property2);
+
+ Association association = UML.createAssociation();
+ association.getMemberEnds().add(property1);
+ association.getMemberEnds().add(property2);
+ p.getPackagedElements().add(association);
+
+ createResource(p);
+ saveResources();
+
+ EList<Association> list = class1.getAssociations();
+
+ // Second call must return the cached list.
+ assertSame(list, class1.getAssociations());
+
+ // Any modification must invalidate the cache.
+ p.setName("test");
+
+ EList<Association> list2 = class1.getAssociations();
+ assertNotSame(list, list2);
+ assertEquals(list, list2);
+
+ EList<Association> list3 = class1.getAssociations();
+ assertSame(list2, list3);
+
+ if (!plainEMF()) {
+ CDOSession sessions = openSession();
+ CDOTransaction transaction2 = sessions.openTransaction();
+ Package p2 = transaction2.getObject(p);
+ p2.setName("test2");
+ commitAndSync(transaction2, CDOUtil.getView(p));
+
+ EList<Association> list4 = class1.getAssociations();
+ assertNotSame(list3, list4);
+ assertEquals(list3, list4);
+ }
+ }
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/UMLSelfTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/UMLSelfTest.java
new file mode 100755
index 00000000..46f0a5ce
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/UMLSelfTest.java
@@ -0,0 +1,130 @@
+package org.eclipse.uml2.uml.cdo.tests;
+
+import java.io.CharArrayWriter;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.XMIResource;
+import org.eclipse.net4j.util.io.IOUtil;
+import org.eclipse.uml2.uml.resource.UMLResource;
+
+/**
+ * @author Eike Stepper
+ */
+public class UMLSelfTest
+ extends AbstractUMLTest {
+
+ private static final boolean PERSIST_RESULTS = false;
+
+ private static final String GIT_CLONE_UML2 = System
+ .getProperty("git.clone.uml2").replace('\\', '/');
+
+ private static final URI GIT_URI = URI.createFileURI(GIT_CLONE_UML2);
+
+ private static final String UML_UML = GIT_CLONE_UML2
+ + "/plugins/org.eclipse.uml2.uml/model/UML.uml";
+
+ private static final String UML_TEST_UML = "UMLTest.uml";
+
+ @Override
+ protected boolean dbScenario() {
+ return true;
+ }
+
+ public void testSelf()
+ throws Exception {
+
+ UMLResource umlResource = loadUMLResource(UML_UML);
+ EcoreUtil.resolveAll(umlResource.getResourceSet());
+ List<String> xmiDs = listIDs(umlResource);
+
+ URI uri = umlResource.getURI();
+ System.out.println(uri);
+ Resource cdoResource = createResource(umlResource.getContents());
+
+ saveResources();
+ System.out.println();
+
+ CDOSession session2 = openSession();
+ CDOTransaction transaction2 = session2.openTransaction();
+ ResourceSet cdoResourceSet = transaction2.getResourceSet();
+ configureUMLResourceSet(cdoResourceSet);
+
+ Resource resource2 = cdoResourceSet.getResource(cdoResource.getURI(),
+ true);
+
+ for (TreeIterator<EObject> it = resource2.getAllContents(); it
+ .hasNext();) {
+ EObject element = it.next();
+ System.out.println(element);
+ }
+
+ UMLResource umlResource2 = createUMLResource(UML_TEST_UML);
+ umlResource2.getContents().addAll(resource2.getContents());
+ applyIDs(umlResource2, xmiDs);
+
+ CharArrayWriter output = new CharArrayWriter();
+ umlResource2.save(output, null);
+
+ String umlTest = output.toString();
+ umlTest = removeHeader(umlTest);
+ umlTest = umlTest
+ .replace(GIT_URI + "/plugins/org.eclipse.uml2.uml/model/", "");
+ umlTest = umlTest.replace(GIT_URI + "/plugins/", "../../");
+
+ if (PERSIST_RESULTS) {
+ IOUtil.writeFile(new File(UML_TEST_UML), umlTest.getBytes());
+ }
+
+ String uml = IOUtil.readTextFile(new File(UML_UML));
+ uml = removeHeader(uml);
+
+ if (PERSIST_RESULTS) {
+ IOUtil.writeFile(new File("UMLExpected.uml"), uml.getBytes());
+ }
+
+ assertEquals(uml, umlTest);
+ }
+
+ private static String removeHeader(String xmi) {
+ return xmi.replaceFirst("<xmi:XMI [^>]*>", "");
+ }
+
+ private static List<String> listIDs(XMIResource resource) {
+ List<String> ids = new ArrayList<String>();
+
+ for (TreeIterator<EObject> it = resource.getAllContents(); it
+ .hasNext();) {
+ EObject element = it.next();
+ String id = resource.getID(element);
+ if (id != null) {
+ ids.add(id);
+ }
+ }
+
+ return ids;
+ }
+
+ private static void applyIDs(XMIResource resource, List<String> ids) {
+ Iterator<String> idIterator = ids.iterator();
+
+ for (TreeIterator<EObject> it = resource.getAllContents(); it
+ .hasNext();) {
+ EObject element = it.next();
+ String id = resource.getID(element);
+ if (id != null) {
+ resource.setID(element, idIterator.next());
+ }
+ }
+ }
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AbstractionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AbstractionTest.java
new file mode 100755
index 00000000..8ad56edf
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AbstractionTest.java
@@ -0,0 +1,2152 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class AbstractionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ abstraction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ abstraction.getOwnedComments().add(comment);
+ assertSuperset(abstraction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ EList<Element> elements = abstraction.getOwnedElements();
+ EList<Element> elements2 = abstraction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ EList<Dependency> dependencys = abstraction.getClientDependencies();
+ EList<Dependency> dependencys2 = abstraction.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ abstraction.setNameExpression(stringExpression);
+ assertSuperset(
+ abstraction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ abstraction.setOwningTemplateParameter(templateParameter);
+ assertSuperset(abstraction.getOwner() == templateParameter);
+ assertSuperset(abstraction.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ abstraction.setTemplateParameter(templateParameter);
+ }
+
+ public void testRelatedElement() {
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ EList<Element> elements = abstraction.getRelatedElements();
+ EList<Element> elements2 = abstraction.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ EList<Element> elements = abstraction.getSources();
+ EList<Element> elements2 = abstraction.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ EList<Element> elements = abstraction.getTargets();
+ EList<Element> elements2 = abstraction.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testClient() {
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ abstraction.getClients().add(activity);
+ assertSuperset(abstraction.getSources().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ abstraction.getClients().add(communicationPath);
+ assertSuperset(abstraction.getSources().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ abstraction.getClients().add(readSelfAction);
+ assertSuperset(abstraction.getSources().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ abstraction.getClients().add(activityPartition);
+ assertSuperset(abstraction.getSources().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ abstraction.getClients().add(inputPin);
+ assertSuperset(abstraction.getSources().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ abstraction.getClients().add(readLinkObjectEndQualifierAction);
+ assertSuperset(abstraction.getSources()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ abstraction.getClients().add(component);
+ assertSuperset(abstraction.getSources().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ abstraction.getClients().add(manifestation);
+ assertSuperset(abstraction.getSources().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ abstraction.getClients().add(durationObservation);
+ assertSuperset(abstraction.getSources().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ abstraction.getClients().add(callEvent);
+ assertSuperset(abstraction.getSources().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ abstraction.getClients().add(joinNode);
+ assertSuperset(abstraction.getSources().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ abstraction.getClients().add(interaction);
+ assertSuperset(abstraction.getSources().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ abstraction.getClients().add(createLinkObjectAction);
+ assertSuperset(
+ abstraction.getSources().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ abstraction.getClients().add(opaqueBehavior);
+ assertSuperset(abstraction.getSources().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ abstraction.getClients().add(literalUnlimitedNatural);
+ assertSuperset(
+ abstraction.getSources().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ abstraction.getClients().add(sendSignalAction);
+ assertSuperset(abstraction.getSources().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ abstraction.getClients().add(readLinkAction);
+ assertSuperset(abstraction.getSources().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ abstraction.getClients().add(operation);
+ assertSuperset(abstraction.getSources().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ abstraction.getClients().add(clearAssociationAction);
+ assertSuperset(
+ abstraction.getSources().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ abstraction.getClients().add(model);
+ assertSuperset(abstraction.getSources().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ abstraction.getClients().add(parameter);
+ assertSuperset(abstraction.getSources().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ abstraction.getClients().add(instanceValue);
+ assertSuperset(abstraction.getSources().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ abstraction.getClients().add(trigger);
+ assertSuperset(abstraction.getSources().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ abstraction.getClients().add(interactionConstraint);
+ assertSuperset(
+ abstraction.getSources().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ abstraction.getClients().add(associationClass);
+ assertSuperset(abstraction.getSources().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ abstraction.getClients().add(interactionUse);
+ assertSuperset(abstraction.getSources().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ abstraction.getClients().add(clearStructuralFeatureAction);
+ assertSuperset(
+ abstraction.getSources().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ abstraction.getClients().add(interval);
+ assertSuperset(abstraction.getSources().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ abstraction.getClients().add(structuredActivityNode);
+ assertSuperset(
+ abstraction.getSources().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ abstraction.getClients().add(literalString);
+ assertSuperset(abstraction.getSources().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ abstraction.getClients().add(valuePin);
+ assertSuperset(abstraction.getSources().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ abstraction.getClients().add(interfaceRealization);
+ assertSuperset(abstraction.getSources().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ abstraction.getClients().add(forkNode);
+ assertSuperset(abstraction.getSources().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ abstraction.getClients().add(decisionNode);
+ assertSuperset(abstraction.getSources().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ abstraction.getClients().add(actor);
+ assertSuperset(abstraction.getSources().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ abstraction.getClients().add(timeConstraint);
+ assertSuperset(abstraction.getSources().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ abstraction.getClients().add(reception);
+ assertSuperset(abstraction.getSources().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ abstraction.getClients().add(pseudostate);
+ assertSuperset(abstraction.getSources().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ abstraction.getClients().add(durationInterval);
+ assertSuperset(abstraction.getSources().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ abstraction.getClients().add(deployment);
+ assertSuperset(abstraction.getSources().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ abstraction.getClients().add(extensionEnd);
+ assertSuperset(abstraction.getSources().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ abstraction.getClients().add(considerIgnoreFragment);
+ assertSuperset(
+ abstraction.getSources().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ abstraction.getClients().add(conditionalNode);
+ assertSuperset(abstraction.getSources().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ abstraction.getClients().add(readExtentAction);
+ assertSuperset(abstraction.getSources().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ abstraction.getClients().add(actionInputPin);
+ assertSuperset(abstraction.getSources().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ abstraction.getClients().add(artifact);
+ assertSuperset(abstraction.getSources().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ abstraction.getClients().add(informationFlow);
+ assertSuperset(abstraction.getSources().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ abstraction.getClients().add(clearVariableAction);
+ assertSuperset(abstraction.getSources().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ abstraction.getClients().add(createLinkAction);
+ assertSuperset(abstraction.getSources().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ abstraction.getClients().add(signalEvent);
+ assertSuperset(abstraction.getSources().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ abstraction.getClients().add(connectionPointReference);
+ assertSuperset(
+ abstraction.getSources().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ abstraction.getClients().add(reclassifyObjectAction);
+ assertSuperset(
+ abstraction.getSources().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ abstraction.getClients().add(usage);
+ assertSuperset(abstraction.getSources().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ abstraction.getClients().add(dataStoreNode);
+ assertSuperset(abstraction.getSources().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ abstraction.getClients().add(executionEnvironment);
+ assertSuperset(abstraction.getSources().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ abstraction.getClients().add(sendObjectAction);
+ assertSuperset(abstraction.getSources().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ abstraction.getClients().add(controlFlow);
+ assertSuperset(abstraction.getSources().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ abstraction.getClients().add(deploymentSpecification);
+ assertSuperset(
+ abstraction.getSources().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ abstraction.getClients().add(partDecomposition);
+ assertSuperset(abstraction.getSources().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ abstraction.getClients().add(destroyLinkAction);
+ assertSuperset(abstraction.getSources().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ abstraction.getClients().add(realization);
+ assertSuperset(abstraction.getSources().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ abstraction.getClients().add(expansionNode);
+ assertSuperset(abstraction.getSources().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ abstraction.getClients().add(testIdentityAction);
+ assertSuperset(abstraction.getSources().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ abstraction.getClients().add(association);
+ assertSuperset(abstraction.getSources().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ abstraction.getClients().add(timeInterval);
+ assertSuperset(abstraction.getSources().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ abstraction.getClients().add(dataType);
+ assertSuperset(abstraction.getSources().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ abstraction.getClients().add(outputPin);
+ assertSuperset(abstraction.getSources().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ abstraction.getClients().add(substitution);
+ assertSuperset(abstraction.getSources().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ abstraction.getClients().add(include);
+ assertSuperset(abstraction.getSources().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ abstraction.getClients().add(extend);
+ assertSuperset(abstraction.getSources().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ abstraction.getClients().add(broadcastSignalAction);
+ assertSuperset(
+ abstraction.getSources().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ abstraction.getClients().add(literalBoolean);
+ assertSuperset(abstraction.getSources().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ abstraction.getClients().add(finalState);
+ assertSuperset(abstraction.getSources().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ abstraction.getClients().add(raiseExceptionAction);
+ assertSuperset(abstraction.getSources().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ abstraction.getClients().add(durationConstraint);
+ assertSuperset(abstraction.getSources().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ abstraction.getClients().add(activityFinalNode);
+ assertSuperset(abstraction.getSources().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ abstraction.getClients().add(literalNull);
+ assertSuperset(abstraction.getSources().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ abstraction.getClients().add(callOperationAction);
+ assertSuperset(abstraction.getSources().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ abstraction.getClients().add(protocolStateMachine);
+ assertSuperset(abstraction.getSources().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ abstraction.getClients().add(loopNode);
+ assertSuperset(abstraction.getSources().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ abstraction.getClients().add(parameterSet);
+ assertSuperset(abstraction.getSources().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ abstraction.getClients().add(valueSpecificationAction);
+ assertSuperset(
+ abstraction.getSources().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ abstraction.getClients().add(node);
+ assertSuperset(abstraction.getSources().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ abstraction.getClients().add(sequenceNode);
+ assertSuperset(abstraction.getSources().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ abstraction.getClients().add(constraint);
+ assertSuperset(abstraction.getSources().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ abstraction.getClients().add(destroyObjectAction);
+ assertSuperset(abstraction.getSources().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ abstraction.getClients().add(stateMachine);
+ assertSuperset(abstraction.getSources().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ abstraction.getClients().add(enumerationLiteral);
+ assertSuperset(abstraction.getSources().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ abstraction.getClients().add(actionExecutionSpecification);
+ assertSuperset(
+ abstraction.getSources().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ abstraction.getClients().add(functionBehavior);
+ assertSuperset(abstraction.getSources().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ abstraction.getClients().add(interface_);
+ assertSuperset(abstraction.getSources().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ abstraction.getClients().add(instanceSpecification);
+ assertSuperset(
+ abstraction.getSources().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ abstraction.getClients().add(startClassifierBehaviorAction);
+ assertSuperset(
+ abstraction.getSources().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ abstraction.getClients().add(port);
+ assertSuperset(abstraction.getSources().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ abstraction.getClients().add(removeVariableValueAction);
+ assertSuperset(
+ abstraction.getSources().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ abstraction.getClients().add(informationItem);
+ assertSuperset(abstraction.getSources().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ abstraction.getClients().add(literalReal);
+ assertSuperset(abstraction.getSources().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ abstraction.getClients().add(redefinableTemplateSignature);
+ assertSuperset(
+ abstraction.getSources().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ abstraction.getClients().add(executionOccurrenceSpecification);
+ assertSuperset(abstraction.getSources()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ abstraction.getClients().add(duration);
+ assertSuperset(abstraction.getSources().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ abstraction.getClients().add(package_);
+ assertSuperset(abstraction.getSources().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ abstraction.getClients().add(variable);
+ assertSuperset(abstraction.getSources().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ abstraction.getClients().add(destructionOccurrenceSpecification);
+ assertSuperset(abstraction.getSources()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ abstraction.getClients().add(lifeline);
+ assertSuperset(abstraction.getSources().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ abstraction.getClients().add(timeObservation);
+ assertSuperset(abstraction.getSources().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ abstraction.getClients().add(replyAction);
+ assertSuperset(abstraction.getSources().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ abstraction.getClients().add(gate);
+ assertSuperset(abstraction.getSources().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ abstraction.getClients().add(property);
+ assertSuperset(abstraction.getSources().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ abstraction.getClients().add(timeExpression);
+ assertSuperset(abstraction.getSources().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ abstraction.getClients().add(device);
+ assertSuperset(abstraction.getSources().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ abstraction.getClients().add(flowFinalNode);
+ assertSuperset(abstraction.getSources().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ abstraction.getClients().add(expansionRegion);
+ assertSuperset(abstraction.getSources().contains(expansionRegion));
+
+ Abstraction abstraction2 = UML.createAbstraction();
+ assertValid(abstraction2);
+ abstraction.getClients().add(abstraction2);
+ assertSuperset(abstraction.getSources().contains(abstraction2));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ abstraction.getClients().add(startObjectBehaviorAction);
+ assertSuperset(
+ abstraction.getSources().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ abstraction.getClients().add(enumeration);
+ assertSuperset(abstraction.getSources().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ abstraction.getClients().add(primitiveType);
+ assertSuperset(abstraction.getSources().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ abstraction.getClients().add(profile);
+ assertSuperset(abstraction.getSources().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ abstraction.getClients().add(message);
+ assertSuperset(abstraction.getSources().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ abstraction.getClients().add(generalizationSet);
+ assertSuperset(abstraction.getSources().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ abstraction.getClients().add(continuation);
+ assertSuperset(abstraction.getSources().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ abstraction.getClients().add(signal);
+ assertSuperset(abstraction.getSources().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ abstraction.getClients().add(callBehaviorAction);
+ assertSuperset(abstraction.getSources().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ abstraction.getClients().add(objectFlow);
+ assertSuperset(abstraction.getSources().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ abstraction.getClients().add(stateInvariant);
+ assertSuperset(abstraction.getSources().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ abstraction.getClients().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ abstraction.getSources().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ abstraction.getClients().add(activityParameterNode);
+ assertSuperset(
+ abstraction.getSources().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ abstraction.getClients().add(addStructuralFeatureValueAction);
+ assertSuperset(
+ abstraction.getSources().contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ abstraction.getClients().add(readVariableAction);
+ assertSuperset(abstraction.getSources().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ abstraction.getClients().add(interruptibleActivityRegion);
+ assertSuperset(
+ abstraction.getSources().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ abstraction.getClients().add(removeStructuralFeatureValueAction);
+ assertSuperset(abstraction.getSources()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ abstraction.getClients().add(opaqueExpression);
+ assertSuperset(abstraction.getSources().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ abstraction.getClients().add(timeEvent);
+ assertSuperset(abstraction.getSources().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ abstraction.getClients().add(generalOrdering);
+ assertSuperset(abstraction.getSources().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ abstraction.getClients().add(region);
+ assertSuperset(abstraction.getSources().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ abstraction.getClients().add(transition);
+ assertSuperset(abstraction.getSources().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ abstraction.getClients().add(anyReceiveEvent);
+ assertSuperset(abstraction.getSources().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ abstraction.getClients().add(messageOccurrenceSpecification);
+ assertSuperset(
+ abstraction.getSources().contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ abstraction.getClients().add(literalInteger);
+ assertSuperset(abstraction.getSources().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ abstraction.getClients().add(reduceAction);
+ assertSuperset(abstraction.getSources().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ abstraction.getClients().add(acceptEventAction);
+ assertSuperset(abstraction.getSources().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ abstraction.getClients().add(initialNode);
+ assertSuperset(abstraction.getSources().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ abstraction.getClients().add(centralBufferNode);
+ assertSuperset(abstraction.getSources().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ abstraction.getClients().add(combinedFragment);
+ assertSuperset(abstraction.getSources().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ abstraction.getClients().add(intervalConstraint);
+ assertSuperset(abstraction.getSources().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ abstraction.getClients().add(extension);
+ assertSuperset(abstraction.getSources().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ abstraction.getClients().add(occurrenceSpecification);
+ assertSuperset(
+ abstraction.getSources().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ abstraction.getClients().add(extensionPoint);
+ assertSuperset(abstraction.getSources().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ abstraction.getClients().add(dependency);
+ assertSuperset(abstraction.getSources().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ abstraction.getClients().add(connector);
+ assertSuperset(abstraction.getSources().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ abstraction.getClients().add(expression);
+ assertSuperset(abstraction.getSources().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ abstraction.getClients().add(componentRealization);
+ assertSuperset(abstraction.getSources().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ abstraction.getClients().add(class_);
+ assertSuperset(abstraction.getSources().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ abstraction.getClients().add(state);
+ assertSuperset(abstraction.getSources().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ abstraction.getClients().add(protocolTransition);
+ assertSuperset(abstraction.getSources().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ abstraction.getClients().add(behaviorExecutionSpecification);
+ assertSuperset(
+ abstraction.getSources().contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ abstraction.getClients().add(collaborationUse);
+ assertSuperset(abstraction.getSources().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ abstraction.getClients().add(interactionOperand);
+ assertSuperset(abstraction.getSources().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ abstraction.getClients().add(acceptCallAction);
+ assertSuperset(abstraction.getSources().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ abstraction.getClients().add(addVariableValueAction);
+ assertSuperset(
+ abstraction.getSources().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ abstraction.getClients().add(readLinkObjectEndAction);
+ assertSuperset(
+ abstraction.getSources().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ abstraction.getClients().add(useCase);
+ assertSuperset(abstraction.getSources().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ abstraction.getClients().add(unmarshallAction);
+ assertSuperset(abstraction.getSources().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ abstraction.getClients().add(opaqueAction);
+ assertSuperset(abstraction.getSources().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ abstraction.getClients().add(stringExpression);
+ assertSuperset(abstraction.getSources().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ abstraction.getClients().add(mergeNode);
+ assertSuperset(abstraction.getSources().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ abstraction.getClients().add(changeEvent);
+ assertSuperset(abstraction.getSources().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ abstraction.getClients().add(createObjectAction);
+ assertSuperset(abstraction.getSources().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ abstraction.getClients().add(stereotype);
+ assertSuperset(abstraction.getSources().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ abstraction.getClients().add(readStructuralFeatureAction);
+ assertSuperset(
+ abstraction.getSources().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ abstraction.getClients().add(collaboration);
+ assertSuperset(abstraction.getSources().contains(collaboration));
+ }
+
+ public void testSupplier() {
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ abstraction.getSuppliers().add(activity);
+ assertSuperset(abstraction.getTargets().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ abstraction.getSuppliers().add(communicationPath);
+ assertSuperset(abstraction.getTargets().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ abstraction.getSuppliers().add(readSelfAction);
+ assertSuperset(abstraction.getTargets().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ abstraction.getSuppliers().add(activityPartition);
+ assertSuperset(abstraction.getTargets().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ abstraction.getSuppliers().add(inputPin);
+ assertSuperset(abstraction.getTargets().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ abstraction.getSuppliers().add(readLinkObjectEndQualifierAction);
+ assertSuperset(abstraction.getTargets()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ abstraction.getSuppliers().add(component);
+ assertSuperset(abstraction.getTargets().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ abstraction.getSuppliers().add(manifestation);
+ assertSuperset(abstraction.getTargets().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ abstraction.getSuppliers().add(durationObservation);
+ assertSuperset(abstraction.getTargets().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ abstraction.getSuppliers().add(callEvent);
+ assertSuperset(abstraction.getTargets().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ abstraction.getSuppliers().add(joinNode);
+ assertSuperset(abstraction.getTargets().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ abstraction.getSuppliers().add(interaction);
+ assertSuperset(abstraction.getTargets().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ abstraction.getSuppliers().add(createLinkObjectAction);
+ assertSuperset(
+ abstraction.getTargets().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ abstraction.getSuppliers().add(opaqueBehavior);
+ assertSuperset(abstraction.getTargets().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ abstraction.getSuppliers().add(literalUnlimitedNatural);
+ assertSuperset(
+ abstraction.getTargets().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ abstraction.getSuppliers().add(sendSignalAction);
+ assertSuperset(abstraction.getTargets().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ abstraction.getSuppliers().add(readLinkAction);
+ assertSuperset(abstraction.getTargets().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ abstraction.getSuppliers().add(operation);
+ assertSuperset(abstraction.getTargets().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ abstraction.getSuppliers().add(clearAssociationAction);
+ assertSuperset(
+ abstraction.getTargets().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ abstraction.getSuppliers().add(model);
+ assertSuperset(abstraction.getTargets().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ abstraction.getSuppliers().add(parameter);
+ assertSuperset(abstraction.getTargets().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ abstraction.getSuppliers().add(instanceValue);
+ assertSuperset(abstraction.getTargets().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ abstraction.getSuppliers().add(trigger);
+ assertSuperset(abstraction.getTargets().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ abstraction.getSuppliers().add(interactionConstraint);
+ assertSuperset(
+ abstraction.getTargets().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ abstraction.getSuppliers().add(associationClass);
+ assertSuperset(abstraction.getTargets().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ abstraction.getSuppliers().add(interactionUse);
+ assertSuperset(abstraction.getTargets().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ abstraction.getSuppliers().add(clearStructuralFeatureAction);
+ assertSuperset(
+ abstraction.getTargets().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ abstraction.getSuppliers().add(interval);
+ assertSuperset(abstraction.getTargets().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ abstraction.getSuppliers().add(structuredActivityNode);
+ assertSuperset(
+ abstraction.getTargets().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ abstraction.getSuppliers().add(literalString);
+ assertSuperset(abstraction.getTargets().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ abstraction.getSuppliers().add(valuePin);
+ assertSuperset(abstraction.getTargets().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ abstraction.getSuppliers().add(interfaceRealization);
+ assertSuperset(abstraction.getTargets().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ abstraction.getSuppliers().add(forkNode);
+ assertSuperset(abstraction.getTargets().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ abstraction.getSuppliers().add(decisionNode);
+ assertSuperset(abstraction.getTargets().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ abstraction.getSuppliers().add(actor);
+ assertSuperset(abstraction.getTargets().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ abstraction.getSuppliers().add(timeConstraint);
+ assertSuperset(abstraction.getTargets().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ abstraction.getSuppliers().add(reception);
+ assertSuperset(abstraction.getTargets().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ abstraction.getSuppliers().add(pseudostate);
+ assertSuperset(abstraction.getTargets().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ abstraction.getSuppliers().add(durationInterval);
+ assertSuperset(abstraction.getTargets().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ abstraction.getSuppliers().add(deployment);
+ assertSuperset(abstraction.getTargets().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ abstraction.getSuppliers().add(extensionEnd);
+ assertSuperset(abstraction.getTargets().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ abstraction.getSuppliers().add(considerIgnoreFragment);
+ assertSuperset(
+ abstraction.getTargets().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ abstraction.getSuppliers().add(conditionalNode);
+ assertSuperset(abstraction.getTargets().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ abstraction.getSuppliers().add(readExtentAction);
+ assertSuperset(abstraction.getTargets().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ abstraction.getSuppliers().add(actionInputPin);
+ assertSuperset(abstraction.getTargets().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ abstraction.getSuppliers().add(artifact);
+ assertSuperset(abstraction.getTargets().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ abstraction.getSuppliers().add(informationFlow);
+ assertSuperset(abstraction.getTargets().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ abstraction.getSuppliers().add(clearVariableAction);
+ assertSuperset(abstraction.getTargets().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ abstraction.getSuppliers().add(createLinkAction);
+ assertSuperset(abstraction.getTargets().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ abstraction.getSuppliers().add(signalEvent);
+ assertSuperset(abstraction.getTargets().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ abstraction.getSuppliers().add(connectionPointReference);
+ assertSuperset(
+ abstraction.getTargets().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ abstraction.getSuppliers().add(reclassifyObjectAction);
+ assertSuperset(
+ abstraction.getTargets().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ abstraction.getSuppliers().add(usage);
+ assertSuperset(abstraction.getTargets().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ abstraction.getSuppliers().add(dataStoreNode);
+ assertSuperset(abstraction.getTargets().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ abstraction.getSuppliers().add(executionEnvironment);
+ assertSuperset(abstraction.getTargets().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ abstraction.getSuppliers().add(sendObjectAction);
+ assertSuperset(abstraction.getTargets().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ abstraction.getSuppliers().add(controlFlow);
+ assertSuperset(abstraction.getTargets().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ abstraction.getSuppliers().add(deploymentSpecification);
+ assertSuperset(
+ abstraction.getTargets().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ abstraction.getSuppliers().add(partDecomposition);
+ assertSuperset(abstraction.getTargets().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ abstraction.getSuppliers().add(destroyLinkAction);
+ assertSuperset(abstraction.getTargets().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ abstraction.getSuppliers().add(realization);
+ assertSuperset(abstraction.getTargets().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ abstraction.getSuppliers().add(expansionNode);
+ assertSuperset(abstraction.getTargets().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ abstraction.getSuppliers().add(testIdentityAction);
+ assertSuperset(abstraction.getTargets().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ abstraction.getSuppliers().add(association);
+ assertSuperset(abstraction.getTargets().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ abstraction.getSuppliers().add(timeInterval);
+ assertSuperset(abstraction.getTargets().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ abstraction.getSuppliers().add(dataType);
+ assertSuperset(abstraction.getTargets().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ abstraction.getSuppliers().add(outputPin);
+ assertSuperset(abstraction.getTargets().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ abstraction.getSuppliers().add(substitution);
+ assertSuperset(abstraction.getTargets().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ abstraction.getSuppliers().add(include);
+ assertSuperset(abstraction.getTargets().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ abstraction.getSuppliers().add(extend);
+ assertSuperset(abstraction.getTargets().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ abstraction.getSuppliers().add(broadcastSignalAction);
+ assertSuperset(
+ abstraction.getTargets().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ abstraction.getSuppliers().add(literalBoolean);
+ assertSuperset(abstraction.getTargets().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ abstraction.getSuppliers().add(finalState);
+ assertSuperset(abstraction.getTargets().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ abstraction.getSuppliers().add(raiseExceptionAction);
+ assertSuperset(abstraction.getTargets().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ abstraction.getSuppliers().add(durationConstraint);
+ assertSuperset(abstraction.getTargets().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ abstraction.getSuppliers().add(activityFinalNode);
+ assertSuperset(abstraction.getTargets().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ abstraction.getSuppliers().add(literalNull);
+ assertSuperset(abstraction.getTargets().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ abstraction.getSuppliers().add(callOperationAction);
+ assertSuperset(abstraction.getTargets().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ abstraction.getSuppliers().add(protocolStateMachine);
+ assertSuperset(abstraction.getTargets().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ abstraction.getSuppliers().add(loopNode);
+ assertSuperset(abstraction.getTargets().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ abstraction.getSuppliers().add(parameterSet);
+ assertSuperset(abstraction.getTargets().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ abstraction.getSuppliers().add(valueSpecificationAction);
+ assertSuperset(
+ abstraction.getTargets().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ abstraction.getSuppliers().add(node);
+ assertSuperset(abstraction.getTargets().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ abstraction.getSuppliers().add(sequenceNode);
+ assertSuperset(abstraction.getTargets().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ abstraction.getSuppliers().add(constraint);
+ assertSuperset(abstraction.getTargets().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ abstraction.getSuppliers().add(destroyObjectAction);
+ assertSuperset(abstraction.getTargets().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ abstraction.getSuppliers().add(stateMachine);
+ assertSuperset(abstraction.getTargets().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ abstraction.getSuppliers().add(enumerationLiteral);
+ assertSuperset(abstraction.getTargets().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ abstraction.getSuppliers().add(actionExecutionSpecification);
+ assertSuperset(
+ abstraction.getTargets().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ abstraction.getSuppliers().add(functionBehavior);
+ assertSuperset(abstraction.getTargets().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ abstraction.getSuppliers().add(interface_);
+ assertSuperset(abstraction.getTargets().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ abstraction.getSuppliers().add(instanceSpecification);
+ assertSuperset(
+ abstraction.getTargets().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ abstraction.getSuppliers().add(startClassifierBehaviorAction);
+ assertSuperset(
+ abstraction.getTargets().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ abstraction.getSuppliers().add(port);
+ assertSuperset(abstraction.getTargets().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ abstraction.getSuppliers().add(removeVariableValueAction);
+ assertSuperset(
+ abstraction.getTargets().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ abstraction.getSuppliers().add(informationItem);
+ assertSuperset(abstraction.getTargets().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ abstraction.getSuppliers().add(literalReal);
+ assertSuperset(abstraction.getTargets().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ abstraction.getSuppliers().add(redefinableTemplateSignature);
+ assertSuperset(
+ abstraction.getTargets().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ abstraction.getSuppliers().add(executionOccurrenceSpecification);
+ assertSuperset(abstraction.getTargets()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ abstraction.getSuppliers().add(duration);
+ assertSuperset(abstraction.getTargets().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ abstraction.getSuppliers().add(package_);
+ assertSuperset(abstraction.getTargets().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ abstraction.getSuppliers().add(variable);
+ assertSuperset(abstraction.getTargets().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ abstraction.getSuppliers().add(destructionOccurrenceSpecification);
+ assertSuperset(abstraction.getTargets()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ abstraction.getSuppliers().add(lifeline);
+ assertSuperset(abstraction.getTargets().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ abstraction.getSuppliers().add(timeObservation);
+ assertSuperset(abstraction.getTargets().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ abstraction.getSuppliers().add(replyAction);
+ assertSuperset(abstraction.getTargets().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ abstraction.getSuppliers().add(gate);
+ assertSuperset(abstraction.getTargets().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ abstraction.getSuppliers().add(property);
+ assertSuperset(abstraction.getTargets().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ abstraction.getSuppliers().add(timeExpression);
+ assertSuperset(abstraction.getTargets().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ abstraction.getSuppliers().add(device);
+ assertSuperset(abstraction.getTargets().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ abstraction.getSuppliers().add(flowFinalNode);
+ assertSuperset(abstraction.getTargets().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ abstraction.getSuppliers().add(expansionRegion);
+ assertSuperset(abstraction.getTargets().contains(expansionRegion));
+
+ Abstraction abstraction2 = UML.createAbstraction();
+ assertValid(abstraction2);
+ abstraction.getSuppliers().add(abstraction2);
+ assertSuperset(abstraction.getTargets().contains(abstraction2));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ abstraction.getSuppliers().add(startObjectBehaviorAction);
+ assertSuperset(
+ abstraction.getTargets().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ abstraction.getSuppliers().add(enumeration);
+ assertSuperset(abstraction.getTargets().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ abstraction.getSuppliers().add(primitiveType);
+ assertSuperset(abstraction.getTargets().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ abstraction.getSuppliers().add(profile);
+ assertSuperset(abstraction.getTargets().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ abstraction.getSuppliers().add(message);
+ assertSuperset(abstraction.getTargets().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ abstraction.getSuppliers().add(generalizationSet);
+ assertSuperset(abstraction.getTargets().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ abstraction.getSuppliers().add(continuation);
+ assertSuperset(abstraction.getTargets().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ abstraction.getSuppliers().add(signal);
+ assertSuperset(abstraction.getTargets().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ abstraction.getSuppliers().add(callBehaviorAction);
+ assertSuperset(abstraction.getTargets().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ abstraction.getSuppliers().add(objectFlow);
+ assertSuperset(abstraction.getTargets().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ abstraction.getSuppliers().add(stateInvariant);
+ assertSuperset(abstraction.getTargets().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ abstraction.getSuppliers().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ abstraction.getTargets().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ abstraction.getSuppliers().add(activityParameterNode);
+ assertSuperset(
+ abstraction.getTargets().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ abstraction.getSuppliers().add(addStructuralFeatureValueAction);
+ assertSuperset(
+ abstraction.getTargets().contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ abstraction.getSuppliers().add(readVariableAction);
+ assertSuperset(abstraction.getTargets().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ abstraction.getSuppliers().add(interruptibleActivityRegion);
+ assertSuperset(
+ abstraction.getTargets().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ abstraction.getSuppliers().add(removeStructuralFeatureValueAction);
+ assertSuperset(abstraction.getTargets()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ abstraction.getSuppliers().add(opaqueExpression);
+ assertSuperset(abstraction.getTargets().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ abstraction.getSuppliers().add(timeEvent);
+ assertSuperset(abstraction.getTargets().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ abstraction.getSuppliers().add(generalOrdering);
+ assertSuperset(abstraction.getTargets().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ abstraction.getSuppliers().add(region);
+ assertSuperset(abstraction.getTargets().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ abstraction.getSuppliers().add(transition);
+ assertSuperset(abstraction.getTargets().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ abstraction.getSuppliers().add(anyReceiveEvent);
+ assertSuperset(abstraction.getTargets().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ abstraction.getSuppliers().add(messageOccurrenceSpecification);
+ assertSuperset(
+ abstraction.getTargets().contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ abstraction.getSuppliers().add(literalInteger);
+ assertSuperset(abstraction.getTargets().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ abstraction.getSuppliers().add(reduceAction);
+ assertSuperset(abstraction.getTargets().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ abstraction.getSuppliers().add(acceptEventAction);
+ assertSuperset(abstraction.getTargets().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ abstraction.getSuppliers().add(initialNode);
+ assertSuperset(abstraction.getTargets().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ abstraction.getSuppliers().add(centralBufferNode);
+ assertSuperset(abstraction.getTargets().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ abstraction.getSuppliers().add(combinedFragment);
+ assertSuperset(abstraction.getTargets().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ abstraction.getSuppliers().add(intervalConstraint);
+ assertSuperset(abstraction.getTargets().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ abstraction.getSuppliers().add(extension);
+ assertSuperset(abstraction.getTargets().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ abstraction.getSuppliers().add(occurrenceSpecification);
+ assertSuperset(
+ abstraction.getTargets().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ abstraction.getSuppliers().add(extensionPoint);
+ assertSuperset(abstraction.getTargets().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ abstraction.getSuppliers().add(dependency);
+ assertSuperset(abstraction.getTargets().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ abstraction.getSuppliers().add(connector);
+ assertSuperset(abstraction.getTargets().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ abstraction.getSuppliers().add(expression);
+ assertSuperset(abstraction.getTargets().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ abstraction.getSuppliers().add(componentRealization);
+ assertSuperset(abstraction.getTargets().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ abstraction.getSuppliers().add(class_);
+ assertSuperset(abstraction.getTargets().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ abstraction.getSuppliers().add(state);
+ assertSuperset(abstraction.getTargets().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ abstraction.getSuppliers().add(protocolTransition);
+ assertSuperset(abstraction.getTargets().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ abstraction.getSuppliers().add(behaviorExecutionSpecification);
+ assertSuperset(
+ abstraction.getTargets().contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ abstraction.getSuppliers().add(collaborationUse);
+ assertSuperset(abstraction.getTargets().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ abstraction.getSuppliers().add(interactionOperand);
+ assertSuperset(abstraction.getTargets().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ abstraction.getSuppliers().add(acceptCallAction);
+ assertSuperset(abstraction.getTargets().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ abstraction.getSuppliers().add(addVariableValueAction);
+ assertSuperset(
+ abstraction.getTargets().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ abstraction.getSuppliers().add(readLinkObjectEndAction);
+ assertSuperset(
+ abstraction.getTargets().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ abstraction.getSuppliers().add(useCase);
+ assertSuperset(abstraction.getTargets().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ abstraction.getSuppliers().add(unmarshallAction);
+ assertSuperset(abstraction.getTargets().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ abstraction.getSuppliers().add(opaqueAction);
+ assertSuperset(abstraction.getTargets().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ abstraction.getSuppliers().add(stringExpression);
+ assertSuperset(abstraction.getTargets().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ abstraction.getSuppliers().add(mergeNode);
+ assertSuperset(abstraction.getTargets().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ abstraction.getSuppliers().add(changeEvent);
+ assertSuperset(abstraction.getTargets().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ abstraction.getSuppliers().add(createObjectAction);
+ assertSuperset(abstraction.getTargets().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ abstraction.getSuppliers().add(stereotype);
+ assertSuperset(abstraction.getTargets().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ abstraction.getSuppliers().add(readStructuralFeatureAction);
+ assertSuperset(
+ abstraction.getTargets().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ abstraction.getSuppliers().add(collaboration);
+ assertSuperset(abstraction.getTargets().contains(collaboration));
+ }
+
+ public void testMapping() {
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ abstraction.setMapping(opaqueExpression);
+ assertSuperset(
+ abstraction.getOwnedElements().contains(opaqueExpression));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AcceptCallActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AcceptCallActionTest.java
new file mode 100755
index 00000000..a3d8c8f5
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AcceptCallActionTest.java
@@ -0,0 +1,771 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class AcceptCallActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ acceptCallAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ acceptCallAction.getOwnedComments().add(comment);
+ assertSuperset(acceptCallAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ EList<Element> elements = acceptCallAction.getOwnedElements();
+ EList<Element> elements2 = acceptCallAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ EList<Dependency> dependencys = acceptCallAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = acceptCallAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ acceptCallAction.setNameExpression(stringExpression);
+ assertSuperset(
+ acceptCallAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ EList<RedefinableElement> redefinableElements = acceptCallAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = acceptCallAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ EList<Classifier> classifiers = acceptCallAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = acceptCallAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ EList<ActivityGroup> activityGroups = acceptCallAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = acceptCallAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ acceptCallAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(acceptCallAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ acceptCallAction.setInStructuredNode(loopNode);
+ assertSuperset(acceptCallAction.getInGroups().contains(loopNode));
+ assertSuperset(acceptCallAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ acceptCallAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ acceptCallAction.getInGroups().contains(expansionRegion));
+ assertSuperset(acceptCallAction.getOwner() == expansionRegion);
+
+ AcceptCallAction acceptCallAction2 = UML.createAcceptCallAction();
+ assertValid(acceptCallAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ acceptCallAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(acceptCallAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(acceptCallAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ acceptCallAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ acceptCallAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(acceptCallAction2.getOwner() == structuredActivityNode);
+
+ AcceptCallAction acceptCallAction3 = UML.createAcceptCallAction();
+ assertValid(acceptCallAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ acceptCallAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ acceptCallAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(acceptCallAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ acceptCallAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ acceptCallAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ acceptCallAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ acceptCallAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ acceptCallAction.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ acceptCallAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ acceptCallAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ acceptCallAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ acceptCallAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ acceptCallAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ acceptCallAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ acceptCallAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ acceptCallAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ acceptCallAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ acceptCallAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ acceptCallAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ acceptCallAction.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ acceptCallAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ acceptCallAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ acceptCallAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ acceptCallAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ acceptCallAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ acceptCallAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ acceptCallAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ acceptCallAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ acceptCallAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ acceptCallAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ acceptCallAction.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ acceptCallAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ acceptCallAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ acceptCallAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ acceptCallAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ acceptCallAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ acceptCallAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ acceptCallAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ acceptCallAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ acceptCallAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ acceptCallAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ acceptCallAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ acceptCallAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ acceptCallAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ acceptCallAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ acceptCallAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ acceptCallAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ acceptCallAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ acceptCallAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ acceptCallAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ acceptCallAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ acceptCallAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ acceptCallAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ acceptCallAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction2 = UML.createAcceptCallAction();
+ assertValid(acceptCallAction2);
+ acceptCallAction.getRedefinedNodes().add(acceptCallAction2);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(acceptCallAction2));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ acceptCallAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ acceptCallAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ acceptCallAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ acceptCallAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ acceptCallAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ acceptCallAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ acceptCallAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ acceptCallAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ acceptCallAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ acceptCallAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(acceptCallAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ acceptCallAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ acceptCallAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ acceptCallAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ acceptCallAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ EList<InputPin> inputPins = acceptCallAction.getInputs();
+ EList<InputPin> inputPins2 = acceptCallAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ acceptCallAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ acceptCallAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ acceptCallAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ acceptCallAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ acceptCallAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(acceptCallAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ acceptCallAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ acceptCallAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ acceptCallAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ acceptCallAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ acceptCallAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ acceptCallAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ acceptCallAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ acceptCallAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ acceptCallAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(acceptCallAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ acceptCallAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ acceptCallAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ acceptCallAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ acceptCallAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ EList<OutputPin> outputPins = acceptCallAction.getOutputs();
+ EList<OutputPin> outputPins2 = acceptCallAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testResult() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ acceptCallAction.getResults().add(outputPin);
+ assertSuperset(acceptCallAction.getOutputs().contains(outputPin));
+ }
+
+ public void testTrigger() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ acceptCallAction.getTriggers().add(trigger);
+ assertSuperset(acceptCallAction.getOwnedElements().contains(trigger));
+ }
+
+ public void testReturnInformation() {
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ acceptCallAction.setReturnInformation(outputPin);
+ assertSuperset(acceptCallAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AcceptEventActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AcceptEventActionTest.java
new file mode 100755
index 00000000..f75ba982
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AcceptEventActionTest.java
@@ -0,0 +1,762 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class AcceptEventActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ acceptEventAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ acceptEventAction.getOwnedComments().add(comment);
+ assertSuperset(acceptEventAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ EList<Element> elements = acceptEventAction.getOwnedElements();
+ EList<Element> elements2 = acceptEventAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ EList<Dependency> dependencys = acceptEventAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = acceptEventAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ acceptEventAction.setNameExpression(stringExpression);
+ assertSuperset(
+ acceptEventAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ EList<RedefinableElement> redefinableElements = acceptEventAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = acceptEventAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ EList<Classifier> classifiers = acceptEventAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = acceptEventAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ EList<ActivityGroup> activityGroups = acceptEventAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = acceptEventAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ acceptEventAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(acceptEventAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ acceptEventAction.setInStructuredNode(loopNode);
+ assertSuperset(acceptEventAction.getInGroups().contains(loopNode));
+ assertSuperset(acceptEventAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ acceptEventAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ acceptEventAction.getInGroups().contains(expansionRegion));
+ assertSuperset(acceptEventAction.getOwner() == expansionRegion);
+
+ AcceptEventAction acceptEventAction2 = UML.createAcceptEventAction();
+ assertValid(acceptEventAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ acceptEventAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(acceptEventAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(acceptEventAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ acceptEventAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ acceptEventAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(acceptEventAction2.getOwner() == structuredActivityNode);
+
+ AcceptEventAction acceptEventAction3 = UML.createAcceptEventAction();
+ assertValid(acceptEventAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ acceptEventAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ acceptEventAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(acceptEventAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ acceptEventAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ acceptEventAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ acceptEventAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ acceptEventAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ acceptEventAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ acceptEventAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ acceptEventAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ acceptEventAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ acceptEventAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ acceptEventAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ acceptEventAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ acceptEventAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ acceptEventAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ acceptEventAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ acceptEventAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ acceptEventAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ acceptEventAction.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ acceptEventAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ acceptEventAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ acceptEventAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ acceptEventAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ acceptEventAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ acceptEventAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ acceptEventAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ acceptEventAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ acceptEventAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ acceptEventAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ acceptEventAction.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ acceptEventAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ acceptEventAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ acceptEventAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ acceptEventAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ acceptEventAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ acceptEventAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ acceptEventAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ acceptEventAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ acceptEventAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ acceptEventAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction2 = UML.createAcceptEventAction();
+ assertValid(acceptEventAction2);
+ acceptEventAction.getRedefinedNodes().add(acceptEventAction2);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(acceptEventAction2));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ acceptEventAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ acceptEventAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ acceptEventAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ acceptEventAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ acceptEventAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ acceptEventAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ acceptEventAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ acceptEventAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ acceptEventAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ acceptEventAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ acceptEventAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ acceptEventAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ acceptEventAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ acceptEventAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ acceptEventAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ acceptEventAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ acceptEventAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ acceptEventAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ acceptEventAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ acceptEventAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ acceptEventAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ acceptEventAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ acceptEventAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(acceptEventAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ acceptEventAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ acceptEventAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ acceptEventAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ acceptEventAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ EList<InputPin> inputPins = acceptEventAction.getInputs();
+ EList<InputPin> inputPins2 = acceptEventAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ acceptEventAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ acceptEventAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ acceptEventAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ acceptEventAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ acceptEventAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(acceptEventAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ acceptEventAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ acceptEventAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ acceptEventAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ acceptEventAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ acceptEventAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ acceptEventAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ acceptEventAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ acceptEventAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ acceptEventAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(acceptEventAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ acceptEventAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ acceptEventAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ acceptEventAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ acceptEventAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ EList<OutputPin> outputPins = acceptEventAction.getOutputs();
+ EList<OutputPin> outputPins2 = acceptEventAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testResult() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ acceptEventAction.getResults().add(outputPin);
+ assertSuperset(acceptEventAction.getOutputs().contains(outputPin));
+ }
+
+ public void testTrigger() {
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ acceptEventAction.getTriggers().add(trigger);
+ assertSuperset(acceptEventAction.getOwnedElements().contains(trigger));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActionExecutionSpecificationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActionExecutionSpecificationTest.java
new file mode 100755
index 00000000..9b2e1117
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActionExecutionSpecificationTest.java
@@ -0,0 +1,523 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ActionExecutionSpecificationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ actionExecutionSpecification.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ actionExecutionSpecification.getOwnedComments().add(comment);
+ assertSuperset(
+ actionExecutionSpecification.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ EList<Element> elements = actionExecutionSpecification
+ .getOwnedElements();
+ EList<Element> elements2 = actionExecutionSpecification
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ EList<Dependency> dependencys = actionExecutionSpecification
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = actionExecutionSpecification
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ actionExecutionSpecification.setNameExpression(stringExpression);
+ assertSuperset(actionExecutionSpecification.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testCovered() {
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ actionExecutionSpecification.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ actionExecutionSpecification.setEnclosingOperand(interactionOperand);
+ assertSuperset(
+ actionExecutionSpecification.getNamespace() == interactionOperand);
+ }
+
+ public void testEnclosingInteraction() {
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ actionExecutionSpecification.setEnclosingInteraction(interaction);
+ assertSuperset(
+ actionExecutionSpecification.getNamespace() == interaction);
+ }
+
+ public void testGeneralOrdering() {
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ actionExecutionSpecification.getGeneralOrderings().add(generalOrdering);
+ assertSuperset(actionExecutionSpecification.getOwnedElements()
+ .contains(generalOrdering));
+ }
+
+ public void testFinish() {
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ actionExecutionSpecification.setFinish(messageOccurrenceSpecification);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ actionExecutionSpecification.setFinish(occurrenceSpecification);
+
+ ActionExecutionSpecification actionExecutionSpecification2 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification2);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ actionExecutionSpecification2
+ .setFinish(executionOccurrenceSpecification);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ actionExecutionSpecification2
+ .setFinish(destructionOccurrenceSpecification);
+ }
+
+ public void testStart() {
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ actionExecutionSpecification.setStart(messageOccurrenceSpecification);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ actionExecutionSpecification.setStart(occurrenceSpecification);
+
+ ActionExecutionSpecification actionExecutionSpecification2 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification2);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ actionExecutionSpecification2
+ .setStart(executionOccurrenceSpecification);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ actionExecutionSpecification2
+ .setStart(destructionOccurrenceSpecification);
+ }
+
+ public void testAction() {
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ actionExecutionSpecification.setAction(readIsClassifiedObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ actionExecutionSpecification.setAction(startClassifierBehaviorAction);
+
+ ActionExecutionSpecification actionExecutionSpecification2 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification2);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ actionExecutionSpecification2.setAction(removeVariableValueAction);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ actionExecutionSpecification2
+ .setAction(addStructuralFeatureValueAction);
+
+ ActionExecutionSpecification actionExecutionSpecification3 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification3);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ actionExecutionSpecification3.setAction(readVariableAction);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ actionExecutionSpecification3.setAction(clearVariableAction);
+
+ ActionExecutionSpecification actionExecutionSpecification4 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification4);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ actionExecutionSpecification4
+ .setAction(removeStructuralFeatureValueAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ actionExecutionSpecification4.setAction(createLinkAction);
+
+ ActionExecutionSpecification actionExecutionSpecification5 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification5);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ actionExecutionSpecification5.setAction(readSelfAction);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ actionExecutionSpecification5.setAction(reclassifyObjectAction);
+
+ ActionExecutionSpecification actionExecutionSpecification6 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification6);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ actionExecutionSpecification6
+ .setAction(readLinkObjectEndQualifierAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ actionExecutionSpecification6.setAction(sendObjectAction);
+
+ ActionExecutionSpecification actionExecutionSpecification7 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification7);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ actionExecutionSpecification7.setAction(reduceAction);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ actionExecutionSpecification7.setAction(createLinkObjectAction);
+
+ ActionExecutionSpecification actionExecutionSpecification8 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification8);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ actionExecutionSpecification8.setAction(acceptEventAction);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ actionExecutionSpecification8.setAction(destroyLinkAction);
+
+ ActionExecutionSpecification actionExecutionSpecification9 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification9);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ actionExecutionSpecification9.setAction(sendSignalAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ actionExecutionSpecification9.setAction(readLinkAction);
+
+ ActionExecutionSpecification actionExecutionSpecification10 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification10);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ actionExecutionSpecification10.setAction(replyAction);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ actionExecutionSpecification10.setAction(testIdentityAction);
+
+ ActionExecutionSpecification actionExecutionSpecification11 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification11);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ actionExecutionSpecification11.setAction(clearAssociationAction);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ actionExecutionSpecification11.setAction(broadcastSignalAction);
+
+ ActionExecutionSpecification actionExecutionSpecification12 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification12);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ actionExecutionSpecification12.setAction(clearStructuralFeatureAction);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ actionExecutionSpecification12.setAction(expansionRegion);
+
+ ActionExecutionSpecification actionExecutionSpecification13 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification13);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ actionExecutionSpecification13.setAction(structuredActivityNode);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ actionExecutionSpecification13.setAction(raiseExceptionAction);
+
+ ActionExecutionSpecification actionExecutionSpecification14 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification14);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ actionExecutionSpecification14.setAction(startObjectBehaviorAction);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ actionExecutionSpecification14.setAction(callOperationAction);
+
+ ActionExecutionSpecification actionExecutionSpecification15 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification15);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ actionExecutionSpecification15.setAction(loopNode);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ actionExecutionSpecification15.setAction(valueSpecificationAction);
+
+ ActionExecutionSpecification actionExecutionSpecification16 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification16);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ actionExecutionSpecification16.setAction(acceptCallAction);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ actionExecutionSpecification16.setAction(addVariableValueAction);
+
+ ActionExecutionSpecification actionExecutionSpecification17 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification17);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ actionExecutionSpecification17.setAction(readLinkObjectEndAction);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ actionExecutionSpecification17.setAction(unmarshallAction);
+
+ ActionExecutionSpecification actionExecutionSpecification18 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification18);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ actionExecutionSpecification18.setAction(opaqueAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ actionExecutionSpecification18.setAction(sequenceNode);
+
+ ActionExecutionSpecification actionExecutionSpecification19 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification19);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ actionExecutionSpecification19.setAction(createObjectAction);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ actionExecutionSpecification19.setAction(destroyObjectAction);
+
+ ActionExecutionSpecification actionExecutionSpecification20 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification20);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ actionExecutionSpecification20.setAction(callBehaviorAction);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ actionExecutionSpecification20.setAction(conditionalNode);
+
+ ActionExecutionSpecification actionExecutionSpecification21 = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification21);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ actionExecutionSpecification21.setAction(readExtentAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ actionExecutionSpecification21.setAction(readStructuralFeatureAction);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActionInputPinTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActionInputPinTest.java
new file mode 100755
index 00000000..118946bb
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActionInputPinTest.java
@@ -0,0 +1,1524 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ActionInputPinTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ actionInputPin.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ actionInputPin.getOwnedComments().add(comment);
+ assertSuperset(actionInputPin.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ EList<Element> elements = actionInputPin.getOwnedElements();
+ EList<Element> elements2 = actionInputPin.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ EList<Dependency> dependencys = actionInputPin.getClientDependencies();
+ EList<Dependency> dependencys2 = actionInputPin.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ actionInputPin.setNameExpression(stringExpression);
+ assertSuperset(
+ actionInputPin.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ EList<RedefinableElement> redefinableElements = actionInputPin
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = actionInputPin
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ EList<Classifier> classifiers = actionInputPin
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = actionInputPin
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ EList<ActivityGroup> activityGroups = actionInputPin.getInGroups();
+ EList<ActivityGroup> activityGroups2 = actionInputPin.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ actionInputPin.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ actionInputPin.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ actionInputPin.setInStructuredNode(loopNode);
+ assertSuperset(actionInputPin.getInGroups().contains(loopNode));
+ assertSuperset(actionInputPin.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ actionInputPin.setInStructuredNode(expansionRegion);
+ assertSuperset(actionInputPin.getInGroups().contains(expansionRegion));
+ assertSuperset(actionInputPin.getOwner() == expansionRegion);
+
+ ActionInputPin actionInputPin2 = UML.createActionInputPin();
+ assertValid(actionInputPin2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ actionInputPin2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ actionInputPin2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(actionInputPin2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ actionInputPin2.setInStructuredNode(conditionalNode);
+ assertSuperset(actionInputPin2.getInGroups().contains(conditionalNode));
+ assertSuperset(actionInputPin2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ actionInputPin.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ actionInputPin.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ actionInputPin.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ actionInputPin.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ actionInputPin.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ actionInputPin.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ actionInputPin.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ actionInputPin.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ actionInputPin.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ actionInputPin.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ actionInputPin.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ actionInputPin.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ actionInputPin.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ actionInputPin.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ actionInputPin.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ actionInputPin.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ actionInputPin.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ actionInputPin.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ actionInputPin.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ actionInputPin.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ actionInputPin.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ actionInputPin.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ actionInputPin.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ actionInputPin.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ actionInputPin.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ actionInputPin.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin2 = UML.createActionInputPin();
+ assertValid(actionInputPin2);
+ actionInputPin.getRedefinedNodes().add(actionInputPin2);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(actionInputPin2));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ actionInputPin.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ actionInputPin.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ actionInputPin.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ actionInputPin.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ actionInputPin.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ actionInputPin.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ actionInputPin.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ actionInputPin.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ actionInputPin.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ actionInputPin.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ actionInputPin.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ actionInputPin.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ actionInputPin.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ actionInputPin.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ actionInputPin.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ actionInputPin.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ actionInputPin.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ actionInputPin.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ actionInputPin.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ actionInputPin.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ actionInputPin.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ actionInputPin.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ actionInputPin.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ actionInputPin.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ actionInputPin.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ actionInputPin.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ actionInputPin.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ actionInputPin.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ actionInputPin.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ actionInputPin.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ actionInputPin.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ actionInputPin.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ actionInputPin.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ actionInputPin.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ actionInputPin.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(actionInputPin.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ actionInputPin.getInPartitions().add(activityPartition);
+ assertSuperset(
+ actionInputPin.getInGroups().contains(activityPartition));
+ }
+
+ public void testType() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ actionInputPin.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ actionInputPin.setType(activity);
+
+ ActionInputPin actionInputPin2 = UML.createActionInputPin();
+ assertValid(actionInputPin2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ actionInputPin2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ actionInputPin2.setType(informationItem);
+
+ ActionInputPin actionInputPin3 = UML.createActionInputPin();
+ assertValid(actionInputPin3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ actionInputPin3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ actionInputPin3.setType(executionEnvironment);
+
+ ActionInputPin actionInputPin4 = UML.createActionInputPin();
+ assertValid(actionInputPin4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ actionInputPin4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ actionInputPin4.setType(interaction);
+
+ ActionInputPin actionInputPin5 = UML.createActionInputPin();
+ assertValid(actionInputPin5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ actionInputPin5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ actionInputPin5.setType(opaqueBehavior);
+
+ ActionInputPin actionInputPin6 = UML.createActionInputPin();
+ assertValid(actionInputPin6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ actionInputPin6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ actionInputPin6.setType(dataType);
+
+ ActionInputPin actionInputPin7 = UML.createActionInputPin();
+ assertValid(actionInputPin7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ actionInputPin7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ actionInputPin7.setType(extension);
+
+ ActionInputPin actionInputPin8 = UML.createActionInputPin();
+ assertValid(actionInputPin8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ actionInputPin8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ actionInputPin8.setType(class_);
+
+ ActionInputPin actionInputPin9 = UML.createActionInputPin();
+ assertValid(actionInputPin9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ actionInputPin9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ actionInputPin9.setType(primitiveType);
+
+ ActionInputPin actionInputPin10 = UML.createActionInputPin();
+ assertValid(actionInputPin10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ actionInputPin10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ actionInputPin10.setType(protocolStateMachine);
+
+ ActionInputPin actionInputPin11 = UML.createActionInputPin();
+ assertValid(actionInputPin11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ actionInputPin11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ actionInputPin11.setType(signal);
+
+ ActionInputPin actionInputPin12 = UML.createActionInputPin();
+ assertValid(actionInputPin12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ actionInputPin12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ actionInputPin12.setType(stereotype);
+
+ ActionInputPin actionInputPin13 = UML.createActionInputPin();
+ assertValid(actionInputPin13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ actionInputPin13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ actionInputPin13.setType(artifact);
+
+ ActionInputPin actionInputPin14 = UML.createActionInputPin();
+ assertValid(actionInputPin14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ actionInputPin14.setType(collaboration);
+ }
+
+ public void testInState() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ actionInputPin.getInStates().add(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ actionInputPin.getInStates().add(state);
+ }
+
+ public void testSelection() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ actionInputPin.setSelection(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ actionInputPin.setSelection(stateMachine);
+ }
+
+ public void testUpperBound() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ actionInputPin.setUpperBound(literalBoolean);
+ assertSuperset(
+ actionInputPin.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ actionInputPin.setUpperBound(interval);
+ assertSuperset(actionInputPin.getOwnedElements().contains(interval));
+
+ ActionInputPin actionInputPin2 = UML.createActionInputPin();
+ assertValid(actionInputPin2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ actionInputPin2.setUpperBound(opaqueExpression);
+ assertSuperset(
+ actionInputPin2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ actionInputPin2.setUpperBound(expression);
+ assertSuperset(actionInputPin2.getOwnedElements().contains(expression));
+
+ ActionInputPin actionInputPin3 = UML.createActionInputPin();
+ assertValid(actionInputPin3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ actionInputPin3.setUpperBound(literalReal);
+ assertSuperset(
+ actionInputPin3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ actionInputPin3.setUpperBound(literalString);
+ assertSuperset(
+ actionInputPin3.getOwnedElements().contains(literalString));
+
+ ActionInputPin actionInputPin4 = UML.createActionInputPin();
+ assertValid(actionInputPin4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ actionInputPin4.setUpperBound(literalNull);
+ assertSuperset(
+ actionInputPin4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ actionInputPin4.setUpperBound(duration);
+ assertSuperset(actionInputPin4.getOwnedElements().contains(duration));
+
+ ActionInputPin actionInputPin5 = UML.createActionInputPin();
+ assertValid(actionInputPin5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ actionInputPin5.setUpperBound(literalInteger);
+ assertSuperset(
+ actionInputPin5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ actionInputPin5.setUpperBound(durationInterval);
+ assertSuperset(
+ actionInputPin5.getOwnedElements().contains(durationInterval));
+
+ ActionInputPin actionInputPin6 = UML.createActionInputPin();
+ assertValid(actionInputPin6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ actionInputPin6.setUpperBound(stringExpression);
+ assertSuperset(
+ actionInputPin6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ actionInputPin6.setUpperBound(literalUnlimitedNatural);
+ assertSuperset(actionInputPin6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ ActionInputPin actionInputPin7 = UML.createActionInputPin();
+ assertValid(actionInputPin7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ actionInputPin7.setUpperBound(timeInterval);
+ assertSuperset(
+ actionInputPin7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ actionInputPin7.setUpperBound(timeExpression);
+ assertSuperset(
+ actionInputPin7.getOwnedElements().contains(timeExpression));
+
+ ActionInputPin actionInputPin8 = UML.createActionInputPin();
+ assertValid(actionInputPin8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ actionInputPin8.setUpperBound(instanceValue);
+ assertSuperset(
+ actionInputPin8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testLowerValue() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ actionInputPin.setLowerValue(literalBoolean);
+ assertSuperset(
+ actionInputPin.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ actionInputPin.setLowerValue(interval);
+ assertSuperset(actionInputPin.getOwnedElements().contains(interval));
+
+ ActionInputPin actionInputPin2 = UML.createActionInputPin();
+ assertValid(actionInputPin2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ actionInputPin2.setLowerValue(opaqueExpression);
+ assertSuperset(
+ actionInputPin2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ actionInputPin2.setLowerValue(expression);
+ assertSuperset(actionInputPin2.getOwnedElements().contains(expression));
+
+ ActionInputPin actionInputPin3 = UML.createActionInputPin();
+ assertValid(actionInputPin3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ actionInputPin3.setLowerValue(literalReal);
+ assertSuperset(
+ actionInputPin3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ actionInputPin3.setLowerValue(literalString);
+ assertSuperset(
+ actionInputPin3.getOwnedElements().contains(literalString));
+
+ ActionInputPin actionInputPin4 = UML.createActionInputPin();
+ assertValid(actionInputPin4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ actionInputPin4.setLowerValue(literalNull);
+ assertSuperset(
+ actionInputPin4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ actionInputPin4.setLowerValue(duration);
+ assertSuperset(actionInputPin4.getOwnedElements().contains(duration));
+
+ ActionInputPin actionInputPin5 = UML.createActionInputPin();
+ assertValid(actionInputPin5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ actionInputPin5.setLowerValue(literalInteger);
+ assertSuperset(
+ actionInputPin5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ actionInputPin5.setLowerValue(durationInterval);
+ assertSuperset(
+ actionInputPin5.getOwnedElements().contains(durationInterval));
+
+ ActionInputPin actionInputPin6 = UML.createActionInputPin();
+ assertValid(actionInputPin6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ actionInputPin6.setLowerValue(stringExpression);
+ assertSuperset(
+ actionInputPin6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ actionInputPin6.setLowerValue(literalUnlimitedNatural);
+ assertSuperset(actionInputPin6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ ActionInputPin actionInputPin7 = UML.createActionInputPin();
+ assertValid(actionInputPin7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ actionInputPin7.setLowerValue(timeInterval);
+ assertSuperset(
+ actionInputPin7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ actionInputPin7.setLowerValue(timeExpression);
+ assertSuperset(
+ actionInputPin7.getOwnedElements().contains(timeExpression));
+
+ ActionInputPin actionInputPin8 = UML.createActionInputPin();
+ assertValid(actionInputPin8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ actionInputPin8.setLowerValue(instanceValue);
+ assertSuperset(
+ actionInputPin8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testUpperValue() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ actionInputPin.setUpperValue(literalBoolean);
+ assertSuperset(
+ actionInputPin.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ actionInputPin.setUpperValue(interval);
+ assertSuperset(actionInputPin.getOwnedElements().contains(interval));
+
+ ActionInputPin actionInputPin2 = UML.createActionInputPin();
+ assertValid(actionInputPin2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ actionInputPin2.setUpperValue(opaqueExpression);
+ assertSuperset(
+ actionInputPin2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ actionInputPin2.setUpperValue(expression);
+ assertSuperset(actionInputPin2.getOwnedElements().contains(expression));
+
+ ActionInputPin actionInputPin3 = UML.createActionInputPin();
+ assertValid(actionInputPin3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ actionInputPin3.setUpperValue(literalReal);
+ assertSuperset(
+ actionInputPin3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ actionInputPin3.setUpperValue(literalString);
+ assertSuperset(
+ actionInputPin3.getOwnedElements().contains(literalString));
+
+ ActionInputPin actionInputPin4 = UML.createActionInputPin();
+ assertValid(actionInputPin4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ actionInputPin4.setUpperValue(literalNull);
+ assertSuperset(
+ actionInputPin4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ actionInputPin4.setUpperValue(duration);
+ assertSuperset(actionInputPin4.getOwnedElements().contains(duration));
+
+ ActionInputPin actionInputPin5 = UML.createActionInputPin();
+ assertValid(actionInputPin5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ actionInputPin5.setUpperValue(literalInteger);
+ assertSuperset(
+ actionInputPin5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ actionInputPin5.setUpperValue(durationInterval);
+ assertSuperset(
+ actionInputPin5.getOwnedElements().contains(durationInterval));
+
+ ActionInputPin actionInputPin6 = UML.createActionInputPin();
+ assertValid(actionInputPin6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ actionInputPin6.setUpperValue(stringExpression);
+ assertSuperset(
+ actionInputPin6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ actionInputPin6.setUpperValue(literalUnlimitedNatural);
+ assertSuperset(actionInputPin6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ ActionInputPin actionInputPin7 = UML.createActionInputPin();
+ assertValid(actionInputPin7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ actionInputPin7.setUpperValue(timeInterval);
+ assertSuperset(
+ actionInputPin7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ actionInputPin7.setUpperValue(timeExpression);
+ assertSuperset(
+ actionInputPin7.getOwnedElements().contains(timeExpression));
+
+ ActionInputPin actionInputPin8 = UML.createActionInputPin();
+ assertValid(actionInputPin8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ actionInputPin8.setUpperValue(instanceValue);
+ assertSuperset(
+ actionInputPin8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testFromAction() {
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ actionInputPin.setFromAction(readIsClassifiedObjectAction);
+ assertSuperset(actionInputPin.getOwnedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ actionInputPin.setFromAction(startClassifierBehaviorAction);
+ assertSuperset(actionInputPin.getOwnedElements()
+ .contains(startClassifierBehaviorAction));
+
+ ActionInputPin actionInputPin2 = UML.createActionInputPin();
+ assertValid(actionInputPin2);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ actionInputPin2.setFromAction(removeVariableValueAction);
+ assertSuperset(actionInputPin2.getOwnedElements()
+ .contains(removeVariableValueAction));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ actionInputPin2.setFromAction(addStructuralFeatureValueAction);
+ assertSuperset(actionInputPin2.getOwnedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ActionInputPin actionInputPin3 = UML.createActionInputPin();
+ assertValid(actionInputPin3);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ actionInputPin3.setFromAction(readVariableAction);
+ assertSuperset(
+ actionInputPin3.getOwnedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ actionInputPin3.setFromAction(clearVariableAction);
+ assertSuperset(
+ actionInputPin3.getOwnedElements().contains(clearVariableAction));
+
+ ActionInputPin actionInputPin4 = UML.createActionInputPin();
+ assertValid(actionInputPin4);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ actionInputPin4.setFromAction(removeStructuralFeatureValueAction);
+ assertSuperset(actionInputPin4.getOwnedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ actionInputPin4.setFromAction(createLinkAction);
+ assertSuperset(
+ actionInputPin4.getOwnedElements().contains(createLinkAction));
+
+ ActionInputPin actionInputPin5 = UML.createActionInputPin();
+ assertValid(actionInputPin5);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ actionInputPin5.setFromAction(readSelfAction);
+ assertSuperset(
+ actionInputPin5.getOwnedElements().contains(readSelfAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ actionInputPin5.setFromAction(reclassifyObjectAction);
+ assertSuperset(actionInputPin5.getOwnedElements()
+ .contains(reclassifyObjectAction));
+
+ ActionInputPin actionInputPin6 = UML.createActionInputPin();
+ assertValid(actionInputPin6);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ actionInputPin6.setFromAction(readLinkObjectEndQualifierAction);
+ assertSuperset(actionInputPin6.getOwnedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ actionInputPin6.setFromAction(sendObjectAction);
+ assertSuperset(
+ actionInputPin6.getOwnedElements().contains(sendObjectAction));
+
+ ActionInputPin actionInputPin7 = UML.createActionInputPin();
+ assertValid(actionInputPin7);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ actionInputPin7.setFromAction(reduceAction);
+ assertSuperset(
+ actionInputPin7.getOwnedElements().contains(reduceAction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ actionInputPin7.setFromAction(createLinkObjectAction);
+ assertSuperset(actionInputPin7.getOwnedElements()
+ .contains(createLinkObjectAction));
+
+ ActionInputPin actionInputPin8 = UML.createActionInputPin();
+ assertValid(actionInputPin8);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ actionInputPin8.setFromAction(acceptEventAction);
+ assertSuperset(
+ actionInputPin8.getOwnedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ actionInputPin8.setFromAction(destroyLinkAction);
+ assertSuperset(
+ actionInputPin8.getOwnedElements().contains(destroyLinkAction));
+
+ ActionInputPin actionInputPin9 = UML.createActionInputPin();
+ assertValid(actionInputPin9);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ actionInputPin9.setFromAction(sendSignalAction);
+ assertSuperset(
+ actionInputPin9.getOwnedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ actionInputPin9.setFromAction(readLinkAction);
+ assertSuperset(
+ actionInputPin9.getOwnedElements().contains(readLinkAction));
+
+ ActionInputPin actionInputPin10 = UML.createActionInputPin();
+ assertValid(actionInputPin10);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ actionInputPin10.setFromAction(replyAction);
+ assertSuperset(
+ actionInputPin10.getOwnedElements().contains(replyAction));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ actionInputPin10.setFromAction(testIdentityAction);
+ assertSuperset(
+ actionInputPin10.getOwnedElements().contains(testIdentityAction));
+
+ ActionInputPin actionInputPin11 = UML.createActionInputPin();
+ assertValid(actionInputPin11);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ actionInputPin11.setFromAction(clearAssociationAction);
+ assertSuperset(actionInputPin11.getOwnedElements()
+ .contains(clearAssociationAction));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ actionInputPin11.setFromAction(broadcastSignalAction);
+ assertSuperset(actionInputPin11.getOwnedElements()
+ .contains(broadcastSignalAction));
+
+ ActionInputPin actionInputPin12 = UML.createActionInputPin();
+ assertValid(actionInputPin12);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ actionInputPin12.setFromAction(clearStructuralFeatureAction);
+ assertSuperset(actionInputPin12.getOwnedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ actionInputPin12.setFromAction(expansionRegion);
+ assertSuperset(
+ actionInputPin12.getOwnedElements().contains(expansionRegion));
+
+ ActionInputPin actionInputPin13 = UML.createActionInputPin();
+ assertValid(actionInputPin13);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ actionInputPin13.setFromAction(structuredActivityNode);
+ assertSuperset(actionInputPin13.getOwnedElements()
+ .contains(structuredActivityNode));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ actionInputPin13.setFromAction(raiseExceptionAction);
+ assertSuperset(
+ actionInputPin13.getOwnedElements().contains(raiseExceptionAction));
+
+ ActionInputPin actionInputPin14 = UML.createActionInputPin();
+ assertValid(actionInputPin14);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ actionInputPin14.setFromAction(startObjectBehaviorAction);
+ assertSuperset(actionInputPin14.getOwnedElements()
+ .contains(startObjectBehaviorAction));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ actionInputPin14.setFromAction(callOperationAction);
+ assertSuperset(
+ actionInputPin14.getOwnedElements().contains(callOperationAction));
+
+ ActionInputPin actionInputPin15 = UML.createActionInputPin();
+ assertValid(actionInputPin15);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ actionInputPin15.setFromAction(loopNode);
+ assertSuperset(actionInputPin15.getOwnedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ actionInputPin15.setFromAction(valueSpecificationAction);
+ assertSuperset(actionInputPin15.getOwnedElements()
+ .contains(valueSpecificationAction));
+
+ ActionInputPin actionInputPin16 = UML.createActionInputPin();
+ assertValid(actionInputPin16);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ actionInputPin16.setFromAction(acceptCallAction);
+ assertSuperset(
+ actionInputPin16.getOwnedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ actionInputPin16.setFromAction(addVariableValueAction);
+ assertSuperset(actionInputPin16.getOwnedElements()
+ .contains(addVariableValueAction));
+
+ ActionInputPin actionInputPin17 = UML.createActionInputPin();
+ assertValid(actionInputPin17);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ actionInputPin17.setFromAction(readLinkObjectEndAction);
+ assertSuperset(actionInputPin17.getOwnedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ actionInputPin17.setFromAction(unmarshallAction);
+ assertSuperset(
+ actionInputPin17.getOwnedElements().contains(unmarshallAction));
+
+ ActionInputPin actionInputPin18 = UML.createActionInputPin();
+ assertValid(actionInputPin18);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ actionInputPin18.setFromAction(opaqueAction);
+ assertSuperset(
+ actionInputPin18.getOwnedElements().contains(opaqueAction));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ actionInputPin18.setFromAction(sequenceNode);
+ assertSuperset(
+ actionInputPin18.getOwnedElements().contains(sequenceNode));
+
+ ActionInputPin actionInputPin19 = UML.createActionInputPin();
+ assertValid(actionInputPin19);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ actionInputPin19.setFromAction(createObjectAction);
+ assertSuperset(
+ actionInputPin19.getOwnedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ actionInputPin19.setFromAction(destroyObjectAction);
+ assertSuperset(
+ actionInputPin19.getOwnedElements().contains(destroyObjectAction));
+
+ ActionInputPin actionInputPin20 = UML.createActionInputPin();
+ assertValid(actionInputPin20);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ actionInputPin20.setFromAction(callBehaviorAction);
+ assertSuperset(
+ actionInputPin20.getOwnedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ actionInputPin20.setFromAction(conditionalNode);
+ assertSuperset(
+ actionInputPin20.getOwnedElements().contains(conditionalNode));
+
+ ActionInputPin actionInputPin21 = UML.createActionInputPin();
+ assertValid(actionInputPin21);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ actionInputPin21.setFromAction(readExtentAction);
+ assertSuperset(
+ actionInputPin21.getOwnedElements().contains(readExtentAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ actionInputPin21.setFromAction(readStructuralFeatureAction);
+ assertSuperset(actionInputPin21.getOwnedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityFinalNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityFinalNodeTest.java
new file mode 100755
index 00000000..05d4618c
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityFinalNodeTest.java
@@ -0,0 +1,627 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ActivityFinalNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ activityFinalNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ activityFinalNode.getOwnedComments().add(comment);
+ assertSuperset(activityFinalNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ EList<Element> elements = activityFinalNode.getOwnedElements();
+ EList<Element> elements2 = activityFinalNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ EList<Dependency> dependencys = activityFinalNode
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = activityFinalNode
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ activityFinalNode.setNameExpression(stringExpression);
+ assertSuperset(
+ activityFinalNode.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ EList<RedefinableElement> redefinableElements = activityFinalNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = activityFinalNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ EList<Classifier> classifiers = activityFinalNode
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = activityFinalNode
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ EList<ActivityGroup> activityGroups = activityFinalNode.getInGroups();
+ EList<ActivityGroup> activityGroups2 = activityFinalNode.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ activityFinalNode.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(activityFinalNode.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ activityFinalNode.setInStructuredNode(loopNode);
+ assertSuperset(activityFinalNode.getInGroups().contains(loopNode));
+ assertSuperset(activityFinalNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ activityFinalNode.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ activityFinalNode.getInGroups().contains(expansionRegion));
+ assertSuperset(activityFinalNode.getOwner() == expansionRegion);
+
+ ActivityFinalNode activityFinalNode2 = UML.createActivityFinalNode();
+ assertValid(activityFinalNode2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ activityFinalNode2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ activityFinalNode2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(activityFinalNode2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ activityFinalNode2.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ activityFinalNode2.getInGroups().contains(conditionalNode));
+ assertSuperset(activityFinalNode2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ activityFinalNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ activityFinalNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ activityFinalNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ activityFinalNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ activityFinalNode.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ activityFinalNode.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ activityFinalNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ activityFinalNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ activityFinalNode.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ activityFinalNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ activityFinalNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ activityFinalNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ activityFinalNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ activityFinalNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ activityFinalNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ activityFinalNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ activityFinalNode.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ activityFinalNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ activityFinalNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ activityFinalNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ activityFinalNode.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ activityFinalNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ activityFinalNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ activityFinalNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ activityFinalNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ activityFinalNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ activityFinalNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ activityFinalNode.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ activityFinalNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ activityFinalNode.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ activityFinalNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ activityFinalNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ activityFinalNode.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ activityFinalNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ activityFinalNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ activityFinalNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ activityFinalNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ activityFinalNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ activityFinalNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ activityFinalNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ activityFinalNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ activityFinalNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ activityFinalNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ activityFinalNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ activityFinalNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ activityFinalNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ activityFinalNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode2 = UML.createActivityFinalNode();
+ assertValid(activityFinalNode2);
+ activityFinalNode.getRedefinedNodes().add(activityFinalNode2);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(activityFinalNode2));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ activityFinalNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ activityFinalNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ activityFinalNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ activityFinalNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ activityFinalNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ activityFinalNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ activityFinalNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ activityFinalNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ activityFinalNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ activityFinalNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ activityFinalNode.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ activityFinalNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ activityFinalNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ activityFinalNode.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(activityFinalNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ activityFinalNode.getInPartitions().add(activityPartition);
+ assertSuperset(
+ activityFinalNode.getInGroups().contains(activityPartition));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityParameterNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityParameterNodeTest.java
new file mode 100755
index 00000000..e48588e6
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityParameterNodeTest.java
@@ -0,0 +1,1027 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ActivityParameterNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ activityParameterNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ activityParameterNode.getOwnedComments().add(comment);
+ assertSuperset(
+ activityParameterNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ EList<Element> elements = activityParameterNode.getOwnedElements();
+ EList<Element> elements2 = activityParameterNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ EList<Dependency> dependencys = activityParameterNode
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = activityParameterNode
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ activityParameterNode.setNameExpression(stringExpression);
+ assertSuperset(activityParameterNode.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ EList<RedefinableElement> redefinableElements = activityParameterNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = activityParameterNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ EList<Classifier> classifiers = activityParameterNode
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = activityParameterNode
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ EList<ActivityGroup> activityGroups = activityParameterNode
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = activityParameterNode
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ activityParameterNode.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(activityParameterNode.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ activityParameterNode.setInStructuredNode(loopNode);
+ assertSuperset(activityParameterNode.getInGroups().contains(loopNode));
+ assertSuperset(activityParameterNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ activityParameterNode.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ activityParameterNode.getInGroups().contains(expansionRegion));
+ assertSuperset(activityParameterNode.getOwner() == expansionRegion);
+
+ ActivityParameterNode activityParameterNode2 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ activityParameterNode2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(activityParameterNode2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ activityParameterNode2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ activityParameterNode2.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ activityParameterNode2.getInGroups().contains(conditionalNode));
+ assertSuperset(activityParameterNode2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ activityParameterNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ activityParameterNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ activityParameterNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ activityParameterNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ activityParameterNode.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ activityParameterNode.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ activityParameterNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ activityParameterNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ activityParameterNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ activityParameterNode.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ activityParameterNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ activityParameterNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ activityParameterNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ activityParameterNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ activityParameterNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ activityParameterNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ activityParameterNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ activityParameterNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ activityParameterNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ activityParameterNode.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ activityParameterNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ activityParameterNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ activityParameterNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ activityParameterNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ activityParameterNode.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ activityParameterNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ activityParameterNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ activityParameterNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ activityParameterNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ activityParameterNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ activityParameterNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ activityParameterNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ activityParameterNode.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode2 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode2);
+ activityParameterNode.getRedefinedNodes().add(activityParameterNode2);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(activityParameterNode2));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ activityParameterNode.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ activityParameterNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ activityParameterNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ activityParameterNode.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ activityParameterNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ activityParameterNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ activityParameterNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ activityParameterNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ activityParameterNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ activityParameterNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ activityParameterNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ activityParameterNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ activityParameterNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ activityParameterNode.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ activityParameterNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ activityParameterNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ activityParameterNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ activityParameterNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ activityParameterNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ activityParameterNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ activityParameterNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ activityParameterNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ activityParameterNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ activityParameterNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ activityParameterNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ activityParameterNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ activityParameterNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ activityParameterNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ activityParameterNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ activityParameterNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ activityParameterNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ activityParameterNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ activityParameterNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ activityParameterNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ activityParameterNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ activityParameterNode.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(activityParameterNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ activityParameterNode.getInPartitions().add(activityPartition);
+ assertSuperset(
+ activityParameterNode.getInGroups().contains(activityPartition));
+ }
+
+ public void testType() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ activityParameterNode.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ activityParameterNode.setType(activity);
+
+ ActivityParameterNode activityParameterNode2 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ activityParameterNode2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ activityParameterNode2.setType(informationItem);
+
+ ActivityParameterNode activityParameterNode3 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ activityParameterNode3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ activityParameterNode3.setType(executionEnvironment);
+
+ ActivityParameterNode activityParameterNode4 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ activityParameterNode4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ activityParameterNode4.setType(interaction);
+
+ ActivityParameterNode activityParameterNode5 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ activityParameterNode5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ activityParameterNode5.setType(opaqueBehavior);
+
+ ActivityParameterNode activityParameterNode6 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ activityParameterNode6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ activityParameterNode6.setType(dataType);
+
+ ActivityParameterNode activityParameterNode7 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ activityParameterNode7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ activityParameterNode7.setType(extension);
+
+ ActivityParameterNode activityParameterNode8 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ activityParameterNode8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ activityParameterNode8.setType(class_);
+
+ ActivityParameterNode activityParameterNode9 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ activityParameterNode9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ activityParameterNode9.setType(primitiveType);
+
+ ActivityParameterNode activityParameterNode10 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ activityParameterNode10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ activityParameterNode10.setType(protocolStateMachine);
+
+ ActivityParameterNode activityParameterNode11 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ activityParameterNode11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ activityParameterNode11.setType(signal);
+
+ ActivityParameterNode activityParameterNode12 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ activityParameterNode12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ activityParameterNode12.setType(stereotype);
+
+ ActivityParameterNode activityParameterNode13 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ activityParameterNode13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ activityParameterNode13.setType(artifact);
+
+ ActivityParameterNode activityParameterNode14 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ activityParameterNode14.setType(collaboration);
+ }
+
+ public void testInState() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ activityParameterNode.getInStates().add(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ activityParameterNode.getInStates().add(state);
+ }
+
+ public void testSelection() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ activityParameterNode.setSelection(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ activityParameterNode.setSelection(stateMachine);
+ }
+
+ public void testUpperBound() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ activityParameterNode.setUpperBound(literalBoolean);
+ assertSuperset(
+ activityParameterNode.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ activityParameterNode.setUpperBound(interval);
+ assertSuperset(
+ activityParameterNode.getOwnedElements().contains(interval));
+
+ ActivityParameterNode activityParameterNode2 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ activityParameterNode2.setUpperBound(opaqueExpression);
+ assertSuperset(activityParameterNode2.getOwnedElements()
+ .contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ activityParameterNode2.setUpperBound(expression);
+ assertSuperset(
+ activityParameterNode2.getOwnedElements().contains(expression));
+
+ ActivityParameterNode activityParameterNode3 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ activityParameterNode3.setUpperBound(literalReal);
+ assertSuperset(
+ activityParameterNode3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ activityParameterNode3.setUpperBound(literalString);
+ assertSuperset(
+ activityParameterNode3.getOwnedElements().contains(literalString));
+
+ ActivityParameterNode activityParameterNode4 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ activityParameterNode4.setUpperBound(literalNull);
+ assertSuperset(
+ activityParameterNode4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ activityParameterNode4.setUpperBound(duration);
+ assertSuperset(
+ activityParameterNode4.getOwnedElements().contains(duration));
+
+ ActivityParameterNode activityParameterNode5 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ activityParameterNode5.setUpperBound(literalInteger);
+ assertSuperset(
+ activityParameterNode5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ activityParameterNode5.setUpperBound(durationInterval);
+ assertSuperset(activityParameterNode5.getOwnedElements()
+ .contains(durationInterval));
+
+ ActivityParameterNode activityParameterNode6 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ activityParameterNode6.setUpperBound(stringExpression);
+ assertSuperset(activityParameterNode6.getOwnedElements()
+ .contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ activityParameterNode6.setUpperBound(literalUnlimitedNatural);
+ assertSuperset(activityParameterNode6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ ActivityParameterNode activityParameterNode7 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ activityParameterNode7.setUpperBound(timeInterval);
+ assertSuperset(
+ activityParameterNode7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ activityParameterNode7.setUpperBound(timeExpression);
+ assertSuperset(
+ activityParameterNode7.getOwnedElements().contains(timeExpression));
+
+ ActivityParameterNode activityParameterNode8 = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ activityParameterNode8.setUpperBound(instanceValue);
+ assertSuperset(
+ activityParameterNode8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testParameter() {
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ activityParameterNode.setParameter(parameter);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityPartitionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityPartitionTest.java
new file mode 100755
index 00000000..abaf1a85
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityPartitionTest.java
@@ -0,0 +1,1815 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Clause;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolConformance;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class ActivityPartitionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ activityPartition.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ activityPartition.getOwnedComments().add(comment);
+ assertSuperset(activityPartition.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ EList<Element> elements = activityPartition.getOwnedElements();
+ EList<Element> elements2 = activityPartition.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ EList<Dependency> dependencys = activityPartition
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = activityPartition
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ activityPartition.setNameExpression(stringExpression);
+ assertSuperset(
+ activityPartition.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testContainedEdge() {
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ EList<ActivityEdge> activityEdges = activityPartition
+ .getContainedEdges();
+ EList<ActivityEdge> activityEdges2 = activityPartition
+ .getContainedEdges();
+ assertSame(activityEdges, activityEdges2);
+ }
+
+ public void testContainedNode() {
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ EList<ActivityNode> activityNodes = activityPartition
+ .getContainedNodes();
+ EList<ActivityNode> activityNodes2 = activityPartition
+ .getContainedNodes();
+ assertSame(activityNodes, activityNodes2);
+ }
+
+ public void testSubgroup() {
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ EList<ActivityGroup> activityGroups = activityPartition.getSubgroups();
+ EList<ActivityGroup> activityGroups2 = activityPartition.getSubgroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testNode() {
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ activityPartition.getNodes().add(startClassifierBehaviorAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ activityPartition.getNodes().add(removeVariableValueAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ activityPartition.getNodes().add(readSelfAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ activityPartition.getNodes().add(inputPin);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ activityPartition.getNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ activityPartition.getNodes().add(joinNode);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ activityPartition.getNodes().add(createLinkObjectAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ activityPartition.getNodes().add(sendSignalAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ activityPartition.getNodes().add(readLinkAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ activityPartition.getNodes().add(replyAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ activityPartition.getNodes().add(clearAssociationAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ activityPartition.getNodes().add(flowFinalNode);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ activityPartition.getNodes().add(clearStructuralFeatureAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ activityPartition.getNodes().add(expansionRegion);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ activityPartition.getNodes().add(structuredActivityNode);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ activityPartition.getNodes().add(valuePin);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ activityPartition.getNodes().add(startObjectBehaviorAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ activityPartition.getNodes().add(forkNode);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ activityPartition.getNodes().add(decisionNode);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ activityPartition.getNodes().add(callBehaviorAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ activityPartition.getNodes().add(conditionalNode);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ activityPartition.getNodes().add(readExtentAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ activityPartition.getNodes().add(actionInputPin);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ activityPartition.getNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ activityPartition.getNodes().add(activityParameterNode);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ activityPartition.getNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ activityPartition.getNodes().add(readVariableAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ activityPartition.getNodes().add(clearVariableAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ activityPartition.getNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ activityPartition.getNodes().add(createLinkAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ activityPartition.getNodes().add(reclassifyObjectAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ activityPartition.getNodes().add(dataStoreNode);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ activityPartition.getNodes().add(sendObjectAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ activityPartition.getNodes().add(reduceAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ activityPartition.getNodes().add(acceptEventAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ activityPartition.getNodes().add(destroyLinkAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ activityPartition.getNodes().add(expansionNode);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ activityPartition.getNodes().add(initialNode);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ activityPartition.getNodes().add(testIdentityAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ activityPartition.getNodes().add(outputPin);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ activityPartition.getNodes().add(centralBufferNode);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ activityPartition.getNodes().add(broadcastSignalAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ activityPartition.getNodes().add(raiseExceptionAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ activityPartition.getNodes().add(activityFinalNode);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ activityPartition.getNodes().add(callOperationAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ activityPartition.getNodes().add(loopNode);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ activityPartition.getNodes().add(valueSpecificationAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ activityPartition.getNodes().add(acceptCallAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ activityPartition.getNodes().add(addVariableValueAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ activityPartition.getNodes().add(readLinkObjectEndAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ activityPartition.getNodes().add(unmarshallAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ activityPartition.getNodes().add(opaqueAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ activityPartition.getNodes().add(mergeNode);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ activityPartition.getNodes().add(sequenceNode);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ activityPartition.getNodes().add(createObjectAction);
+ assertSuperset(
+ activityPartition.getContainedNodes().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ activityPartition.getNodes().add(destroyObjectAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ activityPartition.getNodes().add(readStructuralFeatureAction);
+ assertSuperset(activityPartition.getContainedNodes()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testRepresents() {
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ activityPartition.setRepresents(activity);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ activityPartition.setRepresents(communicationPath);
+
+ ActivityPartition activityPartition2 = UML.createActivityPartition();
+ assertValid(activityPartition2);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ activityPartition2.setRepresents(inputPin);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ activityPartition2.setRepresents(readLinkObjectEndQualifierAction);
+
+ ActivityPartition activityPartition3 = UML.createActivityPartition();
+ assertValid(activityPartition3);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ activityPartition3.setRepresents(component);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ activityPartition3.setRepresents(durationObservation);
+
+ ActivityPartition activityPartition4 = UML.createActivityPartition();
+ assertValid(activityPartition4);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ activityPartition4.setRepresents(callEvent);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ activityPartition4.setRepresents(joinNode);
+
+ ActivityPartition activityPartition5 = UML.createActivityPartition();
+ assertValid(activityPartition5);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ activityPartition5.setRepresents(createLinkObjectAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ activityPartition5.setRepresents(readLinkAction);
+
+ ActivityPartition activityPartition6 = UML.createActivityPartition();
+ assertValid(activityPartition6);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ activityPartition6.setRepresents(model);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ activityPartition6.setRepresents(trigger);
+
+ ActivityPartition activityPartition7 = UML.createActivityPartition();
+ assertValid(activityPartition7);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ activityPartition7.setRepresents(associationClass);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ activityPartition7.setRepresents(classifierTemplateParameter);
+
+ ActivityPartition activityPartition8 = UML.createActivityPartition();
+ assertValid(activityPartition8);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ activityPartition8.setRepresents(clearStructuralFeatureAction);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ activityPartition8.setRepresents(structuredActivityNode);
+
+ ActivityPartition activityPartition9 = UML.createActivityPartition();
+ assertValid(activityPartition9);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ activityPartition9.setRepresents(forkNode);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ activityPartition9.setRepresents(timeConstraint);
+
+ ActivityPartition activityPartition10 = UML.createActivityPartition();
+ assertValid(activityPartition10);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ activityPartition10.setRepresents(extensionEnd);
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ activityPartition10.setRepresents(considerIgnoreFragment);
+
+ ActivityPartition activityPartition11 = UML.createActivityPartition();
+ assertValid(activityPartition11);
+
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+ activityPartition11.setRepresents(protocolConformance);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ activityPartition11.setRepresents(readExtentAction);
+
+ ActivityPartition activityPartition12 = UML.createActivityPartition();
+ assertValid(activityPartition12);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ activityPartition12.setRepresents(actionInputPin);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ activityPartition12.setRepresents(artifact);
+
+ ActivityPartition activityPartition13 = UML.createActivityPartition();
+ assertValid(activityPartition13);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ activityPartition13.setRepresents(informationFlow);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ activityPartition13.setRepresents(clearVariableAction);
+
+ ActivityPartition activityPartition14 = UML.createActivityPartition();
+ assertValid(activityPartition14);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ activityPartition14.setRepresents(createLinkAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ activityPartition14.setRepresents(sendObjectAction);
+
+ ActivityPartition activityPartition15 = UML.createActivityPartition();
+ assertValid(activityPartition15);
+
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+ activityPartition15.setRepresents(linkEndData);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ activityPartition15.setRepresents(controlFlow);
+
+ ActivityPartition activityPartition16 = UML.createActivityPartition();
+ assertValid(activityPartition16);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ activityPartition16.setRepresents(deploymentSpecification);
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ activityPartition16.setRepresents(partDecomposition);
+
+ ActivityPartition activityPartition17 = UML.createActivityPartition();
+ assertValid(activityPartition17);
+
+ Image image = UML.createImage();
+ assertValid(image);
+ activityPartition17.setRepresents(image);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ activityPartition17.setRepresents(destroyLinkAction);
+
+ ActivityPartition activityPartition18 = UML.createActivityPartition();
+ assertValid(activityPartition18);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ activityPartition18.setRepresents(expansionNode);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ activityPartition18.setRepresents(timeInterval);
+
+ ActivityPartition activityPartition19 = UML.createActivityPartition();
+ assertValid(activityPartition19);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ activityPartition19.setRepresents(dataType);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ activityPartition19.setRepresents(substitution);
+
+ ActivityPartition activityPartition20 = UML.createActivityPartition();
+ assertValid(activityPartition20);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ activityPartition20.setRepresents(literalBoolean);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ activityPartition20.setRepresents(durationConstraint);
+
+ ActivityPartition activityPartition21 = UML.createActivityPartition();
+ assertValid(activityPartition21);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ activityPartition21.setRepresents(literalNull);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ activityPartition21.setRepresents(callOperationAction);
+
+ ActivityPartition activityPartition22 = UML.createActivityPartition();
+ assertValid(activityPartition22);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ activityPartition22.setRepresents(node);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ activityPartition22.setRepresents(constraint);
+
+ ActivityPartition activityPartition23 = UML.createActivityPartition();
+ assertValid(activityPartition23);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ activityPartition23.setRepresents(stateMachine);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ activityPartition23.setRepresents(interface_);
+
+ ActivityPartition activityPartition24 = UML.createActivityPartition();
+ assertValid(activityPartition24);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ activityPartition24.setRepresents(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ activityPartition24.setRepresents(removeVariableValueAction);
+
+ ActivityPartition activityPartition25 = UML.createActivityPartition();
+ assertValid(activityPartition25);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ activityPartition25.setRepresents(redefinableTemplateSignature);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ activityPartition25.setRepresents(executionOccurrenceSpecification);
+
+ ActivityPartition activityPartition26 = UML.createActivityPartition();
+ assertValid(activityPartition26);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ activityPartition26.setRepresents(variable);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ activityPartition26.setRepresents(property);
+
+ ActivityPartition activityPartition27 = UML.createActivityPartition();
+ assertValid(activityPartition27);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ activityPartition27.setRepresents(expansionRegion);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ activityPartition27.setRepresents(templateParameter);
+
+ ActivityPartition activityPartition28 = UML.createActivityPartition();
+ assertValid(activityPartition28);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ activityPartition28.setRepresents(startObjectBehaviorAction);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ activityPartition28.setRepresents(profile);
+
+ ActivityPartition activityPartition29 = UML.createActivityPartition();
+ assertValid(activityPartition29);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ activityPartition29.setRepresents(message);
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ activityPartition29.setRepresents(continuation);
+
+ ActivityPartition activityPartition30 = UML.createActivityPartition();
+ assertValid(activityPartition30);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ activityPartition30.setRepresents(objectFlow);
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ activityPartition30.setRepresents(stateInvariant);
+
+ ActivityPartition activityPartition31 = UML.createActivityPartition();
+ assertValid(activityPartition31);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ activityPartition31.setRepresents(addStructuralFeatureValueAction);
+
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+ activityPartition31.setRepresents(connectorEnd);
+
+ ActivityPartition activityPartition32 = UML.createActivityPartition();
+ assertValid(activityPartition32);
+
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+ activityPartition32.setRepresents(linkEndCreationData);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ activityPartition32.setRepresents(connectableElementTemplateParameter);
+
+ ActivityPartition activityPartition33 = UML.createActivityPartition();
+ assertValid(activityPartition33);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ activityPartition33.setRepresents(templateBinding);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ activityPartition33.setRepresents(opaqueExpression);
+
+ ActivityPartition activityPartition34 = UML.createActivityPartition();
+ assertValid(activityPartition34);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ activityPartition34.setRepresents(timeEvent);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ activityPartition34.setRepresents(generalOrdering);
+
+ ActivityPartition activityPartition35 = UML.createActivityPartition();
+ assertValid(activityPartition35);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ activityPartition35.setRepresents(messageOccurrenceSpecification);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ activityPartition35.setRepresents(literalInteger);
+
+ ActivityPartition activityPartition36 = UML.createActivityPartition();
+ assertValid(activityPartition36);
+
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+ activityPartition36.setRepresents(slot);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ activityPartition36.setRepresents(centralBufferNode);
+
+ ActivityPartition activityPartition37 = UML.createActivityPartition();
+ assertValid(activityPartition37);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ activityPartition37.setRepresents(extension);
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ activityPartition37.setRepresents(extensionPoint);
+
+ ActivityPartition activityPartition38 = UML.createActivityPartition();
+ assertValid(activityPartition38);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ activityPartition38.setRepresents(elementImport);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ activityPartition38.setRepresents(dependency);
+
+ ActivityPartition activityPartition39 = UML.createActivityPartition();
+ assertValid(activityPartition39);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ activityPartition39.setRepresents(expression);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ activityPartition39.setRepresents(behaviorExecutionSpecification);
+
+ ActivityPartition activityPartition40 = UML.createActivityPartition();
+ assertValid(activityPartition40);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ activityPartition40.setRepresents(acceptCallAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ activityPartition40.setRepresents(readLinkObjectEndAction);
+
+ ActivityPartition activityPartition41 = UML.createActivityPartition();
+ assertValid(activityPartition41);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ activityPartition41.setRepresents(opaqueAction);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ activityPartition41.setRepresents(packageImport);
+
+ ActivityPartition activityPartition42 = UML.createActivityPartition();
+ assertValid(activityPartition42);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ activityPartition42.setRepresents(stringExpression);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ activityPartition42.setRepresents(mergeNode);
+
+ ActivityPartition activityPartition43 = UML.createActivityPartition();
+ assertValid(activityPartition43);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ activityPartition43.setRepresents(templateSignature);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ activityPartition43.setRepresents(changeEvent);
+
+ ActivityPartition activityPartition44 = UML.createActivityPartition();
+ assertValid(activityPartition44);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ activityPartition44.setRepresents(stereotype);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ activityPartition44.setRepresents(comment);
+
+ ActivityPartition activityPartition45 = UML.createActivityPartition();
+ assertValid(activityPartition45);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ activityPartition45.setRepresents(readSelfAction);
+
+ ActivityPartition activityPartition46 = UML.createActivityPartition();
+ assertValid(activityPartition46);
+ activityPartition45.setRepresents(activityPartition46);
+
+ ActivityPartition activityPartition47 = UML.createActivityPartition();
+ assertValid(activityPartition47);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ activityPartition47.setRepresents(manifestation);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ activityPartition47.setRepresents(interaction);
+
+ ActivityPartition activityPartition48 = UML.createActivityPartition();
+ assertValid(activityPartition48);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ activityPartition48.setRepresents(exceptionHandler);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ activityPartition48.setRepresents(opaqueBehavior);
+
+ ActivityPartition activityPartition49 = UML.createActivityPartition();
+ assertValid(activityPartition49);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ activityPartition49.setRepresents(literalUnlimitedNatural);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ activityPartition49.setRepresents(sendSignalAction);
+
+ ActivityPartition activityPartition50 = UML.createActivityPartition();
+ assertValid(activityPartition50);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ activityPartition50.setRepresents(operation);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ activityPartition50.setRepresents(clearAssociationAction);
+
+ ActivityPartition activityPartition51 = UML.createActivityPartition();
+ assertValid(activityPartition51);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ activityPartition51.setRepresents(parameter);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ activityPartition51.setRepresents(instanceValue);
+
+ ActivityPartition activityPartition52 = UML.createActivityPartition();
+ assertValid(activityPartition52);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ activityPartition52.setRepresents(interactionConstraint);
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ activityPartition52.setRepresents(interactionUse);
+
+ ActivityPartition activityPartition53 = UML.createActivityPartition();
+ assertValid(activityPartition53);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ activityPartition53.setRepresents(interval);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ activityPartition53.setRepresents(literalString);
+
+ ActivityPartition activityPartition54 = UML.createActivityPartition();
+ assertValid(activityPartition54);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ activityPartition54.setRepresents(valuePin);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ activityPartition54.setRepresents(interfaceRealization);
+
+ ActivityPartition activityPartition55 = UML.createActivityPartition();
+ assertValid(activityPartition55);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ activityPartition55.setRepresents(decisionNode);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ activityPartition55.setRepresents(actor);
+
+ ActivityPartition activityPartition56 = UML.createActivityPartition();
+ assertValid(activityPartition56);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ activityPartition56.setRepresents(generalization);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ activityPartition56.setRepresents(reception);
+
+ ActivityPartition activityPartition57 = UML.createActivityPartition();
+ assertValid(activityPartition57);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ activityPartition57.setRepresents(pseudostate);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ activityPartition57.setRepresents(durationInterval);
+
+ ActivityPartition activityPartition58 = UML.createActivityPartition();
+ assertValid(activityPartition58);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ activityPartition58.setRepresents(deployment);
+
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+ activityPartition58.setRepresents(qualifierValue);
+
+ ActivityPartition activityPartition59 = UML.createActivityPartition();
+ assertValid(activityPartition59);
+
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ activityPartition59.setRepresents(packageMerge);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ activityPartition59.setRepresents(conditionalNode);
+
+ ActivityPartition activityPartition60 = UML.createActivityPartition();
+ assertValid(activityPartition60);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ activityPartition60.setRepresents(signalEvent);
+
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+ activityPartition60.setRepresents(templateParameterSubstitution);
+
+ ActivityPartition activityPartition61 = UML.createActivityPartition();
+ assertValid(activityPartition61);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ activityPartition61.setRepresents(connectionPointReference);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ activityPartition61.setRepresents(reclassifyObjectAction);
+
+ ActivityPartition activityPartition62 = UML.createActivityPartition();
+ assertValid(activityPartition62);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ activityPartition62.setRepresents(usage);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ activityPartition62.setRepresents(dataStoreNode);
+
+ ActivityPartition activityPartition63 = UML.createActivityPartition();
+ assertValid(activityPartition63);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ activityPartition63.setRepresents(executionEnvironment);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ activityPartition63.setRepresents(realization);
+
+ ActivityPartition activityPartition64 = UML.createActivityPartition();
+ assertValid(activityPartition64);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ activityPartition64.setRepresents(testIdentityAction);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ activityPartition64.setRepresents(association);
+
+ ActivityPartition activityPartition65 = UML.createActivityPartition();
+ assertValid(activityPartition65);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ activityPartition65.setRepresents(outputPin);
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ activityPartition65.setRepresents(include);
+
+ ActivityPartition activityPartition66 = UML.createActivityPartition();
+ assertValid(activityPartition66);
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ activityPartition66.setRepresents(extend);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ activityPartition66.setRepresents(broadcastSignalAction);
+
+ ActivityPartition activityPartition67 = UML.createActivityPartition();
+ assertValid(activityPartition67);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ activityPartition67.setRepresents(finalState);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ activityPartition67.setRepresents(raiseExceptionAction);
+
+ ActivityPartition activityPartition68 = UML.createActivityPartition();
+ assertValid(activityPartition68);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ activityPartition68.setRepresents(activityFinalNode);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ activityPartition68.setRepresents(protocolStateMachine);
+
+ ActivityPartition activityPartition69 = UML.createActivityPartition();
+ assertValid(activityPartition69);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ activityPartition69.setRepresents(loopNode);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ activityPartition69.setRepresents(parameterSet);
+
+ ActivityPartition activityPartition70 = UML.createActivityPartition();
+ assertValid(activityPartition70);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ activityPartition70.setRepresents(valueSpecificationAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ activityPartition70.setRepresents(sequenceNode);
+
+ ActivityPartition activityPartition71 = UML.createActivityPartition();
+ assertValid(activityPartition71);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ activityPartition71.setRepresents(destroyObjectAction);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ activityPartition71.setRepresents(enumerationLiteral);
+
+ ActivityPartition activityPartition72 = UML.createActivityPartition();
+ assertValid(activityPartition72);
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ activityPartition72.setRepresents(actionExecutionSpecification);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ activityPartition72.setRepresents(functionBehavior);
+
+ ActivityPartition activityPartition73 = UML.createActivityPartition();
+ assertValid(activityPartition73);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ activityPartition73.setRepresents(instanceSpecification);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ activityPartition73.setRepresents(port);
+
+ ActivityPartition activityPartition74 = UML.createActivityPartition();
+ assertValid(activityPartition74);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ activityPartition74.setRepresents(informationItem);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ activityPartition74.setRepresents(literalReal);
+
+ ActivityPartition activityPartition75 = UML.createActivityPartition();
+ assertValid(activityPartition75);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ activityPartition75.setRepresents(duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ activityPartition75.setRepresents(package_);
+
+ ActivityPartition activityPartition76 = UML.createActivityPartition();
+ assertValid(activityPartition76);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ activityPartition76.setRepresents(destructionOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ activityPartition76.setRepresents(lifeline);
+
+ ActivityPartition activityPartition77 = UML.createActivityPartition();
+ assertValid(activityPartition77);
+
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ activityPartition77.setRepresents(profileApplication);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ activityPartition77.setRepresents(timeObservation);
+
+ ActivityPartition activityPartition78 = UML.createActivityPartition();
+ assertValid(activityPartition78);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ activityPartition78.setRepresents(replyAction);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ activityPartition78.setRepresents(gate);
+
+ ActivityPartition activityPartition79 = UML.createActivityPartition();
+ assertValid(activityPartition79);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ activityPartition79.setRepresents(timeExpression);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ activityPartition79.setRepresents(device);
+
+ ActivityPartition activityPartition80 = UML.createActivityPartition();
+ assertValid(activityPartition80);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ activityPartition80.setRepresents(flowFinalNode);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ activityPartition80.setRepresents(abstraction);
+
+ ActivityPartition activityPartition81 = UML.createActivityPartition();
+ assertValid(activityPartition81);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ activityPartition81.setRepresents(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ activityPartition81.setRepresents(primitiveType);
+
+ ActivityPartition activityPartition82 = UML.createActivityPartition();
+ assertValid(activityPartition82);
+
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+ activityPartition82.setRepresents(linkEndDestructionData);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ activityPartition82.setRepresents(generalizationSet);
+
+ ActivityPartition activityPartition83 = UML.createActivityPartition();
+ assertValid(activityPartition83);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ activityPartition83.setRepresents(signal);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ activityPartition83.setRepresents(callBehaviorAction);
+
+ ActivityPartition activityPartition84 = UML.createActivityPartition();
+ assertValid(activityPartition84);
+
+ Clause clause = UML.createClause();
+ assertValid(clause);
+ activityPartition84.setRepresents(clause);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ activityPartition84.setRepresents(readIsClassifiedObjectAction);
+
+ ActivityPartition activityPartition85 = UML.createActivityPartition();
+ assertValid(activityPartition85);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ activityPartition85.setRepresents(activityParameterNode);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ activityPartition85.setRepresents(readVariableAction);
+
+ ActivityPartition activityPartition86 = UML.createActivityPartition();
+ assertValid(activityPartition86);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ activityPartition86.setRepresents(interruptibleActivityRegion);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ activityPartition86.setRepresents(removeStructuralFeatureValueAction);
+
+ ActivityPartition activityPartition87 = UML.createActivityPartition();
+ assertValid(activityPartition87);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ activityPartition87.setRepresents(region);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ activityPartition87.setRepresents(transition);
+
+ ActivityPartition activityPartition88 = UML.createActivityPartition();
+ assertValid(activityPartition88);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ activityPartition88.setRepresents(anyReceiveEvent);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ activityPartition88.setRepresents(reduceAction);
+
+ ActivityPartition activityPartition89 = UML.createActivityPartition();
+ assertValid(activityPartition89);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ activityPartition89.setRepresents(acceptEventAction);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ activityPartition89.setRepresents(initialNode);
+
+ ActivityPartition activityPartition90 = UML.createActivityPartition();
+ assertValid(activityPartition90);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ activityPartition90.setRepresents(combinedFragment);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ activityPartition90.setRepresents(intervalConstraint);
+
+ ActivityPartition activityPartition91 = UML.createActivityPartition();
+ assertValid(activityPartition91);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ activityPartition91.setRepresents(occurrenceSpecification);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ activityPartition91.setRepresents(connector);
+
+ ActivityPartition activityPartition92 = UML.createActivityPartition();
+ assertValid(activityPartition92);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ activityPartition92.setRepresents(componentRealization);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ activityPartition92.setRepresents(class_);
+
+ ActivityPartition activityPartition93 = UML.createActivityPartition();
+ assertValid(activityPartition93);
+
+ State state = UML.createState();
+ assertValid(state);
+ activityPartition93.setRepresents(state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ activityPartition93.setRepresents(protocolTransition);
+
+ ActivityPartition activityPartition94 = UML.createActivityPartition();
+ assertValid(activityPartition94);
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ activityPartition94.setRepresents(operationTemplateParameter);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ activityPartition94.setRepresents(collaborationUse);
+
+ ActivityPartition activityPartition95 = UML.createActivityPartition();
+ assertValid(activityPartition95);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ activityPartition95.setRepresents(interactionOperand);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ activityPartition95.setRepresents(addVariableValueAction);
+
+ ActivityPartition activityPartition96 = UML.createActivityPartition();
+ assertValid(activityPartition96);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ activityPartition96.setRepresents(useCase);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ activityPartition96.setRepresents(unmarshallAction);
+
+ ActivityPartition activityPartition97 = UML.createActivityPartition();
+ assertValid(activityPartition97);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ activityPartition97.setRepresents(createObjectAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ activityPartition97.setRepresents(readStructuralFeatureAction);
+
+ ActivityPartition activityPartition98 = UML.createActivityPartition();
+ assertValid(activityPartition98);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ activityPartition98.setRepresents(collaboration);
+ }
+
+ public void testSubpartition() {
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+
+ ActivityPartition activityPartition2 = UML.createActivityPartition();
+ assertValid(activityPartition2);
+ activityPartition.getSubpartitions().add(activityPartition2);
+ assertSuperset(
+ activityPartition.getSubgroups().contains(activityPartition2));
+ }
+
+ public void testSuperPartition() {
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+
+ ActivityPartition activityPartition2 = UML.createActivityPartition();
+ assertValid(activityPartition2);
+ activityPartition.setSuperPartition(activityPartition2);
+ assertSuperset(activityPartition.getSuperGroup() == activityPartition2);
+ }
+
+ public void testEdge() {
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ activityPartition.getEdges().add(controlFlow);
+ assertSuperset(
+ activityPartition.getContainedEdges().contains(controlFlow));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ activityPartition.getEdges().add(objectFlow);
+ assertSuperset(
+ activityPartition.getContainedEdges().contains(objectFlow));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityTest.java
new file mode 100755
index 00000000..dd44f515
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActivityTest.java
@@ -0,0 +1,1513 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class ActivityTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ activity.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ activity.getOwnedComments().add(comment);
+ assertSuperset(activity.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<Element> elements = activity.getOwnedElements();
+ EList<Element> elements2 = activity.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<Dependency> dependencys = activity.getClientDependencies();
+ EList<Dependency> dependencys2 = activity.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ activity.setNameExpression(stringExpression);
+ assertSuperset(activity.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ activity.getOwnedRules().add(intervalConstraint);
+ assertSuperset(activity.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ activity.getOwnedRules().add(timeConstraint);
+ assertSuperset(activity.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ activity.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ activity.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ activity.getOwnedRules().add(constraint);
+ assertSuperset(activity.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ activity.getOwnedRules().add(durationConstraint);
+ assertSuperset(activity.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ activity.getElementImports().add(elementImport);
+ assertSuperset(activity.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ activity.getPackageImports().add(packageImport);
+ assertSuperset(activity.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<NamedElement> namedElements = activity.getOwnedMembers();
+ EList<NamedElement> namedElements2 = activity.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<PackageableElement> packageableElements = activity
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = activity
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<NamedElement> namedElements = activity.getMembers();
+ EList<NamedElement> namedElements2 = activity.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<RedefinableElement> redefinableElements = activity
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = activity
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<Classifier> classifiers = activity.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = activity.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ activity.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(activity.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ activity.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ activity.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ activity.getTemplateBindings().add(templateBinding);
+ assertSuperset(activity.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ activity.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(
+ activity.getOwnedElements().contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<Feature> features = activity.getFeatures();
+ EList<Feature> features2 = activity.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<Property> propertys = activity.getAttributes();
+ EList<Property> propertys2 = activity.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ activity.getCollaborationUses().add(collaborationUse);
+ assertSuperset(activity.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<Classifier> classifiers = activity.getGenerals();
+ EList<Classifier> classifiers2 = activity.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ activity.getGeneralizations().add(generalization);
+ assertSuperset(activity.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ activity.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<NamedElement> namedElements = activity.getInheritedMembers();
+ EList<NamedElement> namedElements2 = activity.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ activity.getOwnedUseCases().add(useCase);
+ assertSuperset(activity.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ activity.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ activity.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ activity.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity2 = UML.createActivity();
+ assertValid(activity2);
+ activity.getRedefinedClassifiers().add(activity2);
+ assertSuperset(activity.getRedefinedElements().contains(activity2));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ activity.getRedefinedClassifiers().add(interface_);
+ assertSuperset(activity.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ activity.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ activity.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ activity.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ activity.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ activity.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ activity.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ activity.getRedefinedClassifiers().add(component);
+ assertSuperset(activity.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ activity.getRedefinedClassifiers().add(interaction);
+ assertSuperset(activity.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ activity.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ activity.getRedefinedElements().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ activity.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ activity.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ activity.getRedefinedClassifiers().add(association);
+ assertSuperset(activity.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ activity.getRedefinedClassifiers().add(dataType);
+ assertSuperset(activity.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ activity.getRedefinedClassifiers().add(device);
+ assertSuperset(activity.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ activity.getRedefinedClassifiers().add(extension);
+ assertSuperset(activity.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ activity.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ activity.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ activity.getRedefinedClassifiers().add(class_);
+ assertSuperset(activity.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ activity.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(activity.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ activity.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(activity.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ activity.getRedefinedClassifiers().add(actor);
+ assertSuperset(activity.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ activity.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ activity.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ activity.getRedefinedClassifiers().add(useCase);
+ assertSuperset(activity.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ activity.getRedefinedClassifiers().add(signal);
+ assertSuperset(activity.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ activity.getRedefinedClassifiers().add(node);
+ assertSuperset(activity.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ activity.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(activity.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ activity.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(activity.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ activity.getRedefinedClassifiers().add(artifact);
+ assertSuperset(activity.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ activity.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(activity.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ activity.setRepresentation(collaborationUse);
+ assertSuperset(
+ activity.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ activity.getSubstitutions().add(substitution);
+ assertSuperset(activity.getOwnedElements().contains(substitution));
+ assertSuperset(activity.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ activity.getOwnedAttributes().add(port);
+ assertSuperset(activity.getAttributes().contains(port));
+ assertSuperset(activity.getOwnedMembers().contains(port));
+ assertSuperset(activity.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ activity.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(activity.getAttributes().contains(extensionEnd));
+ assertSuperset(activity.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(activity.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ activity.getOwnedAttributes().add(property);
+ assertSuperset(activity.getAttributes().contains(property));
+ assertSuperset(activity.getOwnedMembers().contains(property));
+ assertSuperset(activity.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ activity.getOwnedConnectors().add(connector);
+ assertSuperset(activity.getFeatures().contains(connector));
+ assertSuperset(activity.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<Property> propertys = activity.getParts();
+ EList<Property> propertys2 = activity.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<ConnectableElement> connectableElements = activity.getRoles();
+ EList<ConnectableElement> connectableElements2 = activity.getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testOwnedPort() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<Port> ports = activity.getOwnedPorts();
+ EList<Port> ports2 = activity.getOwnedPorts();
+ assertSame(ports, ports2);
+ }
+
+ public void testClassifierBehavior() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ activity.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(
+ activity.getOwnedBehaviors().contains(protocolStateMachine));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ activity.setClassifierBehavior(functionBehavior);
+ assertSuperset(activity.getOwnedBehaviors().contains(functionBehavior));
+
+ Activity activity2 = UML.createActivity();
+ assertValid(activity2);
+
+ Activity activity3 = UML.createActivity();
+ assertValid(activity3);
+ activity2.setClassifierBehavior(activity3);
+ assertSuperset(activity2.getOwnedBehaviors().contains(activity3));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ activity2.setClassifierBehavior(interaction);
+ assertSuperset(activity2.getOwnedBehaviors().contains(interaction));
+
+ Activity activity4 = UML.createActivity();
+ assertValid(activity4);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ activity4.setClassifierBehavior(opaqueBehavior);
+ assertSuperset(activity4.getOwnedBehaviors().contains(opaqueBehavior));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ activity4.setClassifierBehavior(stateMachine);
+ assertSuperset(activity4.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ activity.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(
+ activity.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(
+ activity.getClientDependencies().contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ activity.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(
+ activity.getOwnedMembers().contains(protocolStateMachine));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ activity.getOwnedBehaviors().add(functionBehavior);
+ assertSuperset(activity.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity2 = UML.createActivity();
+ assertValid(activity2);
+ activity.getOwnedBehaviors().add(activity2);
+ assertSuperset(activity.getOwnedMembers().contains(activity2));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ activity.getOwnedBehaviors().add(interaction);
+ assertSuperset(activity.getOwnedMembers().contains(interaction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ activity.getOwnedBehaviors().add(opaqueBehavior);
+ assertSuperset(activity.getOwnedMembers().contains(opaqueBehavior));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ activity.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(activity.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testOwnedOperation() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ activity.getOwnedOperations().add(operation);
+ assertSuperset(activity.getFeatures().contains(operation));
+ assertSuperset(activity.getOwnedMembers().contains(operation));
+ }
+
+ public void testExtension() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<Extension> extensions = activity.getExtensions();
+ EList<Extension> extensions2 = activity.getExtensions();
+ assertSame(extensions, extensions2);
+ }
+
+ public void testNestedClassifier() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ activity.getNestedClassifiers().add(functionBehavior);
+ assertSuperset(activity.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity2 = UML.createActivity();
+ assertValid(activity2);
+ activity.getNestedClassifiers().add(activity2);
+ assertSuperset(activity.getOwnedMembers().contains(activity2));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ activity.getNestedClassifiers().add(interface_);
+ assertSuperset(activity.getOwnedMembers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ activity.getNestedClassifiers().add(informationItem);
+ assertSuperset(activity.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ activity.getNestedClassifiers().add(communicationPath);
+ assertSuperset(activity.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ activity.getNestedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ activity.getOwnedMembers().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ activity.getNestedClassifiers().add(component);
+ assertSuperset(activity.getOwnedMembers().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ activity.getNestedClassifiers().add(interaction);
+ assertSuperset(activity.getOwnedMembers().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ activity.getNestedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ activity.getOwnedMembers().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ activity.getNestedClassifiers().add(opaqueBehavior);
+ assertSuperset(activity.getOwnedMembers().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ activity.getNestedClassifiers().add(association);
+ assertSuperset(activity.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ activity.getNestedClassifiers().add(dataType);
+ assertSuperset(activity.getOwnedMembers().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ activity.getNestedClassifiers().add(device);
+ assertSuperset(activity.getOwnedMembers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ activity.getNestedClassifiers().add(extension);
+ assertSuperset(activity.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ activity.getNestedClassifiers().add(associationClass);
+ assertSuperset(activity.getOwnedMembers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ activity.getNestedClassifiers().add(class_);
+ assertSuperset(activity.getOwnedMembers().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ activity.getNestedClassifiers().add(enumeration);
+ assertSuperset(activity.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ activity.getNestedClassifiers().add(primitiveType);
+ assertSuperset(activity.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ activity.getNestedClassifiers().add(actor);
+ assertSuperset(activity.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ activity.getNestedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ activity.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ activity.getNestedClassifiers().add(useCase);
+ assertSuperset(activity.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ activity.getNestedClassifiers().add(signal);
+ assertSuperset(activity.getOwnedMembers().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ activity.getNestedClassifiers().add(node);
+ assertSuperset(activity.getOwnedMembers().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ activity.getNestedClassifiers().add(stereotype);
+ assertSuperset(activity.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ activity.getNestedClassifiers().add(stateMachine);
+ assertSuperset(activity.getOwnedMembers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ activity.getNestedClassifiers().add(artifact);
+ assertSuperset(activity.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ activity.getNestedClassifiers().add(collaboration);
+ assertSuperset(activity.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedReception() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ activity.getOwnedReceptions().add(reception);
+ assertSuperset(activity.getFeatures().contains(reception));
+ assertSuperset(activity.getOwnedMembers().contains(reception));
+ }
+
+ public void testSuperClass() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<org.eclipse.uml2.uml.Class> class_s = activity.getSuperClasses();
+ EList<org.eclipse.uml2.uml.Class> class_s2 = activity.getSuperClasses();
+ assertSame(class_s, class_s2);
+ }
+
+ public void testSpecification() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ activity.setSpecification(reception);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ activity.setSpecification(operation);
+ }
+
+ public void testOwnedParameter() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ activity.getOwnedParameters().add(parameter);
+ assertSuperset(activity.getOwnedMembers().contains(parameter));
+ }
+
+ public void testOwnedParameterSet() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ activity.getOwnedParameterSets().add(parameterSet);
+ assertSuperset(activity.getOwnedMembers().contains(parameterSet));
+ }
+
+ public void testPostcondition() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ activity.getPostconditions().add(intervalConstraint);
+ assertSuperset(activity.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ activity.getPostconditions().add(timeConstraint);
+ assertSuperset(activity.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ activity.getPostconditions().add(interactionConstraint);
+ assertSuperset(
+ activity.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ activity.getPostconditions().add(constraint);
+ assertSuperset(activity.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ activity.getPostconditions().add(durationConstraint);
+ assertSuperset(activity.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testPrecondition() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ activity.getPreconditions().add(intervalConstraint);
+ assertSuperset(activity.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ activity.getPreconditions().add(timeConstraint);
+ assertSuperset(activity.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ activity.getPreconditions().add(interactionConstraint);
+ assertSuperset(
+ activity.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ activity.getPreconditions().add(constraint);
+ assertSuperset(activity.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ activity.getPreconditions().add(durationConstraint);
+ assertSuperset(activity.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testRedefinedBehavior() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ activity.getRedefinedBehaviors().add(protocolStateMachine);
+ assertSuperset(
+ activity.getRedefinedClassifiers().contains(protocolStateMachine));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ activity.getRedefinedBehaviors().add(functionBehavior);
+ assertSuperset(
+ activity.getRedefinedClassifiers().contains(functionBehavior));
+
+ Activity activity2 = UML.createActivity();
+ assertValid(activity2);
+ activity.getRedefinedBehaviors().add(activity2);
+ assertSuperset(activity.getRedefinedClassifiers().contains(activity2));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ activity.getRedefinedBehaviors().add(interaction);
+ assertSuperset(
+ activity.getRedefinedClassifiers().contains(interaction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ activity.getRedefinedBehaviors().add(opaqueBehavior);
+ assertSuperset(
+ activity.getRedefinedClassifiers().contains(opaqueBehavior));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ activity.getRedefinedBehaviors().add(stateMachine);
+ assertSuperset(
+ activity.getRedefinedClassifiers().contains(stateMachine));
+ }
+
+ public void testOwnedGroup() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ activity.getOwnedGroups().add(loopNode);
+ assertSuperset(activity.getGroups().contains(loopNode));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ activity.getOwnedGroups().add(interruptibleActivityRegion);
+ assertSuperset(
+ activity.getGroups().contains(interruptibleActivityRegion));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ activity.getOwnedGroups().add(expansionRegion);
+ assertSuperset(activity.getGroups().contains(expansionRegion));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ activity.getOwnedGroups().add(sequenceNode);
+ assertSuperset(activity.getGroups().contains(sequenceNode));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ activity.getOwnedGroups().add(activityPartition);
+ assertSuperset(activity.getGroups().contains(activityPartition));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ activity.getOwnedGroups().add(structuredActivityNode);
+ assertSuperset(activity.getGroups().contains(structuredActivityNode));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ activity.getOwnedGroups().add(conditionalNode);
+ assertSuperset(activity.getGroups().contains(conditionalNode));
+ }
+
+ public void testEdge() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ activity.getEdges().add(controlFlow);
+ assertSuperset(activity.getOwnedElements().contains(controlFlow));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ activity.getEdges().add(objectFlow);
+ assertSuperset(activity.getOwnedElements().contains(objectFlow));
+ }
+
+ public void testNode() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<ActivityNode> activityNodes = activity.getNodes();
+ EList<ActivityNode> activityNodes2 = activity.getNodes();
+ assertSame(activityNodes, activityNodes2);
+ }
+
+ public void testVariable() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ activity.getVariables().add(variable);
+ assertSuperset(activity.getOwnedMembers().contains(variable));
+ }
+
+ public void testGroup() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ EList<ActivityGroup> activityGroups = activity.getGroups();
+ EList<ActivityGroup> activityGroups2 = activity.getGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testOwnedNode() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ activity.getOwnedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(
+ activity.getNodes().contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ activity.getOwnedNodes().add(removeVariableValueAction);
+ assertSuperset(activity.getNodes().contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ activity.getOwnedNodes().add(readSelfAction);
+ assertSuperset(activity.getNodes().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ activity.getOwnedNodes().add(inputPin);
+ assertSuperset(activity.getNodes().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ activity.getOwnedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(
+ activity.getNodes().contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ activity.getOwnedNodes().add(joinNode);
+ assertSuperset(activity.getNodes().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ activity.getOwnedNodes().add(createLinkObjectAction);
+ assertSuperset(activity.getNodes().contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ activity.getOwnedNodes().add(sendSignalAction);
+ assertSuperset(activity.getNodes().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ activity.getOwnedNodes().add(readLinkAction);
+ assertSuperset(activity.getNodes().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ activity.getOwnedNodes().add(replyAction);
+ assertSuperset(activity.getNodes().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ activity.getOwnedNodes().add(clearAssociationAction);
+ assertSuperset(activity.getNodes().contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ activity.getOwnedNodes().add(flowFinalNode);
+ assertSuperset(activity.getNodes().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ activity.getOwnedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(
+ activity.getNodes().contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ activity.getOwnedNodes().add(expansionRegion);
+ assertSuperset(activity.getNodes().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ activity.getOwnedNodes().add(structuredActivityNode);
+ assertSuperset(activity.getNodes().contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ activity.getOwnedNodes().add(valuePin);
+ assertSuperset(activity.getNodes().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ activity.getOwnedNodes().add(startObjectBehaviorAction);
+ assertSuperset(activity.getNodes().contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ activity.getOwnedNodes().add(forkNode);
+ assertSuperset(activity.getNodes().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ activity.getOwnedNodes().add(decisionNode);
+ assertSuperset(activity.getNodes().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ activity.getOwnedNodes().add(callBehaviorAction);
+ assertSuperset(activity.getNodes().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ activity.getOwnedNodes().add(conditionalNode);
+ assertSuperset(activity.getNodes().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ activity.getOwnedNodes().add(readExtentAction);
+ assertSuperset(activity.getNodes().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ activity.getOwnedNodes().add(actionInputPin);
+ assertSuperset(activity.getNodes().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ activity.getOwnedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ activity.getNodes().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ activity.getOwnedNodes().add(activityParameterNode);
+ assertSuperset(activity.getNodes().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ activity.getOwnedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(
+ activity.getNodes().contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ activity.getOwnedNodes().add(readVariableAction);
+ assertSuperset(activity.getNodes().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ activity.getOwnedNodes().add(clearVariableAction);
+ assertSuperset(activity.getNodes().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ activity.getOwnedNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(
+ activity.getNodes().contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ activity.getOwnedNodes().add(createLinkAction);
+ assertSuperset(activity.getNodes().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ activity.getOwnedNodes().add(reclassifyObjectAction);
+ assertSuperset(activity.getNodes().contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ activity.getOwnedNodes().add(dataStoreNode);
+ assertSuperset(activity.getNodes().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ activity.getOwnedNodes().add(sendObjectAction);
+ assertSuperset(activity.getNodes().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ activity.getOwnedNodes().add(reduceAction);
+ assertSuperset(activity.getNodes().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ activity.getOwnedNodes().add(acceptEventAction);
+ assertSuperset(activity.getNodes().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ activity.getOwnedNodes().add(destroyLinkAction);
+ assertSuperset(activity.getNodes().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ activity.getOwnedNodes().add(expansionNode);
+ assertSuperset(activity.getNodes().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ activity.getOwnedNodes().add(initialNode);
+ assertSuperset(activity.getNodes().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ activity.getOwnedNodes().add(testIdentityAction);
+ assertSuperset(activity.getNodes().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ activity.getOwnedNodes().add(outputPin);
+ assertSuperset(activity.getNodes().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ activity.getOwnedNodes().add(centralBufferNode);
+ assertSuperset(activity.getNodes().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ activity.getOwnedNodes().add(broadcastSignalAction);
+ assertSuperset(activity.getNodes().contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ activity.getOwnedNodes().add(raiseExceptionAction);
+ assertSuperset(activity.getNodes().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ activity.getOwnedNodes().add(activityFinalNode);
+ assertSuperset(activity.getNodes().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ activity.getOwnedNodes().add(callOperationAction);
+ assertSuperset(activity.getNodes().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ activity.getOwnedNodes().add(loopNode);
+ assertSuperset(activity.getNodes().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ activity.getOwnedNodes().add(valueSpecificationAction);
+ assertSuperset(activity.getNodes().contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ activity.getOwnedNodes().add(acceptCallAction);
+ assertSuperset(activity.getNodes().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ activity.getOwnedNodes().add(addVariableValueAction);
+ assertSuperset(activity.getNodes().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ activity.getOwnedNodes().add(readLinkObjectEndAction);
+ assertSuperset(activity.getNodes().contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ activity.getOwnedNodes().add(unmarshallAction);
+ assertSuperset(activity.getNodes().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ activity.getOwnedNodes().add(opaqueAction);
+ assertSuperset(activity.getNodes().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ activity.getOwnedNodes().add(mergeNode);
+ assertSuperset(activity.getNodes().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ activity.getOwnedNodes().add(sequenceNode);
+ assertSuperset(activity.getNodes().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ activity.getOwnedNodes().add(createObjectAction);
+ assertSuperset(activity.getNodes().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ activity.getOwnedNodes().add(destroyObjectAction);
+ assertSuperset(activity.getNodes().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ activity.getOwnedNodes().add(readStructuralFeatureAction);
+ assertSuperset(
+ activity.getNodes().contains(readStructuralFeatureAction));
+ }
+
+ public void testPartition() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ activity.getPartitions().add(activityPartition);
+ assertSuperset(activity.getGroups().contains(activityPartition));
+ assertSuperset(activity.getOwnedGroups().contains(activityPartition));
+ }
+
+ public void testStructuredNode() {
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ activity.getStructuredNodes().add(loopNode);
+ assertSuperset(activity.getGroups().contains(loopNode));
+ assertSuperset(activity.getNodes().contains(loopNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ activity.getStructuredNodes().add(expansionRegion);
+ assertSuperset(activity.getGroups().contains(expansionRegion));
+ assertSuperset(activity.getNodes().contains(expansionRegion));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ activity.getStructuredNodes().add(sequenceNode);
+ assertSuperset(activity.getGroups().contains(sequenceNode));
+ assertSuperset(activity.getNodes().contains(sequenceNode));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ activity.getStructuredNodes().add(structuredActivityNode);
+ assertSuperset(activity.getGroups().contains(structuredActivityNode));
+ assertSuperset(activity.getNodes().contains(structuredActivityNode));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ activity.getStructuredNodes().add(conditionalNode);
+ assertSuperset(activity.getGroups().contains(conditionalNode));
+ assertSuperset(activity.getNodes().contains(conditionalNode));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActorTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActorTest.java
new file mode 100755
index 00000000..e38f84d1
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ActorTest.java
@@ -0,0 +1,554 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ActorTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ actor.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ actor.getOwnedComments().add(comment);
+ assertSuperset(actor.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ EList<Element> elements = actor.getOwnedElements();
+ EList<Element> elements2 = actor.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ EList<Dependency> dependencys = actor.getClientDependencies();
+ EList<Dependency> dependencys2 = actor.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ actor.setNameExpression(stringExpression);
+ assertSuperset(actor.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ actor.getOwnedRules().add(intervalConstraint);
+ assertSuperset(actor.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ actor.getOwnedRules().add(timeConstraint);
+ assertSuperset(actor.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ actor.getOwnedRules().add(interactionConstraint);
+ assertSuperset(actor.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ actor.getOwnedRules().add(constraint);
+ assertSuperset(actor.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ actor.getOwnedRules().add(durationConstraint);
+ assertSuperset(actor.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ actor.getElementImports().add(elementImport);
+ assertSuperset(actor.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ actor.getPackageImports().add(packageImport);
+ assertSuperset(actor.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ EList<NamedElement> namedElements = actor.getOwnedMembers();
+ EList<NamedElement> namedElements2 = actor.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ EList<PackageableElement> packageableElements = actor
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = actor
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ EList<NamedElement> namedElements = actor.getMembers();
+ EList<NamedElement> namedElements2 = actor.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ EList<RedefinableElement> redefinableElements = actor
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = actor
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ EList<Classifier> classifiers = actor.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = actor.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ actor.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(actor.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ actor.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ actor.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ actor.getTemplateBindings().add(templateBinding);
+ assertSuperset(actor.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ actor.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(
+ actor.getOwnedElements().contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ EList<Feature> features = actor.getFeatures();
+ EList<Feature> features2 = actor.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ EList<Property> propertys = actor.getAttributes();
+ EList<Property> propertys2 = actor.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ actor.getCollaborationUses().add(collaborationUse);
+ assertSuperset(actor.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ EList<Classifier> classifiers = actor.getGenerals();
+ EList<Classifier> classifiers2 = actor.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ actor.getGeneralizations().add(generalization);
+ assertSuperset(actor.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ actor.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ EList<NamedElement> namedElements = actor.getInheritedMembers();
+ EList<NamedElement> namedElements2 = actor.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ actor.getOwnedUseCases().add(useCase);
+ assertSuperset(actor.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ actor.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ actor.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(actor.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ actor.getRedefinedClassifiers().add(activity);
+ assertSuperset(actor.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ actor.getRedefinedClassifiers().add(interface_);
+ assertSuperset(actor.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ actor.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(actor.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ actor.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ actor.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ actor.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ actor.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ actor.getRedefinedClassifiers().add(component);
+ assertSuperset(actor.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ actor.getRedefinedClassifiers().add(interaction);
+ assertSuperset(actor.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ actor.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ actor.getRedefinedElements().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ actor.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(actor.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ actor.getRedefinedClassifiers().add(association);
+ assertSuperset(actor.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ actor.getRedefinedClassifiers().add(dataType);
+ assertSuperset(actor.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ actor.getRedefinedClassifiers().add(device);
+ assertSuperset(actor.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ actor.getRedefinedClassifiers().add(extension);
+ assertSuperset(actor.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ actor.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(actor.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ actor.getRedefinedClassifiers().add(class_);
+ assertSuperset(actor.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ actor.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(actor.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ actor.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(actor.getRedefinedElements().contains(primitiveType));
+
+ Actor actor2 = UML.createActor();
+ assertValid(actor2);
+ actor.getRedefinedClassifiers().add(actor2);
+ assertSuperset(actor.getRedefinedElements().contains(actor2));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ actor.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ actor.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ actor.getRedefinedClassifiers().add(useCase);
+ assertSuperset(actor.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ actor.getRedefinedClassifiers().add(signal);
+ assertSuperset(actor.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ actor.getRedefinedClassifiers().add(node);
+ assertSuperset(actor.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ actor.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(actor.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ actor.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(actor.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ actor.getRedefinedClassifiers().add(artifact);
+ assertSuperset(actor.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ actor.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(actor.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ actor.setRepresentation(collaborationUse);
+ assertSuperset(actor.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ actor.getSubstitutions().add(substitution);
+ assertSuperset(actor.getOwnedElements().contains(substitution));
+ assertSuperset(actor.getClientDependencies().contains(substitution));
+ }
+
+ public void testClassifierBehavior() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ actor.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(
+ actor.getOwnedBehaviors().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ actor.setClassifierBehavior(stateMachine);
+ assertSuperset(actor.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ actor.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(actor.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(
+ actor.getClientDependencies().contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ Actor actor = UML.createActor();
+ assertValid(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ actor.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(actor.getOwnedMembers().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ actor.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(actor.getOwnedMembers().contains(stateMachine));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AddStructuralFeatureValueActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AddStructuralFeatureValueActionTest.java
new file mode 100755
index 00000000..15418bc0
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AddStructuralFeatureValueActionTest.java
@@ -0,0 +1,942 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class AddStructuralFeatureValueActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ addStructuralFeatureValueAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ addStructuralFeatureValueAction.getOwnedComments().add(comment);
+ assertSuperset(addStructuralFeatureValueAction.getOwnedElements()
+ .contains(comment));
+ }
+
+ public void testOwnedElement() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ EList<Element> elements = addStructuralFeatureValueAction
+ .getOwnedElements();
+ EList<Element> elements2 = addStructuralFeatureValueAction
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ EList<Dependency> dependencys = addStructuralFeatureValueAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = addStructuralFeatureValueAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ addStructuralFeatureValueAction.setNameExpression(stringExpression);
+ assertSuperset(addStructuralFeatureValueAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ EList<RedefinableElement> redefinableElements = addStructuralFeatureValueAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = addStructuralFeatureValueAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ EList<Classifier> classifiers = addStructuralFeatureValueAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = addStructuralFeatureValueAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ EList<ActivityGroup> activityGroups = addStructuralFeatureValueAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = addStructuralFeatureValueAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ addStructuralFeatureValueAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(addStructuralFeatureValueAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ addStructuralFeatureValueAction.setInStructuredNode(loopNode);
+ assertSuperset(
+ addStructuralFeatureValueAction.getInGroups().contains(loopNode));
+ assertSuperset(addStructuralFeatureValueAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ addStructuralFeatureValueAction.setInStructuredNode(expansionRegion);
+ assertSuperset(addStructuralFeatureValueAction.getInGroups()
+ .contains(expansionRegion));
+ assertSuperset(
+ addStructuralFeatureValueAction.getOwner() == expansionRegion);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction2 = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ addStructuralFeatureValueAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(addStructuralFeatureValueAction2.getInGroups()
+ .contains(sequenceNode));
+ assertSuperset(
+ addStructuralFeatureValueAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ addStructuralFeatureValueAction2
+ .setInStructuredNode(structuredActivityNode);
+ assertSuperset(addStructuralFeatureValueAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(addStructuralFeatureValueAction2
+ .getOwner() == structuredActivityNode);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction3 = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ addStructuralFeatureValueAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(addStructuralFeatureValueAction3.getInGroups()
+ .contains(conditionalNode));
+ assertSuperset(
+ addStructuralFeatureValueAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ addStructuralFeatureValueAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ addStructuralFeatureValueAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ addStructuralFeatureValueAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ addStructuralFeatureValueAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(createLinkObjectAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(sendSignalAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(clearAssociationAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(expansionRegion);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(structuredActivityNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(callBehaviorAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(conditionalNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readExtentAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(activityParameterNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction2 = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction2);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction2);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction2));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readVariableAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(clearVariableAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(createLinkAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(reclassifyObjectAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(sendObjectAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(acceptEventAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(destroyLinkAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(testIdentityAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(centralBufferNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(broadcastSignalAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(raiseExceptionAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(activityFinalNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(callOperationAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(acceptCallAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(addVariableValueAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readLinkObjectEndAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(unmarshallAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ addStructuralFeatureValueAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(createObjectAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(destroyObjectAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ addStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(addStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ addStructuralFeatureValueAction.getInPartitions()
+ .add(activityPartition);
+ assertSuperset(addStructuralFeatureValueAction.getInGroups()
+ .contains(activityPartition));
+ }
+
+ public void testHandler() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ addStructuralFeatureValueAction.getHandlers().add(exceptionHandler);
+ assertSuperset(addStructuralFeatureValueAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ EList<InputPin> inputPins = addStructuralFeatureValueAction.getInputs();
+ EList<InputPin> inputPins2 = addStructuralFeatureValueAction
+ .getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ addStructuralFeatureValueAction.getLocalPostconditions()
+ .add(intervalConstraint);
+ assertSuperset(addStructuralFeatureValueAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ addStructuralFeatureValueAction.getLocalPostconditions()
+ .add(timeConstraint);
+ assertSuperset(addStructuralFeatureValueAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ addStructuralFeatureValueAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(addStructuralFeatureValueAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ addStructuralFeatureValueAction.getLocalPostconditions()
+ .add(constraint);
+ assertSuperset(addStructuralFeatureValueAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ addStructuralFeatureValueAction.getLocalPostconditions()
+ .add(durationConstraint);
+ assertSuperset(addStructuralFeatureValueAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ addStructuralFeatureValueAction.getLocalPreconditions()
+ .add(intervalConstraint);
+ assertSuperset(addStructuralFeatureValueAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ addStructuralFeatureValueAction.getLocalPreconditions()
+ .add(timeConstraint);
+ assertSuperset(addStructuralFeatureValueAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ addStructuralFeatureValueAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(addStructuralFeatureValueAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ addStructuralFeatureValueAction.getLocalPreconditions().add(constraint);
+ assertSuperset(addStructuralFeatureValueAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ addStructuralFeatureValueAction.getLocalPreconditions()
+ .add(durationConstraint);
+ assertSuperset(addStructuralFeatureValueAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ EList<OutputPin> outputPins = addStructuralFeatureValueAction
+ .getOutputs();
+ EList<OutputPin> outputPins2 = addStructuralFeatureValueAction
+ .getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testObject() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ addStructuralFeatureValueAction.setObject(inputPin);
+ assertSuperset(
+ addStructuralFeatureValueAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ addStructuralFeatureValueAction.setObject(valuePin);
+ assertSuperset(
+ addStructuralFeatureValueAction.getInputs().contains(valuePin));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction2 = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ addStructuralFeatureValueAction2.setObject(actionInputPin);
+ assertSuperset(addStructuralFeatureValueAction2.getInputs()
+ .contains(actionInputPin));
+ }
+
+ public void testStructuralFeature() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ addStructuralFeatureValueAction.setStructuralFeature(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ addStructuralFeatureValueAction.setStructuralFeature(extensionEnd);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction2 = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ addStructuralFeatureValueAction2.setStructuralFeature(property);
+ }
+
+ public void testResult() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ addStructuralFeatureValueAction.setResult(outputPin);
+ assertSuperset(
+ addStructuralFeatureValueAction.getOutputs().contains(outputPin));
+ }
+
+ public void testValue() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ addStructuralFeatureValueAction.setValue(inputPin);
+ assertSuperset(
+ addStructuralFeatureValueAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ addStructuralFeatureValueAction.setValue(valuePin);
+ assertSuperset(
+ addStructuralFeatureValueAction.getInputs().contains(valuePin));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction2 = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ addStructuralFeatureValueAction2.setValue(actionInputPin);
+ assertSuperset(addStructuralFeatureValueAction2.getInputs()
+ .contains(actionInputPin));
+ }
+
+ public void testInsertAt() {
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ addStructuralFeatureValueAction.setInsertAt(inputPin);
+ assertSuperset(
+ addStructuralFeatureValueAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ addStructuralFeatureValueAction.setInsertAt(valuePin);
+ assertSuperset(
+ addStructuralFeatureValueAction.getInputs().contains(valuePin));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction2 = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ addStructuralFeatureValueAction2.setInsertAt(actionInputPin);
+ assertSuperset(addStructuralFeatureValueAction2.getInputs()
+ .contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AddVariableValueActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AddVariableValueActionTest.java
new file mode 100755
index 00000000..cce2f71e
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AddVariableValueActionTest.java
@@ -0,0 +1,838 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class AddVariableValueActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ addVariableValueAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ addVariableValueAction.getOwnedComments().add(comment);
+ assertSuperset(
+ addVariableValueAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ EList<Element> elements = addVariableValueAction.getOwnedElements();
+ EList<Element> elements2 = addVariableValueAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ EList<Dependency> dependencys = addVariableValueAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = addVariableValueAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ addVariableValueAction.setNameExpression(stringExpression);
+ assertSuperset(addVariableValueAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ EList<RedefinableElement> redefinableElements = addVariableValueAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = addVariableValueAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ EList<Classifier> classifiers = addVariableValueAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = addVariableValueAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ EList<ActivityGroup> activityGroups = addVariableValueAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = addVariableValueAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ addVariableValueAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(addVariableValueAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ addVariableValueAction.setInStructuredNode(loopNode);
+ assertSuperset(addVariableValueAction.getInGroups().contains(loopNode));
+ assertSuperset(addVariableValueAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ addVariableValueAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ addVariableValueAction.getInGroups().contains(expansionRegion));
+ assertSuperset(addVariableValueAction.getOwner() == expansionRegion);
+
+ AddVariableValueAction addVariableValueAction2 = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ addVariableValueAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ addVariableValueAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(addVariableValueAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ addVariableValueAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(addVariableValueAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ addVariableValueAction2.getOwner() == structuredActivityNode);
+
+ AddVariableValueAction addVariableValueAction3 = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ addVariableValueAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ addVariableValueAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(addVariableValueAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ addVariableValueAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ addVariableValueAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ addVariableValueAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ addVariableValueAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ addVariableValueAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ addVariableValueAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ addVariableValueAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ addVariableValueAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ addVariableValueAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ addVariableValueAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ addVariableValueAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ addVariableValueAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ addVariableValueAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ addVariableValueAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ addVariableValueAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ addVariableValueAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ addVariableValueAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ addVariableValueAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ addVariableValueAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ addVariableValueAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ addVariableValueAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ addVariableValueAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ addVariableValueAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ addVariableValueAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ addVariableValueAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ addVariableValueAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ addVariableValueAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ addVariableValueAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ addVariableValueAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ addVariableValueAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ addVariableValueAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ addVariableValueAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ addVariableValueAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ addVariableValueAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ addVariableValueAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ addVariableValueAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ addVariableValueAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ addVariableValueAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ addVariableValueAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ addVariableValueAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ addVariableValueAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ addVariableValueAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ addVariableValueAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ addVariableValueAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ addVariableValueAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ addVariableValueAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ addVariableValueAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ addVariableValueAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ addVariableValueAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ addVariableValueAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ addVariableValueAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ addVariableValueAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ addVariableValueAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ addVariableValueAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ addVariableValueAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ addVariableValueAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ addVariableValueAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ addVariableValueAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction2 = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction2);
+ addVariableValueAction.getRedefinedNodes().add(addVariableValueAction2);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(addVariableValueAction2));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ addVariableValueAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ addVariableValueAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ addVariableValueAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ addVariableValueAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ addVariableValueAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ addVariableValueAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ addVariableValueAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ addVariableValueAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ addVariableValueAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(addVariableValueAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ addVariableValueAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ addVariableValueAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ addVariableValueAction.getHandlers().add(exceptionHandler);
+ assertSuperset(addVariableValueAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ EList<InputPin> inputPins = addVariableValueAction.getInputs();
+ EList<InputPin> inputPins2 = addVariableValueAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ addVariableValueAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(addVariableValueAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ addVariableValueAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ addVariableValueAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ addVariableValueAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(addVariableValueAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ addVariableValueAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ addVariableValueAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ addVariableValueAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(addVariableValueAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ addVariableValueAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(addVariableValueAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ addVariableValueAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ addVariableValueAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ addVariableValueAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(addVariableValueAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ addVariableValueAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ addVariableValueAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ addVariableValueAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(addVariableValueAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ EList<OutputPin> outputPins = addVariableValueAction.getOutputs();
+ EList<OutputPin> outputPins2 = addVariableValueAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testVariable() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ addVariableValueAction.setVariable(variable);
+ }
+
+ public void testValue() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ addVariableValueAction.setValue(inputPin);
+ assertSuperset(addVariableValueAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ addVariableValueAction.setValue(valuePin);
+ assertSuperset(addVariableValueAction.getInputs().contains(valuePin));
+
+ AddVariableValueAction addVariableValueAction2 = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ addVariableValueAction2.setValue(actionInputPin);
+ assertSuperset(
+ addVariableValueAction2.getInputs().contains(actionInputPin));
+ }
+
+ public void testInsertAt() {
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ addVariableValueAction.setInsertAt(inputPin);
+ assertSuperset(addVariableValueAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ addVariableValueAction.setInsertAt(valuePin);
+ assertSuperset(addVariableValueAction.getInputs().contains(valuePin));
+
+ AddVariableValueAction addVariableValueAction2 = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ addVariableValueAction2.setInsertAt(actionInputPin);
+ assertSuperset(
+ addVariableValueAction2.getInputs().contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AnyReceiveEventTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AnyReceiveEventTest.java
new file mode 100755
index 00000000..a882d099
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AnyReceiveEventTest.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+
+/**
+ * @author Eike Stepper
+ */
+public class AnyReceiveEventTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ anyReceiveEvent.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ anyReceiveEvent.getOwnedComments().add(comment);
+ assertSuperset(anyReceiveEvent.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ EList<Element> elements = anyReceiveEvent.getOwnedElements();
+ EList<Element> elements2 = anyReceiveEvent.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ EList<Dependency> dependencys = anyReceiveEvent.getClientDependencies();
+ EList<Dependency> dependencys2 = anyReceiveEvent
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ anyReceiveEvent.setNameExpression(stringExpression);
+ assertSuperset(
+ anyReceiveEvent.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ anyReceiveEvent.setOwningTemplateParameter(templateParameter);
+ assertSuperset(anyReceiveEvent.getOwner() == templateParameter);
+ assertSuperset(
+ anyReceiveEvent.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ anyReceiveEvent.setTemplateParameter(templateParameter);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ArtifactTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ArtifactTest.java
new file mode 100755
index 00000000..8d73c3a6
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ArtifactTest.java
@@ -0,0 +1,578 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ArtifactTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ artifact.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ artifact.getOwnedComments().add(comment);
+ assertSuperset(artifact.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ EList<Element> elements = artifact.getOwnedElements();
+ EList<Element> elements2 = artifact.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ EList<Dependency> dependencys = artifact.getClientDependencies();
+ EList<Dependency> dependencys2 = artifact.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ artifact.setNameExpression(stringExpression);
+ assertSuperset(artifact.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ artifact.getOwnedRules().add(intervalConstraint);
+ assertSuperset(artifact.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ artifact.getOwnedRules().add(timeConstraint);
+ assertSuperset(artifact.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ artifact.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ artifact.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ artifact.getOwnedRules().add(constraint);
+ assertSuperset(artifact.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ artifact.getOwnedRules().add(durationConstraint);
+ assertSuperset(artifact.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ artifact.getElementImports().add(elementImport);
+ assertSuperset(artifact.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ artifact.getPackageImports().add(packageImport);
+ assertSuperset(artifact.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ EList<NamedElement> namedElements = artifact.getOwnedMembers();
+ EList<NamedElement> namedElements2 = artifact.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ EList<PackageableElement> packageableElements = artifact
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = artifact
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ EList<NamedElement> namedElements = artifact.getMembers();
+ EList<NamedElement> namedElements2 = artifact.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ EList<RedefinableElement> redefinableElements = artifact
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = artifact
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ EList<Classifier> classifiers = artifact.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = artifact.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ artifact.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(artifact.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ artifact.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ artifact.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ artifact.getTemplateBindings().add(templateBinding);
+ assertSuperset(artifact.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ artifact.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(
+ artifact.getOwnedElements().contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ EList<Feature> features = artifact.getFeatures();
+ EList<Feature> features2 = artifact.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ EList<Property> propertys = artifact.getAttributes();
+ EList<Property> propertys2 = artifact.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ artifact.getCollaborationUses().add(collaborationUse);
+ assertSuperset(artifact.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ EList<Classifier> classifiers = artifact.getGenerals();
+ EList<Classifier> classifiers2 = artifact.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ artifact.getGeneralizations().add(generalization);
+ assertSuperset(artifact.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ artifact.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ EList<NamedElement> namedElements = artifact.getInheritedMembers();
+ EList<NamedElement> namedElements2 = artifact.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ artifact.getOwnedUseCases().add(useCase);
+ assertSuperset(artifact.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ artifact.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ artifact.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ artifact.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ artifact.getRedefinedClassifiers().add(activity);
+ assertSuperset(artifact.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ artifact.getRedefinedClassifiers().add(interface_);
+ assertSuperset(artifact.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ artifact.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ artifact.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ artifact.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ artifact.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ artifact.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ artifact.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ artifact.getRedefinedClassifiers().add(component);
+ assertSuperset(artifact.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ artifact.getRedefinedClassifiers().add(interaction);
+ assertSuperset(artifact.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ artifact.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ artifact.getRedefinedElements().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ artifact.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ artifact.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ artifact.getRedefinedClassifiers().add(association);
+ assertSuperset(artifact.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ artifact.getRedefinedClassifiers().add(dataType);
+ assertSuperset(artifact.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ artifact.getRedefinedClassifiers().add(device);
+ assertSuperset(artifact.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ artifact.getRedefinedClassifiers().add(extension);
+ assertSuperset(artifact.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ artifact.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ artifact.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ artifact.getRedefinedClassifiers().add(class_);
+ assertSuperset(artifact.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ artifact.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(artifact.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ artifact.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(artifact.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ artifact.getRedefinedClassifiers().add(actor);
+ assertSuperset(artifact.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ artifact.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ artifact.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ artifact.getRedefinedClassifiers().add(useCase);
+ assertSuperset(artifact.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ artifact.getRedefinedClassifiers().add(signal);
+ assertSuperset(artifact.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ artifact.getRedefinedClassifiers().add(node);
+ assertSuperset(artifact.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ artifact.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(artifact.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ artifact.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(artifact.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact2 = UML.createArtifact();
+ assertValid(artifact2);
+ artifact.getRedefinedClassifiers().add(artifact2);
+ assertSuperset(artifact.getRedefinedElements().contains(artifact2));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ artifact.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(artifact.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ artifact.setRepresentation(collaborationUse);
+ assertSuperset(
+ artifact.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ artifact.getSubstitutions().add(substitution);
+ assertSuperset(artifact.getOwnedElements().contains(substitution));
+ assertSuperset(artifact.getClientDependencies().contains(substitution));
+ }
+
+ public void testManifestation() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ artifact.getManifestations().add(manifestation);
+ assertSuperset(artifact.getOwnedElements().contains(manifestation));
+ }
+
+ public void testNestedArtifact() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ artifact.getNestedArtifacts().add(deploymentSpecification);
+ assertSuperset(
+ artifact.getOwnedMembers().contains(deploymentSpecification));
+
+ Artifact artifact2 = UML.createArtifact();
+ assertValid(artifact2);
+ artifact.getNestedArtifacts().add(artifact2);
+ assertSuperset(artifact.getOwnedMembers().contains(artifact2));
+ }
+
+ public void testOwnedAttribute() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ artifact.getOwnedAttributes().add(port);
+ assertSuperset(artifact.getAttributes().contains(port));
+ assertSuperset(artifact.getOwnedMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ artifact.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(artifact.getAttributes().contains(extensionEnd));
+ assertSuperset(artifact.getOwnedMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ artifact.getOwnedAttributes().add(property);
+ assertSuperset(artifact.getAttributes().contains(property));
+ assertSuperset(artifact.getOwnedMembers().contains(property));
+ }
+
+ public void testOwnedOperation() {
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ artifact.getOwnedOperations().add(operation);
+ assertSuperset(artifact.getFeatures().contains(operation));
+ assertSuperset(artifact.getOwnedMembers().contains(operation));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AssociationClassTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AssociationClassTest.java
new file mode 100755
index 00000000..386af1a3
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AssociationClassTest.java
@@ -0,0 +1,952 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class AssociationClassTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ associationClass.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ associationClass.getOwnedComments().add(comment);
+ assertSuperset(associationClass.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<Element> elements = associationClass.getOwnedElements();
+ EList<Element> elements2 = associationClass.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<Dependency> dependencys = associationClass
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = associationClass
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ associationClass.setNameExpression(stringExpression);
+ assertSuperset(
+ associationClass.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ associationClass.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ associationClass.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ associationClass.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ associationClass.getOwnedRules().add(constraint);
+ assertSuperset(associationClass.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ associationClass.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ associationClass.getElementImports().add(elementImport);
+ assertSuperset(
+ associationClass.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ associationClass.getPackageImports().add(packageImport);
+ assertSuperset(
+ associationClass.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<NamedElement> namedElements = associationClass.getOwnedMembers();
+ EList<NamedElement> namedElements2 = associationClass.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<PackageableElement> packageableElements = associationClass
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = associationClass
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<NamedElement> namedElements = associationClass.getMembers();
+ EList<NamedElement> namedElements2 = associationClass.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<RedefinableElement> redefinableElements = associationClass
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = associationClass
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<Classifier> classifiers = associationClass
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = associationClass
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ associationClass
+ .setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(
+ associationClass.getOwner() == classifierTemplateParameter);
+ assertSuperset(associationClass
+ .getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ associationClass.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ associationClass.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ associationClass.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ associationClass
+ .setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(associationClass.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<Feature> features = associationClass.getFeatures();
+ EList<Feature> features2 = associationClass.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<Property> propertys = associationClass.getAttributes();
+ EList<Property> propertys2 = associationClass.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ associationClass.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ associationClass.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<Classifier> classifiers = associationClass.getGenerals();
+ EList<Classifier> classifiers2 = associationClass.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ associationClass.getGeneralizations().add(generalization);
+ assertSuperset(
+ associationClass.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ associationClass.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<NamedElement> namedElements = associationClass
+ .getInheritedMembers();
+ EList<NamedElement> namedElements2 = associationClass
+ .getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ associationClass.getOwnedUseCases().add(useCase);
+ assertSuperset(associationClass.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ associationClass.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ associationClass.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ associationClass.getRedefinedClassifiers().add(activity);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ associationClass.getRedefinedClassifiers().add(interface_);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ associationClass.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ associationClass.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(associationClass.getRedefinedElements()
+ .contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ associationClass.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(associationClass.getRedefinedElements()
+ .contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ associationClass.getRedefinedClassifiers().add(component);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ associationClass.getRedefinedClassifiers().add(interaction);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ associationClass.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(associationClass.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ associationClass.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ associationClass.getRedefinedClassifiers().add(association);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ associationClass.getRedefinedClassifiers().add(dataType);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ associationClass.getRedefinedClassifiers().add(device);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ associationClass.getRedefinedClassifiers().add(extension);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass2 = UML.createAssociationClass();
+ assertValid(associationClass2);
+ associationClass.getRedefinedClassifiers().add(associationClass2);
+ assertSuperset(associationClass.getRedefinedElements()
+ .contains(associationClass2));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ associationClass.getRedefinedClassifiers().add(class_);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ associationClass.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ associationClass.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ associationClass.getRedefinedClassifiers().add(actor);
+ assertSuperset(associationClass.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ associationClass.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(associationClass.getRedefinedElements()
+ .contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ associationClass.getRedefinedClassifiers().add(useCase);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ associationClass.getRedefinedClassifiers().add(signal);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ associationClass.getRedefinedClassifiers().add(node);
+ assertSuperset(associationClass.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ associationClass.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ associationClass.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ associationClass.getRedefinedClassifiers().add(artifact);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ associationClass.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ associationClass.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ associationClass.setRepresentation(collaborationUse);
+ assertSuperset(
+ associationClass.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ associationClass.getSubstitutions().add(substitution);
+ assertSuperset(
+ associationClass.getOwnedElements().contains(substitution));
+ assertSuperset(
+ associationClass.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ associationClass.getOwnedAttributes().add(port);
+ assertSuperset(associationClass.getAttributes().contains(port));
+ assertSuperset(associationClass.getOwnedMembers().contains(port));
+ assertSuperset(associationClass.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ associationClass.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(associationClass.getAttributes().contains(extensionEnd));
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(associationClass.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ associationClass.getOwnedAttributes().add(property);
+ assertSuperset(associationClass.getAttributes().contains(property));
+ assertSuperset(associationClass.getOwnedMembers().contains(property));
+ assertSuperset(associationClass.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ associationClass.getOwnedConnectors().add(connector);
+ assertSuperset(associationClass.getFeatures().contains(connector));
+ assertSuperset(associationClass.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<Property> propertys = associationClass.getParts();
+ EList<Property> propertys2 = associationClass.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<ConnectableElement> connectableElements = associationClass
+ .getRoles();
+ EList<ConnectableElement> connectableElements2 = associationClass
+ .getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testOwnedPort() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<Port> ports = associationClass.getOwnedPorts();
+ EList<Port> ports2 = associationClass.getOwnedPorts();
+ assertSame(ports, ports2);
+ }
+
+ public void testClassifierBehavior() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ associationClass.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(associationClass.getOwnedBehaviors()
+ .contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ associationClass.setClassifierBehavior(stateMachine);
+ assertSuperset(
+ associationClass.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ associationClass.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(
+ associationClass.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(associationClass.getClientDependencies()
+ .contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ associationClass.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ associationClass.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testOwnedOperation() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ associationClass.getOwnedOperations().add(operation);
+ assertSuperset(associationClass.getFeatures().contains(operation));
+ assertSuperset(associationClass.getOwnedMembers().contains(operation));
+ }
+
+ public void testExtension() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<Extension> extensions = associationClass.getExtensions();
+ EList<Extension> extensions2 = associationClass.getExtensions();
+ assertSame(extensions, extensions2);
+ }
+
+ public void testNestedClassifier() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ associationClass.getNestedClassifiers().add(functionBehavior);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ associationClass.getNestedClassifiers().add(activity);
+ assertSuperset(associationClass.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ associationClass.getNestedClassifiers().add(interface_);
+ assertSuperset(associationClass.getOwnedMembers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ associationClass.getNestedClassifiers().add(informationItem);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ associationClass.getNestedClassifiers().add(communicationPath);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ associationClass.getNestedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ associationClass.getNestedClassifiers().add(component);
+ assertSuperset(associationClass.getOwnedMembers().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ associationClass.getNestedClassifiers().add(interaction);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ associationClass.getNestedClassifiers().add(deploymentSpecification);
+ assertSuperset(associationClass.getOwnedMembers()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ associationClass.getNestedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ associationClass.getNestedClassifiers().add(association);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ associationClass.getNestedClassifiers().add(dataType);
+ assertSuperset(associationClass.getOwnedMembers().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ associationClass.getNestedClassifiers().add(device);
+ assertSuperset(associationClass.getOwnedMembers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ associationClass.getNestedClassifiers().add(extension);
+ assertSuperset(associationClass.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass2 = UML.createAssociationClass();
+ assertValid(associationClass2);
+ associationClass.getNestedClassifiers().add(associationClass2);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(associationClass2));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ associationClass.getNestedClassifiers().add(class_);
+ assertSuperset(associationClass.getOwnedMembers().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ associationClass.getNestedClassifiers().add(enumeration);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ associationClass.getNestedClassifiers().add(primitiveType);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ associationClass.getNestedClassifiers().add(actor);
+ assertSuperset(associationClass.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ associationClass.getNestedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ associationClass.getNestedClassifiers().add(useCase);
+ assertSuperset(associationClass.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ associationClass.getNestedClassifiers().add(signal);
+ assertSuperset(associationClass.getOwnedMembers().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ associationClass.getNestedClassifiers().add(node);
+ assertSuperset(associationClass.getOwnedMembers().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ associationClass.getNestedClassifiers().add(stereotype);
+ assertSuperset(associationClass.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ associationClass.getNestedClassifiers().add(stateMachine);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ associationClass.getNestedClassifiers().add(artifact);
+ assertSuperset(associationClass.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ associationClass.getNestedClassifiers().add(collaboration);
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedReception() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ associationClass.getOwnedReceptions().add(reception);
+ assertSuperset(associationClass.getFeatures().contains(reception));
+ assertSuperset(associationClass.getOwnedMembers().contains(reception));
+ }
+
+ public void testSuperClass() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<org.eclipse.uml2.uml.Class> class_s = associationClass
+ .getSuperClasses();
+ EList<org.eclipse.uml2.uml.Class> class_s2 = associationClass
+ .getSuperClasses();
+ assertSame(class_s, class_s2);
+ }
+
+ public void testRelatedElement() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<Element> elements = associationClass.getRelatedElements();
+ EList<Element> elements2 = associationClass.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testEndType() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ EList<Type> types = associationClass.getEndTypes();
+ EList<Type> types2 = associationClass.getEndTypes();
+ assertSame(types, types2);
+ }
+
+ public void testMemberEnd() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ associationClass.getMemberEnds().add(port);
+ assertSuperset(associationClass.getMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ associationClass.getMemberEnds().add(extensionEnd);
+ assertSuperset(associationClass.getMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ associationClass.getMemberEnds().add(property);
+ assertSuperset(associationClass.getMembers().contains(property));
+ }
+
+ public void testOwnedEnd() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ associationClass.getOwnedEnds().add(port);
+ assertSuperset(associationClass.getMemberEnds().contains(port));
+ assertSuperset(associationClass.getFeatures().contains(port));
+ assertSuperset(associationClass.getOwnedMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ associationClass.getOwnedEnds().add(extensionEnd);
+ assertSuperset(associationClass.getMemberEnds().contains(extensionEnd));
+ assertSuperset(associationClass.getFeatures().contains(extensionEnd));
+ assertSuperset(
+ associationClass.getOwnedMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ associationClass.getOwnedEnds().add(property);
+ assertSuperset(associationClass.getMemberEnds().contains(property));
+ assertSuperset(associationClass.getFeatures().contains(property));
+ assertSuperset(associationClass.getOwnedMembers().contains(property));
+ }
+
+ public void testNavigableOwnedEnd() {
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ associationClass.getNavigableOwnedEnds().add(port);
+ assertSuperset(associationClass.getOwnedEnds().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ associationClass.getNavigableOwnedEnds().add(extensionEnd);
+ assertSuperset(associationClass.getOwnedEnds().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ associationClass.getNavigableOwnedEnds().add(property);
+ assertSuperset(associationClass.getOwnedEnds().contains(property));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AssociationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AssociationTest.java
new file mode 100755
index 00000000..4561a128
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/AssociationTest.java
@@ -0,0 +1,610 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class AssociationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ association.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ association.getOwnedComments().add(comment);
+ assertSuperset(association.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+ EList<Element> elements = association.getOwnedElements();
+ EList<Element> elements2 = association.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+ EList<Dependency> dependencys = association.getClientDependencies();
+ EList<Dependency> dependencys2 = association.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ association.setNameExpression(stringExpression);
+ assertSuperset(
+ association.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ association.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ association.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ association.getOwnedRules().add(timeConstraint);
+ assertSuperset(association.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ association.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ association.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ association.getOwnedRules().add(constraint);
+ assertSuperset(association.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ association.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ association.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ association.getElementImports().add(elementImport);
+ assertSuperset(association.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ association.getPackageImports().add(packageImport);
+ assertSuperset(association.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+ EList<NamedElement> namedElements = association.getOwnedMembers();
+ EList<NamedElement> namedElements2 = association.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+ EList<PackageableElement> packageableElements = association
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = association
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+ EList<NamedElement> namedElements = association.getMembers();
+ EList<NamedElement> namedElements2 = association.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+ EList<RedefinableElement> redefinableElements = association
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = association
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+ EList<Classifier> classifiers = association.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = association.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ association.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(association.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ association.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ association.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ association.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ association.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ association.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(association.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+ EList<Feature> features = association.getFeatures();
+ EList<Feature> features2 = association.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+ EList<Property> propertys = association.getAttributes();
+ EList<Property> propertys2 = association.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ association.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ association.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+ EList<Classifier> classifiers = association.getGenerals();
+ EList<Classifier> classifiers2 = association.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ association.getGeneralizations().add(generalization);
+ assertSuperset(association.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ association.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+ EList<NamedElement> namedElements = association.getInheritedMembers();
+ EList<NamedElement> namedElements2 = association.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ association.getOwnedUseCases().add(useCase);
+ assertSuperset(association.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ association.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ association.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ association.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ association.getRedefinedClassifiers().add(activity);
+ assertSuperset(association.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ association.getRedefinedClassifiers().add(interface_);
+ assertSuperset(association.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ association.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ association.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ association.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ association.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ association.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ association.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ association.getRedefinedClassifiers().add(component);
+ assertSuperset(association.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ association.getRedefinedClassifiers().add(interaction);
+ assertSuperset(
+ association.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ association.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(association.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ association.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ association.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association2 = UML.createAssociation();
+ assertValid(association2);
+ association.getRedefinedClassifiers().add(association2);
+ assertSuperset(
+ association.getRedefinedElements().contains(association2));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ association.getRedefinedClassifiers().add(dataType);
+ assertSuperset(association.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ association.getRedefinedClassifiers().add(device);
+ assertSuperset(association.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ association.getRedefinedClassifiers().add(extension);
+ assertSuperset(association.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ association.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ association.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ association.getRedefinedClassifiers().add(class_);
+ assertSuperset(association.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ association.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(
+ association.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ association.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ association.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ association.getRedefinedClassifiers().add(actor);
+ assertSuperset(association.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ association.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ association.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ association.getRedefinedClassifiers().add(useCase);
+ assertSuperset(association.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ association.getRedefinedClassifiers().add(signal);
+ assertSuperset(association.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ association.getRedefinedClassifiers().add(node);
+ assertSuperset(association.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ association.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(association.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ association.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ association.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ association.getRedefinedClassifiers().add(artifact);
+ assertSuperset(association.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ association.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ association.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ association.setRepresentation(collaborationUse);
+ assertSuperset(
+ association.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ association.getSubstitutions().add(substitution);
+ assertSuperset(association.getOwnedElements().contains(substitution));
+ assertSuperset(
+ association.getClientDependencies().contains(substitution));
+ }
+
+ public void testRelatedElement() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+ EList<Element> elements = association.getRelatedElements();
+ EList<Element> elements2 = association.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testEndType() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+ EList<Type> types = association.getEndTypes();
+ EList<Type> types2 = association.getEndTypes();
+ assertSame(types, types2);
+ }
+
+ public void testMemberEnd() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ association.getMemberEnds().add(port);
+ assertSuperset(association.getMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ association.getMemberEnds().add(extensionEnd);
+ assertSuperset(association.getMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ association.getMemberEnds().add(property);
+ assertSuperset(association.getMembers().contains(property));
+ }
+
+ public void testOwnedEnd() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ association.getOwnedEnds().add(port);
+ assertSuperset(association.getMemberEnds().contains(port));
+ assertSuperset(association.getFeatures().contains(port));
+ assertSuperset(association.getOwnedMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ association.getOwnedEnds().add(extensionEnd);
+ assertSuperset(association.getMemberEnds().contains(extensionEnd));
+ assertSuperset(association.getFeatures().contains(extensionEnd));
+ assertSuperset(association.getOwnedMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ association.getOwnedEnds().add(property);
+ assertSuperset(association.getMemberEnds().contains(property));
+ assertSuperset(association.getFeatures().contains(property));
+ assertSuperset(association.getOwnedMembers().contains(property));
+ }
+
+ public void testNavigableOwnedEnd() {
+ Association association = UML.createAssociation();
+ assertValid(association);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ association.getNavigableOwnedEnds().add(port);
+ assertSuperset(association.getOwnedEnds().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ association.getNavigableOwnedEnds().add(extensionEnd);
+ assertSuperset(association.getOwnedEnds().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ association.getNavigableOwnedEnds().add(property);
+ assertSuperset(association.getOwnedEnds().contains(property));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/BehaviorExecutionSpecificationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/BehaviorExecutionSpecificationTest.java
new file mode 100755
index 00000000..e5e03a1a
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/BehaviorExecutionSpecificationTest.java
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.StringExpression;
+
+/**
+ * @author Eike Stepper
+ */
+public class BehaviorExecutionSpecificationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ behaviorExecutionSpecification.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ behaviorExecutionSpecification.getOwnedComments().add(comment);
+ assertSuperset(behaviorExecutionSpecification.getOwnedElements()
+ .contains(comment));
+ }
+
+ public void testOwnedElement() {
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ EList<Element> elements = behaviorExecutionSpecification
+ .getOwnedElements();
+ EList<Element> elements2 = behaviorExecutionSpecification
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ EList<Dependency> dependencys = behaviorExecutionSpecification
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = behaviorExecutionSpecification
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ behaviorExecutionSpecification.setNameExpression(stringExpression);
+ assertSuperset(behaviorExecutionSpecification.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testCovered() {
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ behaviorExecutionSpecification.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ behaviorExecutionSpecification.setEnclosingOperand(interactionOperand);
+ assertSuperset(behaviorExecutionSpecification
+ .getNamespace() == interactionOperand);
+ }
+
+ public void testEnclosingInteraction() {
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ behaviorExecutionSpecification.setEnclosingInteraction(interaction);
+ assertSuperset(
+ behaviorExecutionSpecification.getNamespace() == interaction);
+ }
+
+ public void testGeneralOrdering() {
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ behaviorExecutionSpecification.getGeneralOrderings()
+ .add(generalOrdering);
+ assertSuperset(behaviorExecutionSpecification.getOwnedElements()
+ .contains(generalOrdering));
+ }
+
+ public void testFinish() {
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ behaviorExecutionSpecification
+ .setFinish(messageOccurrenceSpecification);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ behaviorExecutionSpecification.setFinish(occurrenceSpecification);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification2 = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification2);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ behaviorExecutionSpecification2
+ .setFinish(executionOccurrenceSpecification);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ behaviorExecutionSpecification2
+ .setFinish(destructionOccurrenceSpecification);
+ }
+
+ public void testStart() {
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ behaviorExecutionSpecification.setStart(messageOccurrenceSpecification);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ behaviorExecutionSpecification.setStart(occurrenceSpecification);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification2 = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification2);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ behaviorExecutionSpecification2
+ .setStart(executionOccurrenceSpecification);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ behaviorExecutionSpecification2
+ .setStart(destructionOccurrenceSpecification);
+ }
+
+ public void testBehavior() {
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ behaviorExecutionSpecification.setBehavior(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ behaviorExecutionSpecification.setBehavior(stateMachine);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/BroadcastSignalActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/BroadcastSignalActionTest.java
new file mode 100755
index 00000000..4001706b
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/BroadcastSignalActionTest.java
@@ -0,0 +1,818 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class BroadcastSignalActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ broadcastSignalAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ broadcastSignalAction.getOwnedComments().add(comment);
+ assertSuperset(
+ broadcastSignalAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ EList<Element> elements = broadcastSignalAction.getOwnedElements();
+ EList<Element> elements2 = broadcastSignalAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ EList<Dependency> dependencys = broadcastSignalAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = broadcastSignalAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ broadcastSignalAction.setNameExpression(stringExpression);
+ assertSuperset(broadcastSignalAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ EList<RedefinableElement> redefinableElements = broadcastSignalAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = broadcastSignalAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ EList<Classifier> classifiers = broadcastSignalAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = broadcastSignalAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ EList<ActivityGroup> activityGroups = broadcastSignalAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = broadcastSignalAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ broadcastSignalAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(broadcastSignalAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ broadcastSignalAction.setInStructuredNode(loopNode);
+ assertSuperset(broadcastSignalAction.getInGroups().contains(loopNode));
+ assertSuperset(broadcastSignalAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ broadcastSignalAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ broadcastSignalAction.getInGroups().contains(expansionRegion));
+ assertSuperset(broadcastSignalAction.getOwner() == expansionRegion);
+
+ BroadcastSignalAction broadcastSignalAction2 = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ broadcastSignalAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ broadcastSignalAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(broadcastSignalAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ broadcastSignalAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(broadcastSignalAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ broadcastSignalAction2.getOwner() == structuredActivityNode);
+
+ BroadcastSignalAction broadcastSignalAction3 = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ broadcastSignalAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ broadcastSignalAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(broadcastSignalAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ broadcastSignalAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ broadcastSignalAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ broadcastSignalAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ broadcastSignalAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ broadcastSignalAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ broadcastSignalAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ broadcastSignalAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ broadcastSignalAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ broadcastSignalAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ broadcastSignalAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ broadcastSignalAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ broadcastSignalAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ broadcastSignalAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ broadcastSignalAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ broadcastSignalAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ broadcastSignalAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ broadcastSignalAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ broadcastSignalAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ broadcastSignalAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ broadcastSignalAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ broadcastSignalAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ broadcastSignalAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ broadcastSignalAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ broadcastSignalAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ broadcastSignalAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ broadcastSignalAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ broadcastSignalAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ broadcastSignalAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ broadcastSignalAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ broadcastSignalAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ broadcastSignalAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ broadcastSignalAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ broadcastSignalAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ broadcastSignalAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ broadcastSignalAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ broadcastSignalAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ broadcastSignalAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ broadcastSignalAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ broadcastSignalAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ broadcastSignalAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ broadcastSignalAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ broadcastSignalAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ broadcastSignalAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ broadcastSignalAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ broadcastSignalAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ broadcastSignalAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ broadcastSignalAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ broadcastSignalAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ broadcastSignalAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ broadcastSignalAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ broadcastSignalAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ broadcastSignalAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction2 = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction2);
+ broadcastSignalAction.getRedefinedNodes().add(broadcastSignalAction2);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(broadcastSignalAction2));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ broadcastSignalAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ broadcastSignalAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ broadcastSignalAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ broadcastSignalAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ broadcastSignalAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ broadcastSignalAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ broadcastSignalAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ broadcastSignalAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ broadcastSignalAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ broadcastSignalAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ broadcastSignalAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ broadcastSignalAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ broadcastSignalAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ broadcastSignalAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ broadcastSignalAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ broadcastSignalAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ broadcastSignalAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(broadcastSignalAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ broadcastSignalAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ broadcastSignalAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ broadcastSignalAction.getHandlers().add(exceptionHandler);
+ assertSuperset(broadcastSignalAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ EList<InputPin> inputPins = broadcastSignalAction.getInputs();
+ EList<InputPin> inputPins2 = broadcastSignalAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ broadcastSignalAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(broadcastSignalAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ broadcastSignalAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ broadcastSignalAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ broadcastSignalAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(broadcastSignalAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ broadcastSignalAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ broadcastSignalAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ broadcastSignalAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(broadcastSignalAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ broadcastSignalAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(broadcastSignalAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ broadcastSignalAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ broadcastSignalAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ broadcastSignalAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(broadcastSignalAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ broadcastSignalAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ broadcastSignalAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ broadcastSignalAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(broadcastSignalAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ EList<OutputPin> outputPins = broadcastSignalAction.getOutputs();
+ EList<OutputPin> outputPins2 = broadcastSignalAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testArgument() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ broadcastSignalAction.getArguments().add(inputPin);
+ assertSuperset(broadcastSignalAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ broadcastSignalAction.getArguments().add(valuePin);
+ assertSuperset(broadcastSignalAction.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ broadcastSignalAction.getArguments().add(actionInputPin);
+ assertSuperset(
+ broadcastSignalAction.getInputs().contains(actionInputPin));
+ }
+
+ public void testOnPort() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ broadcastSignalAction.setOnPort(port);
+ }
+
+ public void testSignal() {
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ broadcastSignalAction.setSignal(signal);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CallBehaviorActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CallBehaviorActionTest.java
new file mode 100755
index 00000000..b466731d
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CallBehaviorActionTest.java
@@ -0,0 +1,801 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class CallBehaviorActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ callBehaviorAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ callBehaviorAction.getOwnedComments().add(comment);
+ assertSuperset(callBehaviorAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ EList<Element> elements = callBehaviorAction.getOwnedElements();
+ EList<Element> elements2 = callBehaviorAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ EList<Dependency> dependencys = callBehaviorAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = callBehaviorAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ callBehaviorAction.setNameExpression(stringExpression);
+ assertSuperset(
+ callBehaviorAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ EList<RedefinableElement> redefinableElements = callBehaviorAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = callBehaviorAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ EList<Classifier> classifiers = callBehaviorAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = callBehaviorAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ EList<ActivityGroup> activityGroups = callBehaviorAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = callBehaviorAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ callBehaviorAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(callBehaviorAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ callBehaviorAction.setInStructuredNode(loopNode);
+ assertSuperset(callBehaviorAction.getInGroups().contains(loopNode));
+ assertSuperset(callBehaviorAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ callBehaviorAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ callBehaviorAction.getInGroups().contains(expansionRegion));
+ assertSuperset(callBehaviorAction.getOwner() == expansionRegion);
+
+ CallBehaviorAction callBehaviorAction2 = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ callBehaviorAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ callBehaviorAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(callBehaviorAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ callBehaviorAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ callBehaviorAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(
+ callBehaviorAction2.getOwner() == structuredActivityNode);
+
+ CallBehaviorAction callBehaviorAction3 = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ callBehaviorAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ callBehaviorAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(callBehaviorAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ callBehaviorAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ callBehaviorAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ callBehaviorAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ callBehaviorAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ callBehaviorAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ callBehaviorAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ callBehaviorAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ callBehaviorAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ callBehaviorAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ callBehaviorAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ callBehaviorAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ callBehaviorAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ callBehaviorAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ callBehaviorAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ callBehaviorAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ callBehaviorAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ callBehaviorAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ callBehaviorAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ callBehaviorAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ callBehaviorAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ callBehaviorAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ callBehaviorAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ callBehaviorAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction2 = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction2);
+ callBehaviorAction.getRedefinedNodes().add(callBehaviorAction2);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(callBehaviorAction2));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ callBehaviorAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ callBehaviorAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ callBehaviorAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ callBehaviorAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ callBehaviorAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ callBehaviorAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ callBehaviorAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ callBehaviorAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ callBehaviorAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ callBehaviorAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ callBehaviorAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ callBehaviorAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ callBehaviorAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ callBehaviorAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ callBehaviorAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ callBehaviorAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ callBehaviorAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ callBehaviorAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ callBehaviorAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ callBehaviorAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ callBehaviorAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ callBehaviorAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ callBehaviorAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ callBehaviorAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ callBehaviorAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ callBehaviorAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ callBehaviorAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ callBehaviorAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ callBehaviorAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ callBehaviorAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ callBehaviorAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ callBehaviorAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ callBehaviorAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ callBehaviorAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ callBehaviorAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ callBehaviorAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ callBehaviorAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ callBehaviorAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(callBehaviorAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ callBehaviorAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ callBehaviorAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ callBehaviorAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ callBehaviorAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ EList<InputPin> inputPins = callBehaviorAction.getInputs();
+ EList<InputPin> inputPins2 = callBehaviorAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ callBehaviorAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ callBehaviorAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ callBehaviorAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ callBehaviorAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ callBehaviorAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(callBehaviorAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ callBehaviorAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ callBehaviorAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ callBehaviorAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ callBehaviorAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ callBehaviorAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ callBehaviorAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ callBehaviorAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ callBehaviorAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ callBehaviorAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(callBehaviorAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ callBehaviorAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ callBehaviorAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ callBehaviorAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ callBehaviorAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ EList<OutputPin> outputPins = callBehaviorAction.getOutputs();
+ EList<OutputPin> outputPins2 = callBehaviorAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testArgument() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ callBehaviorAction.getArguments().add(inputPin);
+ assertSuperset(callBehaviorAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ callBehaviorAction.getArguments().add(valuePin);
+ assertSuperset(callBehaviorAction.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ callBehaviorAction.getArguments().add(actionInputPin);
+ assertSuperset(callBehaviorAction.getInputs().contains(actionInputPin));
+ }
+
+ public void testOnPort() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ callBehaviorAction.setOnPort(port);
+ }
+
+ public void testResult() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ callBehaviorAction.getResults().add(outputPin);
+ assertSuperset(callBehaviorAction.getOutputs().contains(outputPin));
+ }
+
+ public void testBehavior() {
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ callBehaviorAction.setBehavior(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ callBehaviorAction.setBehavior(stateMachine);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CallEventTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CallEventTest.java
new file mode 100755
index 00000000..5701e037
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CallEventTest.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+
+/**
+ * @author Eike Stepper
+ */
+public class CallEventTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ callEvent.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ callEvent.getOwnedComments().add(comment);
+ assertSuperset(callEvent.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ EList<Element> elements = callEvent.getOwnedElements();
+ EList<Element> elements2 = callEvent.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ EList<Dependency> dependencys = callEvent.getClientDependencies();
+ EList<Dependency> dependencys2 = callEvent.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ callEvent.setNameExpression(stringExpression);
+ assertSuperset(callEvent.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ callEvent.setOwningTemplateParameter(templateParameter);
+ assertSuperset(callEvent.getOwner() == templateParameter);
+ assertSuperset(callEvent.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ callEvent.setTemplateParameter(templateParameter);
+ }
+
+ public void testOperation() {
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ callEvent.setOperation(operation);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CallOperationActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CallOperationActionTest.java
new file mode 100755
index 00000000..12a9004e
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CallOperationActionTest.java
@@ -0,0 +1,850 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class CallOperationActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ callOperationAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ callOperationAction.getOwnedComments().add(comment);
+ assertSuperset(
+ callOperationAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ EList<Element> elements = callOperationAction.getOwnedElements();
+ EList<Element> elements2 = callOperationAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ EList<Dependency> dependencys = callOperationAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = callOperationAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ callOperationAction.setNameExpression(stringExpression);
+ assertSuperset(
+ callOperationAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ EList<RedefinableElement> redefinableElements = callOperationAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = callOperationAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ EList<Classifier> classifiers = callOperationAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = callOperationAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ EList<ActivityGroup> activityGroups = callOperationAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = callOperationAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ callOperationAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(callOperationAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ callOperationAction.setInStructuredNode(loopNode);
+ assertSuperset(callOperationAction.getInGroups().contains(loopNode));
+ assertSuperset(callOperationAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ callOperationAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ callOperationAction.getInGroups().contains(expansionRegion));
+ assertSuperset(callOperationAction.getOwner() == expansionRegion);
+
+ CallOperationAction callOperationAction2 = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ callOperationAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ callOperationAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(callOperationAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ callOperationAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(callOperationAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ callOperationAction2.getOwner() == structuredActivityNode);
+
+ CallOperationAction callOperationAction3 = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ callOperationAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ callOperationAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(callOperationAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ callOperationAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ callOperationAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ callOperationAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ callOperationAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ callOperationAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ callOperationAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ callOperationAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ callOperationAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ callOperationAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ callOperationAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ callOperationAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ callOperationAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ callOperationAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ callOperationAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ callOperationAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ callOperationAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ callOperationAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ callOperationAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ callOperationAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ callOperationAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ callOperationAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ callOperationAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ callOperationAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ callOperationAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ callOperationAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ callOperationAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ callOperationAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ callOperationAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ callOperationAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ callOperationAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ callOperationAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ callOperationAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ callOperationAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ callOperationAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ callOperationAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ callOperationAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ callOperationAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ callOperationAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ callOperationAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ callOperationAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ callOperationAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ callOperationAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ callOperationAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ callOperationAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ callOperationAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ callOperationAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ callOperationAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ callOperationAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction2 = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction2);
+ callOperationAction.getRedefinedNodes().add(callOperationAction2);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(callOperationAction2));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ callOperationAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ callOperationAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ callOperationAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ callOperationAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ callOperationAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ callOperationAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ callOperationAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ callOperationAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ callOperationAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ callOperationAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ callOperationAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ callOperationAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ callOperationAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(callOperationAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ callOperationAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ callOperationAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ callOperationAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ callOperationAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ EList<InputPin> inputPins = callOperationAction.getInputs();
+ EList<InputPin> inputPins2 = callOperationAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ callOperationAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(callOperationAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ callOperationAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ callOperationAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ callOperationAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(callOperationAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ callOperationAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ callOperationAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ callOperationAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(callOperationAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ callOperationAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(callOperationAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ callOperationAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ callOperationAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ callOperationAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(callOperationAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ callOperationAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ callOperationAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ callOperationAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(callOperationAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ EList<OutputPin> outputPins = callOperationAction.getOutputs();
+ EList<OutputPin> outputPins2 = callOperationAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testArgument() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ callOperationAction.getArguments().add(inputPin);
+ assertSuperset(callOperationAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ callOperationAction.getArguments().add(valuePin);
+ assertSuperset(callOperationAction.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ callOperationAction.getArguments().add(actionInputPin);
+ assertSuperset(
+ callOperationAction.getInputs().contains(actionInputPin));
+ }
+
+ public void testOnPort() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ callOperationAction.setOnPort(port);
+ }
+
+ public void testResult() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ callOperationAction.getResults().add(outputPin);
+ assertSuperset(callOperationAction.getOutputs().contains(outputPin));
+ }
+
+ public void testOperation() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ callOperationAction.setOperation(operation);
+ }
+
+ public void testTarget() {
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ callOperationAction.setTarget(inputPin);
+ assertSuperset(callOperationAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ callOperationAction.setTarget(valuePin);
+ assertSuperset(callOperationAction.getInputs().contains(valuePin));
+
+ CallOperationAction callOperationAction2 = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ callOperationAction2.setTarget(actionInputPin);
+ assertSuperset(
+ callOperationAction2.getInputs().contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CentralBufferNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CentralBufferNodeTest.java
new file mode 100755
index 00000000..576c0004
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CentralBufferNodeTest.java
@@ -0,0 +1,967 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class CentralBufferNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ centralBufferNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ centralBufferNode.getOwnedComments().add(comment);
+ assertSuperset(centralBufferNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ EList<Element> elements = centralBufferNode.getOwnedElements();
+ EList<Element> elements2 = centralBufferNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ EList<Dependency> dependencys = centralBufferNode
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = centralBufferNode
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ centralBufferNode.setNameExpression(stringExpression);
+ assertSuperset(
+ centralBufferNode.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ EList<RedefinableElement> redefinableElements = centralBufferNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = centralBufferNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ EList<Classifier> classifiers = centralBufferNode
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = centralBufferNode
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ EList<ActivityGroup> activityGroups = centralBufferNode.getInGroups();
+ EList<ActivityGroup> activityGroups2 = centralBufferNode.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ centralBufferNode.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(centralBufferNode.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ centralBufferNode.setInStructuredNode(loopNode);
+ assertSuperset(centralBufferNode.getInGroups().contains(loopNode));
+ assertSuperset(centralBufferNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ centralBufferNode.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ centralBufferNode.getInGroups().contains(expansionRegion));
+ assertSuperset(centralBufferNode.getOwner() == expansionRegion);
+
+ CentralBufferNode centralBufferNode2 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ centralBufferNode2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ centralBufferNode2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(centralBufferNode2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ centralBufferNode2.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ centralBufferNode2.getInGroups().contains(conditionalNode));
+ assertSuperset(centralBufferNode2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ centralBufferNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ centralBufferNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ centralBufferNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ centralBufferNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ centralBufferNode.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ centralBufferNode.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ centralBufferNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ centralBufferNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ centralBufferNode.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ centralBufferNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ centralBufferNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ centralBufferNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ centralBufferNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ centralBufferNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ centralBufferNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ centralBufferNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ centralBufferNode.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ centralBufferNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ centralBufferNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ centralBufferNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ centralBufferNode.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ centralBufferNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ centralBufferNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ centralBufferNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ centralBufferNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ centralBufferNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ centralBufferNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ centralBufferNode.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ centralBufferNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ centralBufferNode.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ centralBufferNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ centralBufferNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ centralBufferNode.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ centralBufferNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ centralBufferNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ centralBufferNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ centralBufferNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ centralBufferNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ centralBufferNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ centralBufferNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ centralBufferNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ centralBufferNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ centralBufferNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ centralBufferNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode2 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode2);
+ centralBufferNode.getRedefinedNodes().add(centralBufferNode2);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(centralBufferNode2));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ centralBufferNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ centralBufferNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ centralBufferNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ centralBufferNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ centralBufferNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ centralBufferNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ centralBufferNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ centralBufferNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ centralBufferNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ centralBufferNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ centralBufferNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ centralBufferNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ centralBufferNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ centralBufferNode.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ centralBufferNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ centralBufferNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ centralBufferNode.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(centralBufferNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ centralBufferNode.getInPartitions().add(activityPartition);
+ assertSuperset(
+ centralBufferNode.getInGroups().contains(activityPartition));
+ }
+
+ public void testType() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ centralBufferNode.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ centralBufferNode.setType(activity);
+
+ CentralBufferNode centralBufferNode2 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ centralBufferNode2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ centralBufferNode2.setType(informationItem);
+
+ CentralBufferNode centralBufferNode3 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ centralBufferNode3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ centralBufferNode3.setType(executionEnvironment);
+
+ CentralBufferNode centralBufferNode4 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ centralBufferNode4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ centralBufferNode4.setType(interaction);
+
+ CentralBufferNode centralBufferNode5 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ centralBufferNode5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ centralBufferNode5.setType(opaqueBehavior);
+
+ CentralBufferNode centralBufferNode6 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ centralBufferNode6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ centralBufferNode6.setType(dataType);
+
+ CentralBufferNode centralBufferNode7 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ centralBufferNode7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ centralBufferNode7.setType(extension);
+
+ CentralBufferNode centralBufferNode8 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ centralBufferNode8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ centralBufferNode8.setType(class_);
+
+ CentralBufferNode centralBufferNode9 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ centralBufferNode9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ centralBufferNode9.setType(primitiveType);
+
+ CentralBufferNode centralBufferNode10 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ centralBufferNode10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ centralBufferNode10.setType(protocolStateMachine);
+
+ CentralBufferNode centralBufferNode11 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ centralBufferNode11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ centralBufferNode11.setType(signal);
+
+ CentralBufferNode centralBufferNode12 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ centralBufferNode12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ centralBufferNode12.setType(stereotype);
+
+ CentralBufferNode centralBufferNode13 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ centralBufferNode13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ centralBufferNode13.setType(artifact);
+
+ CentralBufferNode centralBufferNode14 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ centralBufferNode14.setType(collaboration);
+ }
+
+ public void testInState() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ centralBufferNode.getInStates().add(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ centralBufferNode.getInStates().add(state);
+ }
+
+ public void testSelection() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ centralBufferNode.setSelection(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ centralBufferNode.setSelection(stateMachine);
+ }
+
+ public void testUpperBound() {
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ centralBufferNode.setUpperBound(literalBoolean);
+ assertSuperset(
+ centralBufferNode.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ centralBufferNode.setUpperBound(interval);
+ assertSuperset(centralBufferNode.getOwnedElements().contains(interval));
+
+ CentralBufferNode centralBufferNode2 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ centralBufferNode2.setUpperBound(opaqueExpression);
+ assertSuperset(
+ centralBufferNode2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ centralBufferNode2.setUpperBound(expression);
+ assertSuperset(
+ centralBufferNode2.getOwnedElements().contains(expression));
+
+ CentralBufferNode centralBufferNode3 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ centralBufferNode3.setUpperBound(literalReal);
+ assertSuperset(
+ centralBufferNode3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ centralBufferNode3.setUpperBound(literalString);
+ assertSuperset(
+ centralBufferNode3.getOwnedElements().contains(literalString));
+
+ CentralBufferNode centralBufferNode4 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ centralBufferNode4.setUpperBound(literalNull);
+ assertSuperset(
+ centralBufferNode4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ centralBufferNode4.setUpperBound(duration);
+ assertSuperset(
+ centralBufferNode4.getOwnedElements().contains(duration));
+
+ CentralBufferNode centralBufferNode5 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ centralBufferNode5.setUpperBound(literalInteger);
+ assertSuperset(
+ centralBufferNode5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ centralBufferNode5.setUpperBound(durationInterval);
+ assertSuperset(
+ centralBufferNode5.getOwnedElements().contains(durationInterval));
+
+ CentralBufferNode centralBufferNode6 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ centralBufferNode6.setUpperBound(stringExpression);
+ assertSuperset(
+ centralBufferNode6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ centralBufferNode6.setUpperBound(literalUnlimitedNatural);
+ assertSuperset(centralBufferNode6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ CentralBufferNode centralBufferNode7 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ centralBufferNode7.setUpperBound(timeInterval);
+ assertSuperset(
+ centralBufferNode7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ centralBufferNode7.setUpperBound(timeExpression);
+ assertSuperset(
+ centralBufferNode7.getOwnedElements().contains(timeExpression));
+
+ CentralBufferNode centralBufferNode8 = UML.createCentralBufferNode();
+ assertValid(centralBufferNode8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ centralBufferNode8.setUpperBound(instanceValue);
+ assertSuperset(
+ centralBufferNode8.getOwnedElements().contains(instanceValue));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ChangeEventTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ChangeEventTest.java
new file mode 100755
index 00000000..0d854208
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ChangeEventTest.java
@@ -0,0 +1,218 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+
+/**
+ * @author Eike Stepper
+ */
+public class ChangeEventTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ changeEvent.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ changeEvent.getOwnedComments().add(comment);
+ assertSuperset(changeEvent.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ EList<Element> elements = changeEvent.getOwnedElements();
+ EList<Element> elements2 = changeEvent.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ EList<Dependency> dependencys = changeEvent.getClientDependencies();
+ EList<Dependency> dependencys2 = changeEvent.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ changeEvent.setNameExpression(stringExpression);
+ assertSuperset(
+ changeEvent.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ changeEvent.setOwningTemplateParameter(templateParameter);
+ assertSuperset(changeEvent.getOwner() == templateParameter);
+ assertSuperset(changeEvent.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ changeEvent.setTemplateParameter(templateParameter);
+ }
+
+ public void testChangeExpression() {
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ changeEvent.setChangeExpression(literalBoolean);
+ assertSuperset(changeEvent.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ changeEvent.setChangeExpression(interval);
+ assertSuperset(changeEvent.getOwnedElements().contains(interval));
+
+ ChangeEvent changeEvent2 = UML.createChangeEvent();
+ assertValid(changeEvent2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ changeEvent2.setChangeExpression(opaqueExpression);
+ assertSuperset(
+ changeEvent2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ changeEvent2.setChangeExpression(expression);
+ assertSuperset(changeEvent2.getOwnedElements().contains(expression));
+
+ ChangeEvent changeEvent3 = UML.createChangeEvent();
+ assertValid(changeEvent3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ changeEvent3.setChangeExpression(literalReal);
+ assertSuperset(changeEvent3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ changeEvent3.setChangeExpression(literalString);
+ assertSuperset(changeEvent3.getOwnedElements().contains(literalString));
+
+ ChangeEvent changeEvent4 = UML.createChangeEvent();
+ assertValid(changeEvent4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ changeEvent4.setChangeExpression(literalNull);
+ assertSuperset(changeEvent4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ changeEvent4.setChangeExpression(duration);
+ assertSuperset(changeEvent4.getOwnedElements().contains(duration));
+
+ ChangeEvent changeEvent5 = UML.createChangeEvent();
+ assertValid(changeEvent5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ changeEvent5.setChangeExpression(literalInteger);
+ assertSuperset(
+ changeEvent5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ changeEvent5.setChangeExpression(durationInterval);
+ assertSuperset(
+ changeEvent5.getOwnedElements().contains(durationInterval));
+
+ ChangeEvent changeEvent6 = UML.createChangeEvent();
+ assertValid(changeEvent6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ changeEvent6.setChangeExpression(stringExpression);
+ assertSuperset(
+ changeEvent6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ changeEvent6.setChangeExpression(literalUnlimitedNatural);
+ assertSuperset(
+ changeEvent6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ChangeEvent changeEvent7 = UML.createChangeEvent();
+ assertValid(changeEvent7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ changeEvent7.setChangeExpression(timeInterval);
+ assertSuperset(changeEvent7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ changeEvent7.setChangeExpression(timeExpression);
+ assertSuperset(
+ changeEvent7.getOwnedElements().contains(timeExpression));
+
+ ChangeEvent changeEvent8 = UML.createChangeEvent();
+ assertValid(changeEvent8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ changeEvent8.setChangeExpression(instanceValue);
+ assertSuperset(changeEvent8.getOwnedElements().contains(instanceValue));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClassTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClassTest.java
new file mode 100755
index 00000000..68e8dd2c
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClassTest.java
@@ -0,0 +1,854 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ClassTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ class_.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ class_.getOwnedComments().add(comment);
+ assertSuperset(class_.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<Element> elements = class_.getOwnedElements();
+ EList<Element> elements2 = class_.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<Dependency> dependencys = class_.getClientDependencies();
+ EList<Dependency> dependencys2 = class_.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ class_.setNameExpression(stringExpression);
+ assertSuperset(class_.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ class_.getOwnedRules().add(intervalConstraint);
+ assertSuperset(class_.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ class_.getOwnedRules().add(timeConstraint);
+ assertSuperset(class_.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ class_.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ class_.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ class_.getOwnedRules().add(constraint);
+ assertSuperset(class_.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ class_.getOwnedRules().add(durationConstraint);
+ assertSuperset(class_.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ class_.getElementImports().add(elementImport);
+ assertSuperset(class_.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ class_.getPackageImports().add(packageImport);
+ assertSuperset(class_.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<NamedElement> namedElements = class_.getOwnedMembers();
+ EList<NamedElement> namedElements2 = class_.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<PackageableElement> packageableElements = class_
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = class_
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<NamedElement> namedElements = class_.getMembers();
+ EList<NamedElement> namedElements2 = class_.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<RedefinableElement> redefinableElements = class_
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = class_
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<Classifier> classifiers = class_.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = class_.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ class_.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(class_.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ class_.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ class_.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ class_.getTemplateBindings().add(templateBinding);
+ assertSuperset(class_.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ class_.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(
+ class_.getOwnedElements().contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<Feature> features = class_.getFeatures();
+ EList<Feature> features2 = class_.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<Property> propertys = class_.getAttributes();
+ EList<Property> propertys2 = class_.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ class_.getCollaborationUses().add(collaborationUse);
+ assertSuperset(class_.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<Classifier> classifiers = class_.getGenerals();
+ EList<Classifier> classifiers2 = class_.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ class_.getGeneralizations().add(generalization);
+ assertSuperset(class_.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ class_.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<NamedElement> namedElements = class_.getInheritedMembers();
+ EList<NamedElement> namedElements2 = class_.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ class_.getOwnedUseCases().add(useCase);
+ assertSuperset(class_.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ class_.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ class_.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ class_.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ class_.getRedefinedClassifiers().add(activity);
+ assertSuperset(class_.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ class_.getRedefinedClassifiers().add(interface_);
+ assertSuperset(class_.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ class_.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(class_.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ class_.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ class_.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ class_.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ class_.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ class_.getRedefinedClassifiers().add(component);
+ assertSuperset(class_.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ class_.getRedefinedClassifiers().add(interaction);
+ assertSuperset(class_.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ class_.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ class_.getRedefinedElements().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ class_.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(class_.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ class_.getRedefinedClassifiers().add(association);
+ assertSuperset(class_.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ class_.getRedefinedClassifiers().add(dataType);
+ assertSuperset(class_.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ class_.getRedefinedClassifiers().add(device);
+ assertSuperset(class_.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ class_.getRedefinedClassifiers().add(extension);
+ assertSuperset(class_.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ class_.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ class_.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_2 = UML.createClass();
+ assertValid(class_2);
+ class_.getRedefinedClassifiers().add(class_2);
+ assertSuperset(class_.getRedefinedElements().contains(class_2));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ class_.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(class_.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ class_.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(class_.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ class_.getRedefinedClassifiers().add(actor);
+ assertSuperset(class_.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ class_.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ class_.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ class_.getRedefinedClassifiers().add(useCase);
+ assertSuperset(class_.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ class_.getRedefinedClassifiers().add(signal);
+ assertSuperset(class_.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ class_.getRedefinedClassifiers().add(node);
+ assertSuperset(class_.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ class_.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(class_.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ class_.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(class_.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ class_.getRedefinedClassifiers().add(artifact);
+ assertSuperset(class_.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ class_.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(class_.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ class_.setRepresentation(collaborationUse);
+ assertSuperset(
+ class_.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ class_.getSubstitutions().add(substitution);
+ assertSuperset(class_.getOwnedElements().contains(substitution));
+ assertSuperset(class_.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ class_.getOwnedAttributes().add(port);
+ assertSuperset(class_.getAttributes().contains(port));
+ assertSuperset(class_.getOwnedMembers().contains(port));
+ assertSuperset(class_.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ class_.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(class_.getAttributes().contains(extensionEnd));
+ assertSuperset(class_.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(class_.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ class_.getOwnedAttributes().add(property);
+ assertSuperset(class_.getAttributes().contains(property));
+ assertSuperset(class_.getOwnedMembers().contains(property));
+ assertSuperset(class_.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ class_.getOwnedConnectors().add(connector);
+ assertSuperset(class_.getFeatures().contains(connector));
+ assertSuperset(class_.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<Property> propertys = class_.getParts();
+ EList<Property> propertys2 = class_.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<ConnectableElement> connectableElements = class_.getRoles();
+ EList<ConnectableElement> connectableElements2 = class_.getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testOwnedPort() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<Port> ports = class_.getOwnedPorts();
+ EList<Port> ports2 = class_.getOwnedPorts();
+ assertSame(ports, ports2);
+ }
+
+ public void testClassifierBehavior() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ class_.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(
+ class_.getOwnedBehaviors().contains(protocolStateMachine));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ class_.setClassifierBehavior(functionBehavior);
+ assertSuperset(class_.getOwnedBehaviors().contains(functionBehavior));
+
+ org.eclipse.uml2.uml.Class class_2 = UML.createClass();
+ assertValid(class_2);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ class_2.setClassifierBehavior(activity);
+ assertSuperset(class_2.getOwnedBehaviors().contains(activity));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ class_2.setClassifierBehavior(interaction);
+ assertSuperset(class_2.getOwnedBehaviors().contains(interaction));
+
+ org.eclipse.uml2.uml.Class class_3 = UML.createClass();
+ assertValid(class_3);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ class_3.setClassifierBehavior(opaqueBehavior);
+ assertSuperset(class_3.getOwnedBehaviors().contains(opaqueBehavior));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ class_3.setClassifierBehavior(stateMachine);
+ assertSuperset(class_3.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ class_.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(
+ class_.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(
+ class_.getClientDependencies().contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ class_.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(class_.getOwnedMembers().contains(protocolStateMachine));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ class_.getOwnedBehaviors().add(functionBehavior);
+ assertSuperset(class_.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ class_.getOwnedBehaviors().add(activity);
+ assertSuperset(class_.getOwnedMembers().contains(activity));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ class_.getOwnedBehaviors().add(interaction);
+ assertSuperset(class_.getOwnedMembers().contains(interaction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ class_.getOwnedBehaviors().add(opaqueBehavior);
+ assertSuperset(class_.getOwnedMembers().contains(opaqueBehavior));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ class_.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(class_.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testOwnedOperation() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ class_.getOwnedOperations().add(operation);
+ assertSuperset(class_.getFeatures().contains(operation));
+ assertSuperset(class_.getOwnedMembers().contains(operation));
+ }
+
+ public void testExtension() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<Extension> extensions = class_.getExtensions();
+ EList<Extension> extensions2 = class_.getExtensions();
+ assertSame(extensions, extensions2);
+ }
+
+ public void testNestedClassifier() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ class_.getNestedClassifiers().add(functionBehavior);
+ assertSuperset(class_.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ class_.getNestedClassifiers().add(activity);
+ assertSuperset(class_.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ class_.getNestedClassifiers().add(interface_);
+ assertSuperset(class_.getOwnedMembers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ class_.getNestedClassifiers().add(informationItem);
+ assertSuperset(class_.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ class_.getNestedClassifiers().add(communicationPath);
+ assertSuperset(class_.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ class_.getNestedClassifiers().add(executionEnvironment);
+ assertSuperset(class_.getOwnedMembers().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ class_.getNestedClassifiers().add(component);
+ assertSuperset(class_.getOwnedMembers().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ class_.getNestedClassifiers().add(interaction);
+ assertSuperset(class_.getOwnedMembers().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ class_.getNestedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ class_.getOwnedMembers().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ class_.getNestedClassifiers().add(opaqueBehavior);
+ assertSuperset(class_.getOwnedMembers().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ class_.getNestedClassifiers().add(association);
+ assertSuperset(class_.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ class_.getNestedClassifiers().add(dataType);
+ assertSuperset(class_.getOwnedMembers().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ class_.getNestedClassifiers().add(device);
+ assertSuperset(class_.getOwnedMembers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ class_.getNestedClassifiers().add(extension);
+ assertSuperset(class_.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ class_.getNestedClassifiers().add(associationClass);
+ assertSuperset(class_.getOwnedMembers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_2 = UML.createClass();
+ assertValid(class_2);
+ class_.getNestedClassifiers().add(class_2);
+ assertSuperset(class_.getOwnedMembers().contains(class_2));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ class_.getNestedClassifiers().add(enumeration);
+ assertSuperset(class_.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ class_.getNestedClassifiers().add(primitiveType);
+ assertSuperset(class_.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ class_.getNestedClassifiers().add(actor);
+ assertSuperset(class_.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ class_.getNestedClassifiers().add(protocolStateMachine);
+ assertSuperset(class_.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ class_.getNestedClassifiers().add(useCase);
+ assertSuperset(class_.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ class_.getNestedClassifiers().add(signal);
+ assertSuperset(class_.getOwnedMembers().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ class_.getNestedClassifiers().add(node);
+ assertSuperset(class_.getOwnedMembers().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ class_.getNestedClassifiers().add(stereotype);
+ assertSuperset(class_.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ class_.getNestedClassifiers().add(stateMachine);
+ assertSuperset(class_.getOwnedMembers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ class_.getNestedClassifiers().add(artifact);
+ assertSuperset(class_.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ class_.getNestedClassifiers().add(collaboration);
+ assertSuperset(class_.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedReception() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ class_.getOwnedReceptions().add(reception);
+ assertSuperset(class_.getFeatures().contains(reception));
+ assertSuperset(class_.getOwnedMembers().contains(reception));
+ }
+
+ public void testSuperClass() {
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ EList<org.eclipse.uml2.uml.Class> class_s2 = class_.getSuperClasses();
+ EList<org.eclipse.uml2.uml.Class> class_s3 = class_.getSuperClasses();
+ assertSame(class_s2, class_s3);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClassifierTemplateParameterTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClassifierTemplateParameterTest.java
new file mode 100755
index 00000000..d7592013
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClassifierTemplateParameterTest.java
@@ -0,0 +1,412 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ClassifierTemplateParameterTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ classifierTemplateParameter.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ classifierTemplateParameter.getOwnedComments().add(comment);
+ assertSuperset(
+ classifierTemplateParameter.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ EList<Element> elements = classifierTemplateParameter
+ .getOwnedElements();
+ EList<Element> elements2 = classifierTemplateParameter
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testParameteredElement() {
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ classifierTemplateParameter.setParameteredElement(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ classifierTemplateParameter.setParameteredElement(activity);
+
+ ClassifierTemplateParameter classifierTemplateParameter2 = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ classifierTemplateParameter2.setParameteredElement(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ classifierTemplateParameter2.setParameteredElement(informationItem);
+
+ ClassifierTemplateParameter classifierTemplateParameter3 = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ classifierTemplateParameter3.setParameteredElement(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ classifierTemplateParameter3
+ .setParameteredElement(executionEnvironment);
+
+ ClassifierTemplateParameter classifierTemplateParameter4 = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ classifierTemplateParameter4.setParameteredElement(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ classifierTemplateParameter4.setParameteredElement(interaction);
+
+ ClassifierTemplateParameter classifierTemplateParameter5 = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ classifierTemplateParameter5
+ .setParameteredElement(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ classifierTemplateParameter5.setParameteredElement(opaqueBehavior);
+
+ ClassifierTemplateParameter classifierTemplateParameter6 = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ classifierTemplateParameter6.setParameteredElement(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ classifierTemplateParameter6.setParameteredElement(dataType);
+
+ ClassifierTemplateParameter classifierTemplateParameter7 = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ classifierTemplateParameter7.setParameteredElement(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ classifierTemplateParameter7.setParameteredElement(extension);
+
+ ClassifierTemplateParameter classifierTemplateParameter8 = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ classifierTemplateParameter8.setParameteredElement(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ classifierTemplateParameter8.setParameteredElement(class_);
+
+ ClassifierTemplateParameter classifierTemplateParameter9 = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ classifierTemplateParameter9.setParameteredElement(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ classifierTemplateParameter9.setParameteredElement(primitiveType);
+
+ ClassifierTemplateParameter classifierTemplateParameter10 = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ classifierTemplateParameter10.setParameteredElement(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ classifierTemplateParameter10
+ .setParameteredElement(protocolStateMachine);
+
+ ClassifierTemplateParameter classifierTemplateParameter11 = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ classifierTemplateParameter11.setParameteredElement(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ classifierTemplateParameter11.setParameteredElement(signal);
+
+ ClassifierTemplateParameter classifierTemplateParameter12 = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ classifierTemplateParameter12.setParameteredElement(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ classifierTemplateParameter12.setParameteredElement(stereotype);
+
+ ClassifierTemplateParameter classifierTemplateParameter13 = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ classifierTemplateParameter13.setParameteredElement(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ classifierTemplateParameter13.setParameteredElement(artifact);
+
+ ClassifierTemplateParameter classifierTemplateParameter14 = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ classifierTemplateParameter14.setParameteredElement(collaboration);
+ }
+
+ public void testSignature() {
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ classifierTemplateParameter.setSignature(templateSignature);
+ assertSuperset(
+ classifierTemplateParameter.getOwner() == templateSignature);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ classifierTemplateParameter.setSignature(redefinableTemplateSignature);
+ assertSuperset(classifierTemplateParameter
+ .getOwner() == redefinableTemplateSignature);
+ }
+
+ public void testConstrainingClassifier() {
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ classifierTemplateParameter.getConstrainingClassifiers().add(activity);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(informationItem);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(executionEnvironment);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ classifierTemplateParameter.getConstrainingClassifiers().add(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ classifierTemplateParameter.getConstrainingClassifiers().add(dataType);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ classifierTemplateParameter.getConstrainingClassifiers().add(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ classifierTemplateParameter.getConstrainingClassifiers().add(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ classifierTemplateParameter.getConstrainingClassifiers().add(class_);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(primitiveType);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ classifierTemplateParameter.getConstrainingClassifiers().add(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ classifierTemplateParameter.getConstrainingClassifiers().add(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ classifierTemplateParameter.getConstrainingClassifiers().add(signal);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ classifierTemplateParameter.getConstrainingClassifiers().add(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ classifierTemplateParameter.getConstrainingClassifiers().add(artifact);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ classifierTemplateParameter.getConstrainingClassifiers()
+ .add(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClauseTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClauseTest.java
new file mode 100755
index 00000000..245d3c50
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClauseTest.java
@@ -0,0 +1,521 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.Clause;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ClauseTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Clause clause = UML.createClause();
+ assertValid(clause);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ clause.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Clause clause = UML.createClause();
+ assertValid(clause);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ clause.getOwnedComments().add(comment);
+ assertSuperset(clause.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Clause clause = UML.createClause();
+ assertValid(clause);
+ EList<Element> elements = clause.getOwnedElements();
+ EList<Element> elements2 = clause.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testBody() {
+ Clause clause = UML.createClause();
+ assertValid(clause);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ clause.getBodies().add(readIsClassifiedObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ clause.getBodies().add(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ clause.getBodies().add(removeVariableValueAction);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ clause.getBodies().add(addStructuralFeatureValueAction);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ clause.getBodies().add(readVariableAction);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ clause.getBodies().add(clearVariableAction);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ clause.getBodies().add(removeStructuralFeatureValueAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ clause.getBodies().add(createLinkAction);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ clause.getBodies().add(readSelfAction);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ clause.getBodies().add(reclassifyObjectAction);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ clause.getBodies().add(readLinkObjectEndQualifierAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ clause.getBodies().add(sendObjectAction);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ clause.getBodies().add(reduceAction);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ clause.getBodies().add(createLinkObjectAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ clause.getBodies().add(acceptEventAction);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ clause.getBodies().add(destroyLinkAction);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ clause.getBodies().add(sendSignalAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ clause.getBodies().add(readLinkAction);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ clause.getBodies().add(replyAction);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ clause.getBodies().add(testIdentityAction);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ clause.getBodies().add(clearAssociationAction);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ clause.getBodies().add(broadcastSignalAction);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ clause.getBodies().add(clearStructuralFeatureAction);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ clause.getBodies().add(expansionRegion);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ clause.getBodies().add(structuredActivityNode);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ clause.getBodies().add(raiseExceptionAction);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ clause.getBodies().add(startObjectBehaviorAction);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ clause.getBodies().add(callOperationAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ clause.getBodies().add(loopNode);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ clause.getBodies().add(valueSpecificationAction);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ clause.getBodies().add(acceptCallAction);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ clause.getBodies().add(addVariableValueAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ clause.getBodies().add(readLinkObjectEndAction);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ clause.getBodies().add(unmarshallAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ clause.getBodies().add(opaqueAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ clause.getBodies().add(sequenceNode);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ clause.getBodies().add(createObjectAction);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ clause.getBodies().add(destroyObjectAction);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ clause.getBodies().add(callBehaviorAction);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ clause.getBodies().add(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ clause.getBodies().add(readExtentAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ clause.getBodies().add(readStructuralFeatureAction);
+ }
+
+ public void testBodyOutput() {
+ Clause clause = UML.createClause();
+ assertValid(clause);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ clause.getBodyOutputs().add(outputPin);
+ }
+
+ public void testDecider() {
+ Clause clause = UML.createClause();
+ assertValid(clause);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ clause.setDecider(outputPin);
+ }
+
+ public void testPredecessorClause() {
+ Clause clause = UML.createClause();
+ assertValid(clause);
+
+ Clause clause2 = UML.createClause();
+ assertValid(clause2);
+ clause.getPredecessorClauses().add(clause2);
+ }
+
+ public void testSuccessorClause() {
+ Clause clause = UML.createClause();
+ assertValid(clause);
+
+ Clause clause2 = UML.createClause();
+ assertValid(clause2);
+ clause.getSuccessorClauses().add(clause2);
+ }
+
+ public void testTest() {
+ Clause clause = UML.createClause();
+ assertValid(clause);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ clause.getTests().add(readIsClassifiedObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ clause.getTests().add(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ clause.getTests().add(removeVariableValueAction);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ clause.getTests().add(addStructuralFeatureValueAction);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ clause.getTests().add(readVariableAction);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ clause.getTests().add(clearVariableAction);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ clause.getTests().add(removeStructuralFeatureValueAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ clause.getTests().add(createLinkAction);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ clause.getTests().add(readSelfAction);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ clause.getTests().add(reclassifyObjectAction);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ clause.getTests().add(readLinkObjectEndQualifierAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ clause.getTests().add(sendObjectAction);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ clause.getTests().add(reduceAction);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ clause.getTests().add(createLinkObjectAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ clause.getTests().add(acceptEventAction);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ clause.getTests().add(destroyLinkAction);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ clause.getTests().add(sendSignalAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ clause.getTests().add(readLinkAction);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ clause.getTests().add(replyAction);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ clause.getTests().add(testIdentityAction);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ clause.getTests().add(clearAssociationAction);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ clause.getTests().add(broadcastSignalAction);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ clause.getTests().add(clearStructuralFeatureAction);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ clause.getTests().add(expansionRegion);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ clause.getTests().add(structuredActivityNode);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ clause.getTests().add(raiseExceptionAction);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ clause.getTests().add(startObjectBehaviorAction);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ clause.getTests().add(callOperationAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ clause.getTests().add(loopNode);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ clause.getTests().add(valueSpecificationAction);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ clause.getTests().add(acceptCallAction);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ clause.getTests().add(addVariableValueAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ clause.getTests().add(readLinkObjectEndAction);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ clause.getTests().add(unmarshallAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ clause.getTests().add(opaqueAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ clause.getTests().add(sequenceNode);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ clause.getTests().add(createObjectAction);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ clause.getTests().add(destroyObjectAction);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ clause.getTests().add(callBehaviorAction);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ clause.getTests().add(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ clause.getTests().add(readExtentAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ clause.getTests().add(readStructuralFeatureAction);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClearAssociationActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClearAssociationActionTest.java
new file mode 100755
index 00000000..0dc262aa
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClearAssociationActionTest.java
@@ -0,0 +1,831 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ClearAssociationActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ clearAssociationAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ clearAssociationAction.getOwnedComments().add(comment);
+ assertSuperset(
+ clearAssociationAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ EList<Element> elements = clearAssociationAction.getOwnedElements();
+ EList<Element> elements2 = clearAssociationAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ EList<Dependency> dependencys = clearAssociationAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = clearAssociationAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ clearAssociationAction.setNameExpression(stringExpression);
+ assertSuperset(clearAssociationAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ EList<RedefinableElement> redefinableElements = clearAssociationAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = clearAssociationAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ EList<Classifier> classifiers = clearAssociationAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = clearAssociationAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ EList<ActivityGroup> activityGroups = clearAssociationAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = clearAssociationAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ clearAssociationAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(clearAssociationAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ clearAssociationAction.setInStructuredNode(loopNode);
+ assertSuperset(clearAssociationAction.getInGroups().contains(loopNode));
+ assertSuperset(clearAssociationAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ clearAssociationAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ clearAssociationAction.getInGroups().contains(expansionRegion));
+ assertSuperset(clearAssociationAction.getOwner() == expansionRegion);
+
+ ClearAssociationAction clearAssociationAction2 = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ clearAssociationAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ clearAssociationAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(clearAssociationAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ clearAssociationAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(clearAssociationAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ clearAssociationAction2.getOwner() == structuredActivityNode);
+
+ ClearAssociationAction clearAssociationAction3 = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ clearAssociationAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ clearAssociationAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(clearAssociationAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ clearAssociationAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ clearAssociationAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ clearAssociationAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ clearAssociationAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ clearAssociationAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ clearAssociationAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ clearAssociationAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ clearAssociationAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ clearAssociationAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ clearAssociationAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ clearAssociationAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ clearAssociationAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ clearAssociationAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ clearAssociationAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ clearAssociationAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ clearAssociationAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction2 = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction2);
+ clearAssociationAction.getRedefinedNodes().add(clearAssociationAction2);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(clearAssociationAction2));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ clearAssociationAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ clearAssociationAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ clearAssociationAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ clearAssociationAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ clearAssociationAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ clearAssociationAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ clearAssociationAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ clearAssociationAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ clearAssociationAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ clearAssociationAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ clearAssociationAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ clearAssociationAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ clearAssociationAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ clearAssociationAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ clearAssociationAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ clearAssociationAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ clearAssociationAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ clearAssociationAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ clearAssociationAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ clearAssociationAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ clearAssociationAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ clearAssociationAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ clearAssociationAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ clearAssociationAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ clearAssociationAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ clearAssociationAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ clearAssociationAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ clearAssociationAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ clearAssociationAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ clearAssociationAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ clearAssociationAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ clearAssociationAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ clearAssociationAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ clearAssociationAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ clearAssociationAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ clearAssociationAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ clearAssociationAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ clearAssociationAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ clearAssociationAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ clearAssociationAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ clearAssociationAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ clearAssociationAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ clearAssociationAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ clearAssociationAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ clearAssociationAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ clearAssociationAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ clearAssociationAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ clearAssociationAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ clearAssociationAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ clearAssociationAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ clearAssociationAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(clearAssociationAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ clearAssociationAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ clearAssociationAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ clearAssociationAction.getHandlers().add(exceptionHandler);
+ assertSuperset(clearAssociationAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ EList<InputPin> inputPins = clearAssociationAction.getInputs();
+ EList<InputPin> inputPins2 = clearAssociationAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ clearAssociationAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(clearAssociationAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ clearAssociationAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ clearAssociationAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ clearAssociationAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(clearAssociationAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ clearAssociationAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ clearAssociationAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ clearAssociationAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(clearAssociationAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ clearAssociationAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(clearAssociationAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ clearAssociationAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ clearAssociationAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ clearAssociationAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(clearAssociationAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ clearAssociationAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ clearAssociationAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ clearAssociationAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(clearAssociationAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ EList<OutputPin> outputPins = clearAssociationAction.getOutputs();
+ EList<OutputPin> outputPins2 = clearAssociationAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testAssociation() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ clearAssociationAction.setAssociation(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ clearAssociationAction.setAssociation(associationClass);
+
+ ClearAssociationAction clearAssociationAction2 = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction2);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ clearAssociationAction2.setAssociation(communicationPath);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ clearAssociationAction2.setAssociation(association);
+ }
+
+ public void testObject() {
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ clearAssociationAction.setObject(inputPin);
+ assertSuperset(clearAssociationAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ clearAssociationAction.setObject(valuePin);
+ assertSuperset(clearAssociationAction.getInputs().contains(valuePin));
+
+ ClearAssociationAction clearAssociationAction2 = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ clearAssociationAction2.setObject(actionInputPin);
+ assertSuperset(
+ clearAssociationAction2.getInputs().contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClearStructuralFeatureActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClearStructuralFeatureActionTest.java
new file mode 100755
index 00000000..5391cbd2
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClearStructuralFeatureActionTest.java
@@ -0,0 +1,870 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ClearStructuralFeatureActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ clearStructuralFeatureAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ clearStructuralFeatureAction.getOwnedComments().add(comment);
+ assertSuperset(
+ clearStructuralFeatureAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ EList<Element> elements = clearStructuralFeatureAction
+ .getOwnedElements();
+ EList<Element> elements2 = clearStructuralFeatureAction
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ EList<Dependency> dependencys = clearStructuralFeatureAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = clearStructuralFeatureAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ clearStructuralFeatureAction.setNameExpression(stringExpression);
+ assertSuperset(clearStructuralFeatureAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ EList<RedefinableElement> redefinableElements = clearStructuralFeatureAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = clearStructuralFeatureAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ EList<Classifier> classifiers = clearStructuralFeatureAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = clearStructuralFeatureAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ EList<ActivityGroup> activityGroups = clearStructuralFeatureAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = clearStructuralFeatureAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ clearStructuralFeatureAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(clearStructuralFeatureAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ clearStructuralFeatureAction.setInStructuredNode(loopNode);
+ assertSuperset(
+ clearStructuralFeatureAction.getInGroups().contains(loopNode));
+ assertSuperset(clearStructuralFeatureAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ clearStructuralFeatureAction.setInStructuredNode(expansionRegion);
+ assertSuperset(clearStructuralFeatureAction.getInGroups()
+ .contains(expansionRegion));
+ assertSuperset(
+ clearStructuralFeatureAction.getOwner() == expansionRegion);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction2 = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ clearStructuralFeatureAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ clearStructuralFeatureAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(
+ clearStructuralFeatureAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ clearStructuralFeatureAction2
+ .setInStructuredNode(structuredActivityNode);
+ assertSuperset(clearStructuralFeatureAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ clearStructuralFeatureAction2.getOwner() == structuredActivityNode);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction3 = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ clearStructuralFeatureAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(clearStructuralFeatureAction3.getInGroups()
+ .contains(conditionalNode));
+ assertSuperset(
+ clearStructuralFeatureAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ clearStructuralFeatureAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ clearStructuralFeatureAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ clearStructuralFeatureAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ clearStructuralFeatureAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ clearStructuralFeatureAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ clearStructuralFeatureAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ clearStructuralFeatureAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(createLinkObjectAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ clearStructuralFeatureAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ clearStructuralFeatureAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ clearStructuralFeatureAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(clearAssociationAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ clearStructuralFeatureAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction2 = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction2);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction2);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction2));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ clearStructuralFeatureAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(structuredActivityNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ clearStructuralFeatureAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ clearStructuralFeatureAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ clearStructuralFeatureAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(callBehaviorAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ clearStructuralFeatureAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ clearStructuralFeatureAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ clearStructuralFeatureAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(activityParameterNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(readVariableAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(clearVariableAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ clearStructuralFeatureAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(reclassifyObjectAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ clearStructuralFeatureAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ clearStructuralFeatureAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ clearStructuralFeatureAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ clearStructuralFeatureAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ clearStructuralFeatureAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ clearStructuralFeatureAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ clearStructuralFeatureAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(testIdentityAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ clearStructuralFeatureAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ clearStructuralFeatureAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(broadcastSignalAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(raiseExceptionAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ clearStructuralFeatureAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(callOperationAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ clearStructuralFeatureAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ clearStructuralFeatureAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(addVariableValueAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(readLinkObjectEndAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ clearStructuralFeatureAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ clearStructuralFeatureAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ clearStructuralFeatureAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ clearStructuralFeatureAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(createObjectAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(destroyObjectAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ clearStructuralFeatureAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(clearStructuralFeatureAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ clearStructuralFeatureAction.getInPartitions().add(activityPartition);
+ assertSuperset(clearStructuralFeatureAction.getInGroups()
+ .contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ clearStructuralFeatureAction.getHandlers().add(exceptionHandler);
+ assertSuperset(clearStructuralFeatureAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ EList<InputPin> inputPins = clearStructuralFeatureAction.getInputs();
+ EList<InputPin> inputPins2 = clearStructuralFeatureAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ clearStructuralFeatureAction.getLocalPostconditions()
+ .add(intervalConstraint);
+ assertSuperset(clearStructuralFeatureAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ clearStructuralFeatureAction.getLocalPostconditions()
+ .add(timeConstraint);
+ assertSuperset(clearStructuralFeatureAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ clearStructuralFeatureAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(clearStructuralFeatureAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ clearStructuralFeatureAction.getLocalPostconditions().add(constraint);
+ assertSuperset(clearStructuralFeatureAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ clearStructuralFeatureAction.getLocalPostconditions()
+ .add(durationConstraint);
+ assertSuperset(clearStructuralFeatureAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ clearStructuralFeatureAction.getLocalPreconditions()
+ .add(intervalConstraint);
+ assertSuperset(clearStructuralFeatureAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ clearStructuralFeatureAction.getLocalPreconditions()
+ .add(timeConstraint);
+ assertSuperset(clearStructuralFeatureAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ clearStructuralFeatureAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(clearStructuralFeatureAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ clearStructuralFeatureAction.getLocalPreconditions().add(constraint);
+ assertSuperset(clearStructuralFeatureAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ clearStructuralFeatureAction.getLocalPreconditions()
+ .add(durationConstraint);
+ assertSuperset(clearStructuralFeatureAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ EList<OutputPin> outputPins = clearStructuralFeatureAction.getOutputs();
+ EList<OutputPin> outputPins2 = clearStructuralFeatureAction
+ .getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testObject() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ clearStructuralFeatureAction.setObject(inputPin);
+ assertSuperset(
+ clearStructuralFeatureAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ clearStructuralFeatureAction.setObject(valuePin);
+ assertSuperset(
+ clearStructuralFeatureAction.getInputs().contains(valuePin));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction2 = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ clearStructuralFeatureAction2.setObject(actionInputPin);
+ assertSuperset(
+ clearStructuralFeatureAction2.getInputs().contains(actionInputPin));
+ }
+
+ public void testStructuralFeature() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ clearStructuralFeatureAction.setStructuralFeature(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ clearStructuralFeatureAction.setStructuralFeature(extensionEnd);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction2 = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ clearStructuralFeatureAction2.setStructuralFeature(property);
+ }
+
+ public void testResult() {
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ clearStructuralFeatureAction.setResult(outputPin);
+ assertSuperset(
+ clearStructuralFeatureAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClearVariableActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClearVariableActionTest.java
new file mode 100755
index 00000000..c94c6693
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ClearVariableActionTest.java
@@ -0,0 +1,780 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class ClearVariableActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ clearVariableAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ clearVariableAction.getOwnedComments().add(comment);
+ assertSuperset(
+ clearVariableAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ EList<Element> elements = clearVariableAction.getOwnedElements();
+ EList<Element> elements2 = clearVariableAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ EList<Dependency> dependencys = clearVariableAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = clearVariableAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ clearVariableAction.setNameExpression(stringExpression);
+ assertSuperset(
+ clearVariableAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ EList<RedefinableElement> redefinableElements = clearVariableAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = clearVariableAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ EList<Classifier> classifiers = clearVariableAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = clearVariableAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ EList<ActivityGroup> activityGroups = clearVariableAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = clearVariableAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ clearVariableAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(clearVariableAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ clearVariableAction.setInStructuredNode(loopNode);
+ assertSuperset(clearVariableAction.getInGroups().contains(loopNode));
+ assertSuperset(clearVariableAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ clearVariableAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ clearVariableAction.getInGroups().contains(expansionRegion));
+ assertSuperset(clearVariableAction.getOwner() == expansionRegion);
+
+ ClearVariableAction clearVariableAction2 = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ clearVariableAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ clearVariableAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(clearVariableAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ clearVariableAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(clearVariableAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ clearVariableAction2.getOwner() == structuredActivityNode);
+
+ ClearVariableAction clearVariableAction3 = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ clearVariableAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ clearVariableAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(clearVariableAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ clearVariableAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ clearVariableAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ clearVariableAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ clearVariableAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ clearVariableAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ clearVariableAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ clearVariableAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ clearVariableAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ clearVariableAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ clearVariableAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ clearVariableAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ clearVariableAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ clearVariableAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ clearVariableAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ clearVariableAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ clearVariableAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ clearVariableAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ clearVariableAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ clearVariableAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ clearVariableAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ clearVariableAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ clearVariableAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ clearVariableAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ clearVariableAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ clearVariableAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ clearVariableAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ clearVariableAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ clearVariableAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ clearVariableAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ clearVariableAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ clearVariableAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction2 = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction2);
+ clearVariableAction.getRedefinedNodes().add(clearVariableAction2);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(clearVariableAction2));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ clearVariableAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ clearVariableAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ clearVariableAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ clearVariableAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ clearVariableAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ clearVariableAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ clearVariableAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ clearVariableAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ clearVariableAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ clearVariableAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ clearVariableAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ clearVariableAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ clearVariableAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ clearVariableAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ clearVariableAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ clearVariableAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ clearVariableAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ clearVariableAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ clearVariableAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ clearVariableAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ clearVariableAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ clearVariableAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ clearVariableAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ clearVariableAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ clearVariableAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ clearVariableAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ clearVariableAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ clearVariableAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ clearVariableAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ clearVariableAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(clearVariableAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ clearVariableAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ clearVariableAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ clearVariableAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ clearVariableAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ EList<InputPin> inputPins = clearVariableAction.getInputs();
+ EList<InputPin> inputPins2 = clearVariableAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ clearVariableAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(clearVariableAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ clearVariableAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ clearVariableAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ clearVariableAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(clearVariableAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ clearVariableAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ clearVariableAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ clearVariableAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(clearVariableAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ clearVariableAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(clearVariableAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ clearVariableAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ clearVariableAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ clearVariableAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(clearVariableAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ clearVariableAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ clearVariableAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ clearVariableAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(clearVariableAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ EList<OutputPin> outputPins = clearVariableAction.getOutputs();
+ EList<OutputPin> outputPins2 = clearVariableAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testVariable() {
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ clearVariableAction.setVariable(variable);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CollaborationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CollaborationTest.java
new file mode 100755
index 00000000..59f8bf09
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CollaborationTest.java
@@ -0,0 +1,676 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class CollaborationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ collaboration.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ collaboration.getOwnedComments().add(comment);
+ assertSuperset(collaboration.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ EList<Element> elements = collaboration.getOwnedElements();
+ EList<Element> elements2 = collaboration.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ EList<Dependency> dependencys = collaboration.getClientDependencies();
+ EList<Dependency> dependencys2 = collaboration.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ collaboration.setNameExpression(stringExpression);
+ assertSuperset(
+ collaboration.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ collaboration.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ collaboration.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ collaboration.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ collaboration.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ collaboration.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ collaboration.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ collaboration.getOwnedRules().add(constraint);
+ assertSuperset(collaboration.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ collaboration.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ collaboration.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ collaboration.getElementImports().add(elementImport);
+ assertSuperset(
+ collaboration.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ collaboration.getPackageImports().add(packageImport);
+ assertSuperset(
+ collaboration.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ EList<NamedElement> namedElements = collaboration.getOwnedMembers();
+ EList<NamedElement> namedElements2 = collaboration.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ EList<PackageableElement> packageableElements = collaboration
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = collaboration
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ EList<NamedElement> namedElements = collaboration.getMembers();
+ EList<NamedElement> namedElements2 = collaboration.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ EList<RedefinableElement> redefinableElements = collaboration
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = collaboration
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ EList<Classifier> classifiers = collaboration.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = collaboration
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ collaboration.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(collaboration.getOwner() == classifierTemplateParameter);
+ assertSuperset(collaboration
+ .getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ collaboration.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ collaboration.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ collaboration.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ collaboration.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(collaboration.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ EList<Feature> features = collaboration.getFeatures();
+ EList<Feature> features2 = collaboration.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ EList<Property> propertys = collaboration.getAttributes();
+ EList<Property> propertys2 = collaboration.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ collaboration.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ collaboration.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ EList<Classifier> classifiers = collaboration.getGenerals();
+ EList<Classifier> classifiers2 = collaboration.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ collaboration.getGeneralizations().add(generalization);
+ assertSuperset(
+ collaboration.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ collaboration.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ EList<NamedElement> namedElements = collaboration.getInheritedMembers();
+ EList<NamedElement> namedElements2 = collaboration
+ .getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ collaboration.getOwnedUseCases().add(useCase);
+ assertSuperset(collaboration.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ collaboration.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ collaboration.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ collaboration.getRedefinedClassifiers().add(activity);
+ assertSuperset(collaboration.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ collaboration.getRedefinedClassifiers().add(interface_);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ collaboration.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ collaboration.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ collaboration.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(collaboration.getRedefinedElements()
+ .contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ collaboration.getRedefinedClassifiers().add(component);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ collaboration.getRedefinedClassifiers().add(interaction);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ collaboration.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(collaboration.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ collaboration.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ collaboration.getRedefinedClassifiers().add(association);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ collaboration.getRedefinedClassifiers().add(dataType);
+ assertSuperset(collaboration.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ collaboration.getRedefinedClassifiers().add(device);
+ assertSuperset(collaboration.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ collaboration.getRedefinedClassifiers().add(extension);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ collaboration.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ collaboration.getRedefinedClassifiers().add(class_);
+ assertSuperset(collaboration.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ collaboration.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ collaboration.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ collaboration.getRedefinedClassifiers().add(actor);
+ assertSuperset(collaboration.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ collaboration.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(collaboration.getRedefinedElements()
+ .contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ collaboration.getRedefinedClassifiers().add(useCase);
+ assertSuperset(collaboration.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ collaboration.getRedefinedClassifiers().add(signal);
+ assertSuperset(collaboration.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ collaboration.getRedefinedClassifiers().add(node);
+ assertSuperset(collaboration.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ collaboration.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ collaboration.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ collaboration.getRedefinedClassifiers().add(artifact);
+ assertSuperset(collaboration.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration2 = UML.createCollaboration();
+ assertValid(collaboration2);
+ collaboration.getRedefinedClassifiers().add(collaboration2);
+ assertSuperset(
+ collaboration.getRedefinedElements().contains(collaboration2));
+ }
+
+ public void testRepresentation() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ collaboration.setRepresentation(collaborationUse);
+ assertSuperset(
+ collaboration.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ collaboration.getSubstitutions().add(substitution);
+ assertSuperset(collaboration.getOwnedElements().contains(substitution));
+ assertSuperset(
+ collaboration.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ collaboration.getOwnedAttributes().add(port);
+ assertSuperset(collaboration.getAttributes().contains(port));
+ assertSuperset(collaboration.getOwnedMembers().contains(port));
+ assertSuperset(collaboration.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ collaboration.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(collaboration.getAttributes().contains(extensionEnd));
+ assertSuperset(collaboration.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(collaboration.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ collaboration.getOwnedAttributes().add(property);
+ assertSuperset(collaboration.getAttributes().contains(property));
+ assertSuperset(collaboration.getOwnedMembers().contains(property));
+ assertSuperset(collaboration.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ collaboration.getOwnedConnectors().add(connector);
+ assertSuperset(collaboration.getFeatures().contains(connector));
+ assertSuperset(collaboration.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ EList<Property> propertys = collaboration.getParts();
+ EList<Property> propertys2 = collaboration.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ EList<ConnectableElement> connectableElements = collaboration
+ .getRoles();
+ EList<ConnectableElement> connectableElements2 = collaboration
+ .getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testClassifierBehavior() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ collaboration.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(
+ collaboration.getOwnedBehaviors().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ collaboration.setClassifierBehavior(stateMachine);
+ assertSuperset(
+ collaboration.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ collaboration.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(
+ collaboration.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(collaboration.getClientDependencies()
+ .contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ collaboration.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(
+ collaboration.getOwnedMembers().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ collaboration.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(collaboration.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testCollaborationRole() {
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ collaboration.getCollaborationRoles().add(port);
+ assertSuperset(collaboration.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ collaboration.getCollaborationRoles().add(extensionEnd);
+ assertSuperset(collaboration.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ collaboration.getCollaborationRoles().add(property);
+ assertSuperset(collaboration.getRoles().contains(property));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ collaboration.getCollaborationRoles().add(parameter);
+ assertSuperset(collaboration.getRoles().contains(parameter));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ collaboration.getCollaborationRoles().add(variable);
+ assertSuperset(collaboration.getRoles().contains(variable));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CollaborationUseTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CollaborationUseTest.java
new file mode 100755
index 00000000..36b2e152
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CollaborationUseTest.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.Usage;
+
+/**
+ * @author Eike Stepper
+ */
+public class CollaborationUseTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ collaborationUse.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ collaborationUse.getOwnedComments().add(comment);
+ assertSuperset(collaborationUse.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ EList<Element> elements = collaborationUse.getOwnedElements();
+ EList<Element> elements2 = collaborationUse.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ EList<Dependency> dependencys = collaborationUse
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = collaborationUse
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ collaborationUse.setNameExpression(stringExpression);
+ assertSuperset(
+ collaborationUse.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRoleBinding() {
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ collaborationUse.getRoleBindings().add(deployment);
+ assertSuperset(
+ collaborationUse.getOwnedElements().contains(deployment));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ collaborationUse.getRoleBindings().add(dependency);
+ assertSuperset(
+ collaborationUse.getOwnedElements().contains(dependency));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ collaborationUse.getRoleBindings().add(realization);
+ assertSuperset(
+ collaborationUse.getOwnedElements().contains(realization));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ collaborationUse.getRoleBindings().add(componentRealization);
+ assertSuperset(
+ collaborationUse.getOwnedElements().contains(componentRealization));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ collaborationUse.getRoleBindings().add(abstraction);
+ assertSuperset(
+ collaborationUse.getOwnedElements().contains(abstraction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ collaborationUse.getRoleBindings().add(usage);
+ assertSuperset(collaborationUse.getOwnedElements().contains(usage));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ collaborationUse.getRoleBindings().add(interfaceRealization);
+ assertSuperset(
+ collaborationUse.getOwnedElements().contains(interfaceRealization));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ collaborationUse.getRoleBindings().add(manifestation);
+ assertSuperset(
+ collaborationUse.getOwnedElements().contains(manifestation));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ collaborationUse.getRoleBindings().add(substitution);
+ assertSuperset(
+ collaborationUse.getOwnedElements().contains(substitution));
+ }
+
+ public void testType() {
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ collaborationUse.setType(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CombinedFragmentTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CombinedFragmentTest.java
new file mode 100755
index 00000000..567f5bff
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CombinedFragmentTest.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.StringExpression;
+
+/**
+ * @author Eike Stepper
+ */
+public class CombinedFragmentTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ combinedFragment.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ combinedFragment.getOwnedComments().add(comment);
+ assertSuperset(combinedFragment.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ EList<Element> elements = combinedFragment.getOwnedElements();
+ EList<Element> elements2 = combinedFragment.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ EList<Dependency> dependencys = combinedFragment
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = combinedFragment
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ combinedFragment.setNameExpression(stringExpression);
+ assertSuperset(
+ combinedFragment.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testCovered() {
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ combinedFragment.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ combinedFragment.setEnclosingOperand(interactionOperand);
+ assertSuperset(combinedFragment.getNamespace() == interactionOperand);
+ }
+
+ public void testEnclosingInteraction() {
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ combinedFragment.setEnclosingInteraction(interaction);
+ assertSuperset(combinedFragment.getNamespace() == interaction);
+ }
+
+ public void testGeneralOrdering() {
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ combinedFragment.getGeneralOrderings().add(generalOrdering);
+ assertSuperset(
+ combinedFragment.getOwnedElements().contains(generalOrdering));
+ }
+
+ public void testCfragmentGate() {
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ combinedFragment.getCfragmentGates().add(gate);
+ assertSuperset(combinedFragment.getOwnedElements().contains(gate));
+ }
+
+ public void testOperand() {
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ combinedFragment.getOperands().add(interactionOperand);
+ assertSuperset(
+ combinedFragment.getOwnedElements().contains(interactionOperand));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CommentTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CommentTest.java
new file mode 100755
index 00000000..ba1b8be4
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CommentTest.java
@@ -0,0 +1,1068 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Clause;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolConformance;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class CommentTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Comment comment = UML.createComment();
+ assertValid(comment);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ comment.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Comment comment = UML.createComment();
+ assertValid(comment);
+
+ Comment comment2 = UML.createComment();
+ assertValid(comment2);
+ comment.getOwnedComments().add(comment2);
+ assertSuperset(comment.getOwnedElements().contains(comment2));
+ }
+
+ public void testOwnedElement() {
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ EList<Element> elements = comment.getOwnedElements();
+ EList<Element> elements2 = comment.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testAnnotatedElement() {
+ Comment comment = UML.createComment();
+ assertValid(comment);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ comment.getAnnotatedElements().add(activity);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ comment.getAnnotatedElements().add(communicationPath);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ comment.getAnnotatedElements().add(inputPin);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ comment.getAnnotatedElements().add(readLinkObjectEndQualifierAction);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ comment.getAnnotatedElements().add(component);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ comment.getAnnotatedElements().add(durationObservation);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ comment.getAnnotatedElements().add(callEvent);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ comment.getAnnotatedElements().add(joinNode);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ comment.getAnnotatedElements().add(createLinkObjectAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ comment.getAnnotatedElements().add(readLinkAction);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ comment.getAnnotatedElements().add(model);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ comment.getAnnotatedElements().add(trigger);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ comment.getAnnotatedElements().add(associationClass);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ comment.getAnnotatedElements().add(classifierTemplateParameter);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ comment.getAnnotatedElements().add(clearStructuralFeatureAction);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ comment.getAnnotatedElements().add(structuredActivityNode);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ comment.getAnnotatedElements().add(forkNode);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ comment.getAnnotatedElements().add(timeConstraint);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ comment.getAnnotatedElements().add(extensionEnd);
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ comment.getAnnotatedElements().add(considerIgnoreFragment);
+
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+ comment.getAnnotatedElements().add(protocolConformance);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ comment.getAnnotatedElements().add(readExtentAction);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ comment.getAnnotatedElements().add(actionInputPin);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ comment.getAnnotatedElements().add(artifact);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ comment.getAnnotatedElements().add(informationFlow);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ comment.getAnnotatedElements().add(clearVariableAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ comment.getAnnotatedElements().add(createLinkAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ comment.getAnnotatedElements().add(sendObjectAction);
+
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+ comment.getAnnotatedElements().add(linkEndData);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ comment.getAnnotatedElements().add(controlFlow);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ comment.getAnnotatedElements().add(deploymentSpecification);
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ comment.getAnnotatedElements().add(partDecomposition);
+
+ Image image = UML.createImage();
+ assertValid(image);
+ comment.getAnnotatedElements().add(image);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ comment.getAnnotatedElements().add(destroyLinkAction);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ comment.getAnnotatedElements().add(expansionNode);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ comment.getAnnotatedElements().add(timeInterval);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ comment.getAnnotatedElements().add(dataType);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ comment.getAnnotatedElements().add(substitution);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ comment.getAnnotatedElements().add(literalBoolean);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ comment.getAnnotatedElements().add(durationConstraint);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ comment.getAnnotatedElements().add(literalNull);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ comment.getAnnotatedElements().add(callOperationAction);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ comment.getAnnotatedElements().add(node);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ comment.getAnnotatedElements().add(constraint);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ comment.getAnnotatedElements().add(stateMachine);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ comment.getAnnotatedElements().add(interface_);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ comment.getAnnotatedElements().add(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ comment.getAnnotatedElements().add(removeVariableValueAction);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ comment.getAnnotatedElements().add(redefinableTemplateSignature);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ comment.getAnnotatedElements().add(executionOccurrenceSpecification);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ comment.getAnnotatedElements().add(variable);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ comment.getAnnotatedElements().add(property);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ comment.getAnnotatedElements().add(expansionRegion);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ comment.getAnnotatedElements().add(templateParameter);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ comment.getAnnotatedElements().add(startObjectBehaviorAction);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ comment.getAnnotatedElements().add(profile);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ comment.getAnnotatedElements().add(message);
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ comment.getAnnotatedElements().add(continuation);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ comment.getAnnotatedElements().add(objectFlow);
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ comment.getAnnotatedElements().add(stateInvariant);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ comment.getAnnotatedElements().add(addStructuralFeatureValueAction);
+
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+ comment.getAnnotatedElements().add(connectorEnd);
+
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+ comment.getAnnotatedElements().add(linkEndCreationData);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ comment.getAnnotatedElements().add(connectableElementTemplateParameter);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ comment.getAnnotatedElements().add(templateBinding);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ comment.getAnnotatedElements().add(opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ comment.getAnnotatedElements().add(timeEvent);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ comment.getAnnotatedElements().add(generalOrdering);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ comment.getAnnotatedElements().add(messageOccurrenceSpecification);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ comment.getAnnotatedElements().add(literalInteger);
+
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+ comment.getAnnotatedElements().add(slot);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ comment.getAnnotatedElements().add(centralBufferNode);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ comment.getAnnotatedElements().add(extension);
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ comment.getAnnotatedElements().add(extensionPoint);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ comment.getAnnotatedElements().add(elementImport);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ comment.getAnnotatedElements().add(dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ comment.getAnnotatedElements().add(expression);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ comment.getAnnotatedElements().add(behaviorExecutionSpecification);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ comment.getAnnotatedElements().add(acceptCallAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ comment.getAnnotatedElements().add(readLinkObjectEndAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ comment.getAnnotatedElements().add(opaqueAction);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ comment.getAnnotatedElements().add(packageImport);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ comment.getAnnotatedElements().add(stringExpression);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ comment.getAnnotatedElements().add(mergeNode);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ comment.getAnnotatedElements().add(templateSignature);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ comment.getAnnotatedElements().add(changeEvent);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ comment.getAnnotatedElements().add(stereotype);
+
+ Comment comment2 = UML.createComment();
+ assertValid(comment2);
+ comment.getAnnotatedElements().add(comment2);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ comment.getAnnotatedElements().add(readSelfAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ comment.getAnnotatedElements().add(activityPartition);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ comment.getAnnotatedElements().add(manifestation);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ comment.getAnnotatedElements().add(interaction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ comment.getAnnotatedElements().add(exceptionHandler);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ comment.getAnnotatedElements().add(opaqueBehavior);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ comment.getAnnotatedElements().add(literalUnlimitedNatural);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ comment.getAnnotatedElements().add(sendSignalAction);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ comment.getAnnotatedElements().add(operation);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ comment.getAnnotatedElements().add(clearAssociationAction);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ comment.getAnnotatedElements().add(parameter);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ comment.getAnnotatedElements().add(instanceValue);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ comment.getAnnotatedElements().add(interactionConstraint);
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ comment.getAnnotatedElements().add(interactionUse);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ comment.getAnnotatedElements().add(interval);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ comment.getAnnotatedElements().add(literalString);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ comment.getAnnotatedElements().add(valuePin);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ comment.getAnnotatedElements().add(interfaceRealization);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ comment.getAnnotatedElements().add(decisionNode);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ comment.getAnnotatedElements().add(actor);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ comment.getAnnotatedElements().add(generalization);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ comment.getAnnotatedElements().add(reception);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ comment.getAnnotatedElements().add(pseudostate);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ comment.getAnnotatedElements().add(durationInterval);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ comment.getAnnotatedElements().add(deployment);
+
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+ comment.getAnnotatedElements().add(qualifierValue);
+
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ comment.getAnnotatedElements().add(packageMerge);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ comment.getAnnotatedElements().add(conditionalNode);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ comment.getAnnotatedElements().add(signalEvent);
+
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+ comment.getAnnotatedElements().add(templateParameterSubstitution);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ comment.getAnnotatedElements().add(connectionPointReference);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ comment.getAnnotatedElements().add(reclassifyObjectAction);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ comment.getAnnotatedElements().add(usage);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ comment.getAnnotatedElements().add(dataStoreNode);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ comment.getAnnotatedElements().add(executionEnvironment);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ comment.getAnnotatedElements().add(realization);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ comment.getAnnotatedElements().add(testIdentityAction);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ comment.getAnnotatedElements().add(association);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ comment.getAnnotatedElements().add(outputPin);
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ comment.getAnnotatedElements().add(include);
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ comment.getAnnotatedElements().add(extend);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ comment.getAnnotatedElements().add(broadcastSignalAction);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ comment.getAnnotatedElements().add(finalState);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ comment.getAnnotatedElements().add(raiseExceptionAction);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ comment.getAnnotatedElements().add(activityFinalNode);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ comment.getAnnotatedElements().add(protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ comment.getAnnotatedElements().add(loopNode);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ comment.getAnnotatedElements().add(parameterSet);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ comment.getAnnotatedElements().add(valueSpecificationAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ comment.getAnnotatedElements().add(sequenceNode);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ comment.getAnnotatedElements().add(destroyObjectAction);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ comment.getAnnotatedElements().add(enumerationLiteral);
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ comment.getAnnotatedElements().add(actionExecutionSpecification);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ comment.getAnnotatedElements().add(functionBehavior);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ comment.getAnnotatedElements().add(instanceSpecification);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ comment.getAnnotatedElements().add(port);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ comment.getAnnotatedElements().add(informationItem);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ comment.getAnnotatedElements().add(literalReal);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ comment.getAnnotatedElements().add(duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ comment.getAnnotatedElements().add(package_);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ comment.getAnnotatedElements().add(destructionOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ comment.getAnnotatedElements().add(lifeline);
+
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ comment.getAnnotatedElements().add(profileApplication);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ comment.getAnnotatedElements().add(timeObservation);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ comment.getAnnotatedElements().add(replyAction);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ comment.getAnnotatedElements().add(gate);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ comment.getAnnotatedElements().add(timeExpression);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ comment.getAnnotatedElements().add(device);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ comment.getAnnotatedElements().add(flowFinalNode);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ comment.getAnnotatedElements().add(abstraction);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ comment.getAnnotatedElements().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ comment.getAnnotatedElements().add(primitiveType);
+
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+ comment.getAnnotatedElements().add(linkEndDestructionData);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ comment.getAnnotatedElements().add(generalizationSet);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ comment.getAnnotatedElements().add(signal);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ comment.getAnnotatedElements().add(callBehaviorAction);
+
+ Clause clause = UML.createClause();
+ assertValid(clause);
+ comment.getAnnotatedElements().add(clause);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ comment.getAnnotatedElements().add(readIsClassifiedObjectAction);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ comment.getAnnotatedElements().add(activityParameterNode);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ comment.getAnnotatedElements().add(readVariableAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ comment.getAnnotatedElements().add(interruptibleActivityRegion);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ comment.getAnnotatedElements().add(removeStructuralFeatureValueAction);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ comment.getAnnotatedElements().add(region);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ comment.getAnnotatedElements().add(transition);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ comment.getAnnotatedElements().add(anyReceiveEvent);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ comment.getAnnotatedElements().add(reduceAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ comment.getAnnotatedElements().add(acceptEventAction);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ comment.getAnnotatedElements().add(initialNode);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ comment.getAnnotatedElements().add(combinedFragment);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ comment.getAnnotatedElements().add(intervalConstraint);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ comment.getAnnotatedElements().add(occurrenceSpecification);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ comment.getAnnotatedElements().add(connector);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ comment.getAnnotatedElements().add(componentRealization);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ comment.getAnnotatedElements().add(class_);
+
+ State state = UML.createState();
+ assertValid(state);
+ comment.getAnnotatedElements().add(state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ comment.getAnnotatedElements().add(protocolTransition);
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ comment.getAnnotatedElements().add(operationTemplateParameter);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ comment.getAnnotatedElements().add(collaborationUse);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ comment.getAnnotatedElements().add(interactionOperand);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ comment.getAnnotatedElements().add(addVariableValueAction);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ comment.getAnnotatedElements().add(useCase);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ comment.getAnnotatedElements().add(unmarshallAction);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ comment.getAnnotatedElements().add(createObjectAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ comment.getAnnotatedElements().add(readStructuralFeatureAction);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ comment.getAnnotatedElements().add(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CommunicationPathTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CommunicationPathTest.java
new file mode 100755
index 00000000..23f0e46c
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CommunicationPathTest.java
@@ -0,0 +1,641 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class CommunicationPathTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ communicationPath.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ communicationPath.getOwnedComments().add(comment);
+ assertSuperset(communicationPath.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ EList<Element> elements = communicationPath.getOwnedElements();
+ EList<Element> elements2 = communicationPath.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ EList<Dependency> dependencys = communicationPath
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = communicationPath
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ communicationPath.setNameExpression(stringExpression);
+ assertSuperset(
+ communicationPath.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ communicationPath.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ communicationPath.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ communicationPath.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ communicationPath.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ communicationPath.getOwnedRules().add(interactionConstraint);
+ assertSuperset(communicationPath.getOwnedMembers()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ communicationPath.getOwnedRules().add(constraint);
+ assertSuperset(
+ communicationPath.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ communicationPath.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ communicationPath.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ communicationPath.getElementImports().add(elementImport);
+ assertSuperset(
+ communicationPath.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ communicationPath.getPackageImports().add(packageImport);
+ assertSuperset(
+ communicationPath.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ EList<NamedElement> namedElements = communicationPath.getOwnedMembers();
+ EList<NamedElement> namedElements2 = communicationPath
+ .getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ EList<PackageableElement> packageableElements = communicationPath
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = communicationPath
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ EList<NamedElement> namedElements = communicationPath.getMembers();
+ EList<NamedElement> namedElements2 = communicationPath.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ EList<RedefinableElement> redefinableElements = communicationPath
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = communicationPath
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ EList<Classifier> classifiers = communicationPath
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = communicationPath
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ communicationPath
+ .setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(
+ communicationPath.getOwner() == classifierTemplateParameter);
+ assertSuperset(communicationPath
+ .getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ communicationPath.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ communicationPath.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ communicationPath.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ communicationPath
+ .setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(communicationPath.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ EList<Feature> features = communicationPath.getFeatures();
+ EList<Feature> features2 = communicationPath.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ EList<Property> propertys = communicationPath.getAttributes();
+ EList<Property> propertys2 = communicationPath.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ communicationPath.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ communicationPath.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ EList<Classifier> classifiers = communicationPath.getGenerals();
+ EList<Classifier> classifiers2 = communicationPath.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ communicationPath.getGeneralizations().add(generalization);
+ assertSuperset(
+ communicationPath.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ communicationPath.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ EList<NamedElement> namedElements = communicationPath
+ .getInheritedMembers();
+ EList<NamedElement> namedElements2 = communicationPath
+ .getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ communicationPath.getOwnedUseCases().add(useCase);
+ assertSuperset(communicationPath.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ communicationPath.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ communicationPath.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(communicationPath.getRedefinedElements()
+ .contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ communicationPath.getRedefinedClassifiers().add(activity);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ communicationPath.getRedefinedClassifiers().add(interface_);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ communicationPath.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath2 = UML.createCommunicationPath();
+ assertValid(communicationPath2);
+ communicationPath.getRedefinedClassifiers().add(communicationPath2);
+ assertSuperset(communicationPath.getRedefinedElements()
+ .contains(communicationPath2));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ communicationPath.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(communicationPath.getRedefinedElements()
+ .contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ communicationPath.getRedefinedClassifiers().add(component);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ communicationPath.getRedefinedClassifiers().add(interaction);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ communicationPath.getRedefinedClassifiers()
+ .add(deploymentSpecification);
+ assertSuperset(communicationPath.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ communicationPath.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ communicationPath.getRedefinedClassifiers().add(association);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ communicationPath.getRedefinedClassifiers().add(dataType);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ communicationPath.getRedefinedClassifiers().add(device);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ communicationPath.getRedefinedClassifiers().add(extension);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ communicationPath.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(communicationPath.getRedefinedElements()
+ .contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ communicationPath.getRedefinedClassifiers().add(class_);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ communicationPath.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ communicationPath.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ communicationPath.getRedefinedClassifiers().add(actor);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ communicationPath.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(communicationPath.getRedefinedElements()
+ .contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ communicationPath.getRedefinedClassifiers().add(useCase);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ communicationPath.getRedefinedClassifiers().add(signal);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ communicationPath.getRedefinedClassifiers().add(node);
+ assertSuperset(communicationPath.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ communicationPath.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ communicationPath.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ communicationPath.getRedefinedClassifiers().add(artifact);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ communicationPath.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ communicationPath.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ communicationPath.setRepresentation(collaborationUse);
+ assertSuperset(communicationPath.getCollaborationUses()
+ .contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ communicationPath.getSubstitutions().add(substitution);
+ assertSuperset(
+ communicationPath.getOwnedElements().contains(substitution));
+ assertSuperset(
+ communicationPath.getClientDependencies().contains(substitution));
+ }
+
+ public void testRelatedElement() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ EList<Element> elements = communicationPath.getRelatedElements();
+ EList<Element> elements2 = communicationPath.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testEndType() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ EList<Type> types = communicationPath.getEndTypes();
+ EList<Type> types2 = communicationPath.getEndTypes();
+ assertSame(types, types2);
+ }
+
+ public void testMemberEnd() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ communicationPath.getMemberEnds().add(port);
+ assertSuperset(communicationPath.getMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ communicationPath.getMemberEnds().add(extensionEnd);
+ assertSuperset(communicationPath.getMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ communicationPath.getMemberEnds().add(property);
+ assertSuperset(communicationPath.getMembers().contains(property));
+ }
+
+ public void testOwnedEnd() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ communicationPath.getOwnedEnds().add(port);
+ assertSuperset(communicationPath.getMemberEnds().contains(port));
+ assertSuperset(communicationPath.getFeatures().contains(port));
+ assertSuperset(communicationPath.getOwnedMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ communicationPath.getOwnedEnds().add(extensionEnd);
+ assertSuperset(
+ communicationPath.getMemberEnds().contains(extensionEnd));
+ assertSuperset(communicationPath.getFeatures().contains(extensionEnd));
+ assertSuperset(
+ communicationPath.getOwnedMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ communicationPath.getOwnedEnds().add(property);
+ assertSuperset(communicationPath.getMemberEnds().contains(property));
+ assertSuperset(communicationPath.getFeatures().contains(property));
+ assertSuperset(communicationPath.getOwnedMembers().contains(property));
+ }
+
+ public void testNavigableOwnedEnd() {
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ communicationPath.getNavigableOwnedEnds().add(port);
+ assertSuperset(communicationPath.getOwnedEnds().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ communicationPath.getNavigableOwnedEnds().add(extensionEnd);
+ assertSuperset(communicationPath.getOwnedEnds().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ communicationPath.getNavigableOwnedEnds().add(property);
+ assertSuperset(communicationPath.getOwnedEnds().contains(property));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ComponentRealizationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ComponentRealizationTest.java
new file mode 100755
index 00000000..2ff6641b
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ComponentRealizationTest.java
@@ -0,0 +1,2496 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class ComponentRealizationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ componentRealization.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ componentRealization.getOwnedComments().add(comment);
+ assertSuperset(
+ componentRealization.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ EList<Element> elements = componentRealization.getOwnedElements();
+ EList<Element> elements2 = componentRealization.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ EList<Dependency> dependencys = componentRealization
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = componentRealization
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ componentRealization.setNameExpression(stringExpression);
+ assertSuperset(
+ componentRealization.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ componentRealization.setOwningTemplateParameter(templateParameter);
+ assertSuperset(componentRealization.getOwner() == templateParameter);
+ assertSuperset(
+ componentRealization.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ componentRealization.setTemplateParameter(templateParameter);
+ }
+
+ public void testRelatedElement() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ EList<Element> elements = componentRealization.getRelatedElements();
+ EList<Element> elements2 = componentRealization.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ EList<Element> elements = componentRealization.getSources();
+ EList<Element> elements2 = componentRealization.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ EList<Element> elements = componentRealization.getTargets();
+ EList<Element> elements2 = componentRealization.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testClient() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ componentRealization.getClients().add(activity);
+ assertSuperset(componentRealization.getSources().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ componentRealization.getClients().add(communicationPath);
+ assertSuperset(
+ componentRealization.getSources().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ componentRealization.getClients().add(readSelfAction);
+ assertSuperset(
+ componentRealization.getSources().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ componentRealization.getClients().add(activityPartition);
+ assertSuperset(
+ componentRealization.getSources().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ componentRealization.getClients().add(inputPin);
+ assertSuperset(componentRealization.getSources().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ componentRealization.getClients().add(readLinkObjectEndQualifierAction);
+ assertSuperset(componentRealization.getSources()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ componentRealization.getClients().add(component);
+ assertSuperset(componentRealization.getSources().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ componentRealization.getClients().add(manifestation);
+ assertSuperset(
+ componentRealization.getSources().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ componentRealization.getClients().add(durationObservation);
+ assertSuperset(
+ componentRealization.getSources().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ componentRealization.getClients().add(callEvent);
+ assertSuperset(componentRealization.getSources().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ componentRealization.getClients().add(joinNode);
+ assertSuperset(componentRealization.getSources().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ componentRealization.getClients().add(interaction);
+ assertSuperset(componentRealization.getSources().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ componentRealization.getClients().add(createLinkObjectAction);
+ assertSuperset(
+ componentRealization.getSources().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ componentRealization.getClients().add(opaqueBehavior);
+ assertSuperset(
+ componentRealization.getSources().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ componentRealization.getClients().add(literalUnlimitedNatural);
+ assertSuperset(componentRealization.getSources()
+ .contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ componentRealization.getClients().add(sendSignalAction);
+ assertSuperset(
+ componentRealization.getSources().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ componentRealization.getClients().add(readLinkAction);
+ assertSuperset(
+ componentRealization.getSources().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ componentRealization.getClients().add(operation);
+ assertSuperset(componentRealization.getSources().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ componentRealization.getClients().add(clearAssociationAction);
+ assertSuperset(
+ componentRealization.getSources().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ componentRealization.getClients().add(model);
+ assertSuperset(componentRealization.getSources().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ componentRealization.getClients().add(parameter);
+ assertSuperset(componentRealization.getSources().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ componentRealization.getClients().add(instanceValue);
+ assertSuperset(
+ componentRealization.getSources().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ componentRealization.getClients().add(trigger);
+ assertSuperset(componentRealization.getSources().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ componentRealization.getClients().add(interactionConstraint);
+ assertSuperset(
+ componentRealization.getSources().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ componentRealization.getClients().add(associationClass);
+ assertSuperset(
+ componentRealization.getSources().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ componentRealization.getClients().add(interactionUse);
+ assertSuperset(
+ componentRealization.getSources().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ componentRealization.getClients().add(clearStructuralFeatureAction);
+ assertSuperset(componentRealization.getSources()
+ .contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ componentRealization.getClients().add(interval);
+ assertSuperset(componentRealization.getSources().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ componentRealization.getClients().add(structuredActivityNode);
+ assertSuperset(
+ componentRealization.getSources().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ componentRealization.getClients().add(literalString);
+ assertSuperset(
+ componentRealization.getSources().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ componentRealization.getClients().add(valuePin);
+ assertSuperset(componentRealization.getSources().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ componentRealization.getClients().add(interfaceRealization);
+ assertSuperset(
+ componentRealization.getSources().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ componentRealization.getClients().add(forkNode);
+ assertSuperset(componentRealization.getSources().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ componentRealization.getClients().add(decisionNode);
+ assertSuperset(
+ componentRealization.getSources().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ componentRealization.getClients().add(actor);
+ assertSuperset(componentRealization.getSources().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ componentRealization.getClients().add(timeConstraint);
+ assertSuperset(
+ componentRealization.getSources().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ componentRealization.getClients().add(reception);
+ assertSuperset(componentRealization.getSources().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ componentRealization.getClients().add(pseudostate);
+ assertSuperset(componentRealization.getSources().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ componentRealization.getClients().add(durationInterval);
+ assertSuperset(
+ componentRealization.getSources().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ componentRealization.getClients().add(deployment);
+ assertSuperset(componentRealization.getSources().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ componentRealization.getClients().add(extensionEnd);
+ assertSuperset(
+ componentRealization.getSources().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ componentRealization.getClients().add(considerIgnoreFragment);
+ assertSuperset(
+ componentRealization.getSources().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ componentRealization.getClients().add(conditionalNode);
+ assertSuperset(
+ componentRealization.getSources().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ componentRealization.getClients().add(readExtentAction);
+ assertSuperset(
+ componentRealization.getSources().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ componentRealization.getClients().add(actionInputPin);
+ assertSuperset(
+ componentRealization.getSources().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ componentRealization.getClients().add(artifact);
+ assertSuperset(componentRealization.getSources().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ componentRealization.getClients().add(informationFlow);
+ assertSuperset(
+ componentRealization.getSources().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ componentRealization.getClients().add(clearVariableAction);
+ assertSuperset(
+ componentRealization.getSources().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ componentRealization.getClients().add(createLinkAction);
+ assertSuperset(
+ componentRealization.getSources().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ componentRealization.getClients().add(signalEvent);
+ assertSuperset(componentRealization.getSources().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ componentRealization.getClients().add(connectionPointReference);
+ assertSuperset(componentRealization.getSources()
+ .contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ componentRealization.getClients().add(reclassifyObjectAction);
+ assertSuperset(
+ componentRealization.getSources().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ componentRealization.getClients().add(usage);
+ assertSuperset(componentRealization.getSources().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ componentRealization.getClients().add(dataStoreNode);
+ assertSuperset(
+ componentRealization.getSources().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ componentRealization.getClients().add(executionEnvironment);
+ assertSuperset(
+ componentRealization.getSources().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ componentRealization.getClients().add(sendObjectAction);
+ assertSuperset(
+ componentRealization.getSources().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ componentRealization.getClients().add(controlFlow);
+ assertSuperset(componentRealization.getSources().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ componentRealization.getClients().add(deploymentSpecification);
+ assertSuperset(componentRealization.getSources()
+ .contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ componentRealization.getClients().add(partDecomposition);
+ assertSuperset(
+ componentRealization.getSources().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ componentRealization.getClients().add(destroyLinkAction);
+ assertSuperset(
+ componentRealization.getSources().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ componentRealization.getClients().add(realization);
+ assertSuperset(componentRealization.getSources().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ componentRealization.getClients().add(expansionNode);
+ assertSuperset(
+ componentRealization.getSources().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ componentRealization.getClients().add(testIdentityAction);
+ assertSuperset(
+ componentRealization.getSources().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ componentRealization.getClients().add(association);
+ assertSuperset(componentRealization.getSources().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ componentRealization.getClients().add(timeInterval);
+ assertSuperset(
+ componentRealization.getSources().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ componentRealization.getClients().add(dataType);
+ assertSuperset(componentRealization.getSources().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ componentRealization.getClients().add(outputPin);
+ assertSuperset(componentRealization.getSources().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ componentRealization.getClients().add(substitution);
+ assertSuperset(
+ componentRealization.getSources().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ componentRealization.getClients().add(include);
+ assertSuperset(componentRealization.getSources().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ componentRealization.getClients().add(extend);
+ assertSuperset(componentRealization.getSources().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ componentRealization.getClients().add(broadcastSignalAction);
+ assertSuperset(
+ componentRealization.getSources().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ componentRealization.getClients().add(literalBoolean);
+ assertSuperset(
+ componentRealization.getSources().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ componentRealization.getClients().add(finalState);
+ assertSuperset(componentRealization.getSources().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ componentRealization.getClients().add(raiseExceptionAction);
+ assertSuperset(
+ componentRealization.getSources().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ componentRealization.getClients().add(durationConstraint);
+ assertSuperset(
+ componentRealization.getSources().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ componentRealization.getClients().add(activityFinalNode);
+ assertSuperset(
+ componentRealization.getSources().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ componentRealization.getClients().add(literalNull);
+ assertSuperset(componentRealization.getSources().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ componentRealization.getClients().add(callOperationAction);
+ assertSuperset(
+ componentRealization.getSources().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ componentRealization.getClients().add(protocolStateMachine);
+ assertSuperset(
+ componentRealization.getSources().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ componentRealization.getClients().add(loopNode);
+ assertSuperset(componentRealization.getSources().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ componentRealization.getClients().add(parameterSet);
+ assertSuperset(
+ componentRealization.getSources().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ componentRealization.getClients().add(valueSpecificationAction);
+ assertSuperset(componentRealization.getSources()
+ .contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ componentRealization.getClients().add(node);
+ assertSuperset(componentRealization.getSources().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ componentRealization.getClients().add(sequenceNode);
+ assertSuperset(
+ componentRealization.getSources().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ componentRealization.getClients().add(constraint);
+ assertSuperset(componentRealization.getSources().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ componentRealization.getClients().add(destroyObjectAction);
+ assertSuperset(
+ componentRealization.getSources().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ componentRealization.getClients().add(stateMachine);
+ assertSuperset(
+ componentRealization.getSources().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ componentRealization.getClients().add(enumerationLiteral);
+ assertSuperset(
+ componentRealization.getSources().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ componentRealization.getClients().add(actionExecutionSpecification);
+ assertSuperset(componentRealization.getSources()
+ .contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ componentRealization.getClients().add(functionBehavior);
+ assertSuperset(
+ componentRealization.getSources().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ componentRealization.getClients().add(interface_);
+ assertSuperset(componentRealization.getSources().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ componentRealization.getClients().add(instanceSpecification);
+ assertSuperset(
+ componentRealization.getSources().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ componentRealization.getClients().add(startClassifierBehaviorAction);
+ assertSuperset(componentRealization.getSources()
+ .contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ componentRealization.getClients().add(port);
+ assertSuperset(componentRealization.getSources().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ componentRealization.getClients().add(removeVariableValueAction);
+ assertSuperset(componentRealization.getSources()
+ .contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ componentRealization.getClients().add(informationItem);
+ assertSuperset(
+ componentRealization.getSources().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ componentRealization.getClients().add(literalReal);
+ assertSuperset(componentRealization.getSources().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ componentRealization.getClients().add(redefinableTemplateSignature);
+ assertSuperset(componentRealization.getSources()
+ .contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ componentRealization.getClients().add(executionOccurrenceSpecification);
+ assertSuperset(componentRealization.getSources()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ componentRealization.getClients().add(duration);
+ assertSuperset(componentRealization.getSources().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ componentRealization.getClients().add(package_);
+ assertSuperset(componentRealization.getSources().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ componentRealization.getClients().add(variable);
+ assertSuperset(componentRealization.getSources().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ componentRealization.getClients()
+ .add(destructionOccurrenceSpecification);
+ assertSuperset(componentRealization.getSources()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ componentRealization.getClients().add(lifeline);
+ assertSuperset(componentRealization.getSources().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ componentRealization.getClients().add(timeObservation);
+ assertSuperset(
+ componentRealization.getSources().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ componentRealization.getClients().add(replyAction);
+ assertSuperset(componentRealization.getSources().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ componentRealization.getClients().add(gate);
+ assertSuperset(componentRealization.getSources().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ componentRealization.getClients().add(property);
+ assertSuperset(componentRealization.getSources().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ componentRealization.getClients().add(timeExpression);
+ assertSuperset(
+ componentRealization.getSources().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ componentRealization.getClients().add(device);
+ assertSuperset(componentRealization.getSources().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ componentRealization.getClients().add(flowFinalNode);
+ assertSuperset(
+ componentRealization.getSources().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ componentRealization.getClients().add(expansionRegion);
+ assertSuperset(
+ componentRealization.getSources().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ componentRealization.getClients().add(abstraction);
+ assertSuperset(componentRealization.getSources().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ componentRealization.getClients().add(startObjectBehaviorAction);
+ assertSuperset(componentRealization.getSources()
+ .contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ componentRealization.getClients().add(enumeration);
+ assertSuperset(componentRealization.getSources().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ componentRealization.getClients().add(primitiveType);
+ assertSuperset(
+ componentRealization.getSources().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ componentRealization.getClients().add(profile);
+ assertSuperset(componentRealization.getSources().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ componentRealization.getClients().add(message);
+ assertSuperset(componentRealization.getSources().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ componentRealization.getClients().add(generalizationSet);
+ assertSuperset(
+ componentRealization.getSources().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ componentRealization.getClients().add(continuation);
+ assertSuperset(
+ componentRealization.getSources().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ componentRealization.getClients().add(signal);
+ assertSuperset(componentRealization.getSources().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ componentRealization.getClients().add(callBehaviorAction);
+ assertSuperset(
+ componentRealization.getSources().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ componentRealization.getClients().add(objectFlow);
+ assertSuperset(componentRealization.getSources().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ componentRealization.getClients().add(stateInvariant);
+ assertSuperset(
+ componentRealization.getSources().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ componentRealization.getClients().add(readIsClassifiedObjectAction);
+ assertSuperset(componentRealization.getSources()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ componentRealization.getClients().add(activityParameterNode);
+ assertSuperset(
+ componentRealization.getSources().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ componentRealization.getClients().add(addStructuralFeatureValueAction);
+ assertSuperset(componentRealization.getSources()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ componentRealization.getClients().add(readVariableAction);
+ assertSuperset(
+ componentRealization.getSources().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ componentRealization.getClients().add(interruptibleActivityRegion);
+ assertSuperset(componentRealization.getSources()
+ .contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ componentRealization.getClients()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(componentRealization.getSources()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ componentRealization.getClients().add(opaqueExpression);
+ assertSuperset(
+ componentRealization.getSources().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ componentRealization.getClients().add(timeEvent);
+ assertSuperset(componentRealization.getSources().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ componentRealization.getClients().add(generalOrdering);
+ assertSuperset(
+ componentRealization.getSources().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ componentRealization.getClients().add(region);
+ assertSuperset(componentRealization.getSources().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ componentRealization.getClients().add(transition);
+ assertSuperset(componentRealization.getSources().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ componentRealization.getClients().add(anyReceiveEvent);
+ assertSuperset(
+ componentRealization.getSources().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ componentRealization.getClients().add(messageOccurrenceSpecification);
+ assertSuperset(componentRealization.getSources()
+ .contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ componentRealization.getClients().add(literalInteger);
+ assertSuperset(
+ componentRealization.getSources().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ componentRealization.getClients().add(reduceAction);
+ assertSuperset(
+ componentRealization.getSources().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ componentRealization.getClients().add(acceptEventAction);
+ assertSuperset(
+ componentRealization.getSources().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ componentRealization.getClients().add(initialNode);
+ assertSuperset(componentRealization.getSources().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ componentRealization.getClients().add(centralBufferNode);
+ assertSuperset(
+ componentRealization.getSources().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ componentRealization.getClients().add(combinedFragment);
+ assertSuperset(
+ componentRealization.getSources().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ componentRealization.getClients().add(intervalConstraint);
+ assertSuperset(
+ componentRealization.getSources().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ componentRealization.getClients().add(extension);
+ assertSuperset(componentRealization.getSources().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ componentRealization.getClients().add(occurrenceSpecification);
+ assertSuperset(componentRealization.getSources()
+ .contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ componentRealization.getClients().add(extensionPoint);
+ assertSuperset(
+ componentRealization.getSources().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ componentRealization.getClients().add(dependency);
+ assertSuperset(componentRealization.getSources().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ componentRealization.getClients().add(connector);
+ assertSuperset(componentRealization.getSources().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ componentRealization.getClients().add(expression);
+ assertSuperset(componentRealization.getSources().contains(expression));
+
+ ComponentRealization componentRealization2 = UML
+ .createComponentRealization();
+ assertValid(componentRealization2);
+ componentRealization.getClients().add(componentRealization2);
+ assertSuperset(
+ componentRealization.getSources().contains(componentRealization2));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ componentRealization.getClients().add(class_);
+ assertSuperset(componentRealization.getSources().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ componentRealization.getClients().add(state);
+ assertSuperset(componentRealization.getSources().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ componentRealization.getClients().add(protocolTransition);
+ assertSuperset(
+ componentRealization.getSources().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ componentRealization.getClients().add(behaviorExecutionSpecification);
+ assertSuperset(componentRealization.getSources()
+ .contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ componentRealization.getClients().add(collaborationUse);
+ assertSuperset(
+ componentRealization.getSources().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ componentRealization.getClients().add(interactionOperand);
+ assertSuperset(
+ componentRealization.getSources().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ componentRealization.getClients().add(acceptCallAction);
+ assertSuperset(
+ componentRealization.getSources().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ componentRealization.getClients().add(addVariableValueAction);
+ assertSuperset(
+ componentRealization.getSources().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ componentRealization.getClients().add(readLinkObjectEndAction);
+ assertSuperset(componentRealization.getSources()
+ .contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ componentRealization.getClients().add(useCase);
+ assertSuperset(componentRealization.getSources().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ componentRealization.getClients().add(unmarshallAction);
+ assertSuperset(
+ componentRealization.getSources().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ componentRealization.getClients().add(opaqueAction);
+ assertSuperset(
+ componentRealization.getSources().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ componentRealization.getClients().add(stringExpression);
+ assertSuperset(
+ componentRealization.getSources().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ componentRealization.getClients().add(mergeNode);
+ assertSuperset(componentRealization.getSources().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ componentRealization.getClients().add(changeEvent);
+ assertSuperset(componentRealization.getSources().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ componentRealization.getClients().add(createObjectAction);
+ assertSuperset(
+ componentRealization.getSources().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ componentRealization.getClients().add(stereotype);
+ assertSuperset(componentRealization.getSources().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ componentRealization.getClients().add(readStructuralFeatureAction);
+ assertSuperset(componentRealization.getSources()
+ .contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ componentRealization.getClients().add(collaboration);
+ assertSuperset(
+ componentRealization.getSources().contains(collaboration));
+ }
+
+ public void testSupplier() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ componentRealization.getSuppliers().add(activity);
+ assertSuperset(componentRealization.getTargets().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ componentRealization.getSuppliers().add(communicationPath);
+ assertSuperset(
+ componentRealization.getTargets().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ componentRealization.getSuppliers().add(readSelfAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ componentRealization.getSuppliers().add(activityPartition);
+ assertSuperset(
+ componentRealization.getTargets().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ componentRealization.getSuppliers().add(inputPin);
+ assertSuperset(componentRealization.getTargets().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ componentRealization.getSuppliers()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(componentRealization.getTargets()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ componentRealization.getSuppliers().add(component);
+ assertSuperset(componentRealization.getTargets().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ componentRealization.getSuppliers().add(manifestation);
+ assertSuperset(
+ componentRealization.getTargets().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ componentRealization.getSuppliers().add(durationObservation);
+ assertSuperset(
+ componentRealization.getTargets().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ componentRealization.getSuppliers().add(callEvent);
+ assertSuperset(componentRealization.getTargets().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ componentRealization.getSuppliers().add(joinNode);
+ assertSuperset(componentRealization.getTargets().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ componentRealization.getSuppliers().add(interaction);
+ assertSuperset(componentRealization.getTargets().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ componentRealization.getSuppliers().add(createLinkObjectAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ componentRealization.getSuppliers().add(opaqueBehavior);
+ assertSuperset(
+ componentRealization.getTargets().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ componentRealization.getSuppliers().add(literalUnlimitedNatural);
+ assertSuperset(componentRealization.getTargets()
+ .contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ componentRealization.getSuppliers().add(sendSignalAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ componentRealization.getSuppliers().add(readLinkAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ componentRealization.getSuppliers().add(operation);
+ assertSuperset(componentRealization.getTargets().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ componentRealization.getSuppliers().add(clearAssociationAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ componentRealization.getSuppliers().add(model);
+ assertSuperset(componentRealization.getTargets().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ componentRealization.getSuppliers().add(parameter);
+ assertSuperset(componentRealization.getTargets().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ componentRealization.getSuppliers().add(instanceValue);
+ assertSuperset(
+ componentRealization.getTargets().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ componentRealization.getSuppliers().add(trigger);
+ assertSuperset(componentRealization.getTargets().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ componentRealization.getSuppliers().add(interactionConstraint);
+ assertSuperset(
+ componentRealization.getTargets().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ componentRealization.getSuppliers().add(associationClass);
+ assertSuperset(
+ componentRealization.getTargets().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ componentRealization.getSuppliers().add(interactionUse);
+ assertSuperset(
+ componentRealization.getTargets().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ componentRealization.getSuppliers().add(clearStructuralFeatureAction);
+ assertSuperset(componentRealization.getTargets()
+ .contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ componentRealization.getSuppliers().add(interval);
+ assertSuperset(componentRealization.getTargets().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ componentRealization.getSuppliers().add(structuredActivityNode);
+ assertSuperset(
+ componentRealization.getTargets().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ componentRealization.getSuppliers().add(literalString);
+ assertSuperset(
+ componentRealization.getTargets().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ componentRealization.getSuppliers().add(valuePin);
+ assertSuperset(componentRealization.getTargets().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ componentRealization.getSuppliers().add(interfaceRealization);
+ assertSuperset(
+ componentRealization.getTargets().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ componentRealization.getSuppliers().add(forkNode);
+ assertSuperset(componentRealization.getTargets().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ componentRealization.getSuppliers().add(decisionNode);
+ assertSuperset(
+ componentRealization.getTargets().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ componentRealization.getSuppliers().add(actor);
+ assertSuperset(componentRealization.getTargets().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ componentRealization.getSuppliers().add(timeConstraint);
+ assertSuperset(
+ componentRealization.getTargets().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ componentRealization.getSuppliers().add(reception);
+ assertSuperset(componentRealization.getTargets().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ componentRealization.getSuppliers().add(pseudostate);
+ assertSuperset(componentRealization.getTargets().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ componentRealization.getSuppliers().add(durationInterval);
+ assertSuperset(
+ componentRealization.getTargets().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ componentRealization.getSuppliers().add(deployment);
+ assertSuperset(componentRealization.getTargets().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ componentRealization.getSuppliers().add(extensionEnd);
+ assertSuperset(
+ componentRealization.getTargets().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ componentRealization.getSuppliers().add(considerIgnoreFragment);
+ assertSuperset(
+ componentRealization.getTargets().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ componentRealization.getSuppliers().add(conditionalNode);
+ assertSuperset(
+ componentRealization.getTargets().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ componentRealization.getSuppliers().add(readExtentAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ componentRealization.getSuppliers().add(actionInputPin);
+ assertSuperset(
+ componentRealization.getTargets().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ componentRealization.getSuppliers().add(artifact);
+ assertSuperset(componentRealization.getTargets().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ componentRealization.getSuppliers().add(informationFlow);
+ assertSuperset(
+ componentRealization.getTargets().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ componentRealization.getSuppliers().add(clearVariableAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ componentRealization.getSuppliers().add(createLinkAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ componentRealization.getSuppliers().add(signalEvent);
+ assertSuperset(componentRealization.getTargets().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ componentRealization.getSuppliers().add(connectionPointReference);
+ assertSuperset(componentRealization.getTargets()
+ .contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ componentRealization.getSuppliers().add(reclassifyObjectAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ componentRealization.getSuppliers().add(usage);
+ assertSuperset(componentRealization.getTargets().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ componentRealization.getSuppliers().add(dataStoreNode);
+ assertSuperset(
+ componentRealization.getTargets().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ componentRealization.getSuppliers().add(executionEnvironment);
+ assertSuperset(
+ componentRealization.getTargets().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ componentRealization.getSuppliers().add(sendObjectAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ componentRealization.getSuppliers().add(controlFlow);
+ assertSuperset(componentRealization.getTargets().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ componentRealization.getSuppliers().add(deploymentSpecification);
+ assertSuperset(componentRealization.getTargets()
+ .contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ componentRealization.getSuppliers().add(partDecomposition);
+ assertSuperset(
+ componentRealization.getTargets().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ componentRealization.getSuppliers().add(destroyLinkAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ componentRealization.getSuppliers().add(realization);
+ assertSuperset(componentRealization.getTargets().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ componentRealization.getSuppliers().add(expansionNode);
+ assertSuperset(
+ componentRealization.getTargets().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ componentRealization.getSuppliers().add(testIdentityAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ componentRealization.getSuppliers().add(association);
+ assertSuperset(componentRealization.getTargets().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ componentRealization.getSuppliers().add(timeInterval);
+ assertSuperset(
+ componentRealization.getTargets().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ componentRealization.getSuppliers().add(dataType);
+ assertSuperset(componentRealization.getTargets().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ componentRealization.getSuppliers().add(outputPin);
+ assertSuperset(componentRealization.getTargets().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ componentRealization.getSuppliers().add(substitution);
+ assertSuperset(
+ componentRealization.getTargets().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ componentRealization.getSuppliers().add(include);
+ assertSuperset(componentRealization.getTargets().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ componentRealization.getSuppliers().add(extend);
+ assertSuperset(componentRealization.getTargets().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ componentRealization.getSuppliers().add(broadcastSignalAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ componentRealization.getSuppliers().add(literalBoolean);
+ assertSuperset(
+ componentRealization.getTargets().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ componentRealization.getSuppliers().add(finalState);
+ assertSuperset(componentRealization.getTargets().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ componentRealization.getSuppliers().add(raiseExceptionAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ componentRealization.getSuppliers().add(durationConstraint);
+ assertSuperset(
+ componentRealization.getTargets().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ componentRealization.getSuppliers().add(activityFinalNode);
+ assertSuperset(
+ componentRealization.getTargets().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ componentRealization.getSuppliers().add(literalNull);
+ assertSuperset(componentRealization.getTargets().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ componentRealization.getSuppliers().add(callOperationAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ componentRealization.getSuppliers().add(protocolStateMachine);
+ assertSuperset(
+ componentRealization.getTargets().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ componentRealization.getSuppliers().add(loopNode);
+ assertSuperset(componentRealization.getTargets().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ componentRealization.getSuppliers().add(parameterSet);
+ assertSuperset(
+ componentRealization.getTargets().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ componentRealization.getSuppliers().add(valueSpecificationAction);
+ assertSuperset(componentRealization.getTargets()
+ .contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ componentRealization.getSuppliers().add(node);
+ assertSuperset(componentRealization.getTargets().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ componentRealization.getSuppliers().add(sequenceNode);
+ assertSuperset(
+ componentRealization.getTargets().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ componentRealization.getSuppliers().add(constraint);
+ assertSuperset(componentRealization.getTargets().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ componentRealization.getSuppliers().add(destroyObjectAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ componentRealization.getSuppliers().add(stateMachine);
+ assertSuperset(
+ componentRealization.getTargets().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ componentRealization.getSuppliers().add(enumerationLiteral);
+ assertSuperset(
+ componentRealization.getTargets().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ componentRealization.getSuppliers().add(actionExecutionSpecification);
+ assertSuperset(componentRealization.getTargets()
+ .contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ componentRealization.getSuppliers().add(functionBehavior);
+ assertSuperset(
+ componentRealization.getTargets().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ componentRealization.getSuppliers().add(interface_);
+ assertSuperset(componentRealization.getTargets().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ componentRealization.getSuppliers().add(instanceSpecification);
+ assertSuperset(
+ componentRealization.getTargets().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ componentRealization.getSuppliers().add(startClassifierBehaviorAction);
+ assertSuperset(componentRealization.getTargets()
+ .contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ componentRealization.getSuppliers().add(port);
+ assertSuperset(componentRealization.getTargets().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ componentRealization.getSuppliers().add(removeVariableValueAction);
+ assertSuperset(componentRealization.getTargets()
+ .contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ componentRealization.getSuppliers().add(informationItem);
+ assertSuperset(
+ componentRealization.getTargets().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ componentRealization.getSuppliers().add(literalReal);
+ assertSuperset(componentRealization.getTargets().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ componentRealization.getSuppliers().add(redefinableTemplateSignature);
+ assertSuperset(componentRealization.getTargets()
+ .contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ componentRealization.getSuppliers()
+ .add(executionOccurrenceSpecification);
+ assertSuperset(componentRealization.getTargets()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ componentRealization.getSuppliers().add(duration);
+ assertSuperset(componentRealization.getTargets().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ componentRealization.getSuppliers().add(package_);
+ assertSuperset(componentRealization.getTargets().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ componentRealization.getSuppliers().add(variable);
+ assertSuperset(componentRealization.getTargets().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ componentRealization.getSuppliers()
+ .add(destructionOccurrenceSpecification);
+ assertSuperset(componentRealization.getTargets()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ componentRealization.getSuppliers().add(lifeline);
+ assertSuperset(componentRealization.getTargets().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ componentRealization.getSuppliers().add(timeObservation);
+ assertSuperset(
+ componentRealization.getTargets().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ componentRealization.getSuppliers().add(replyAction);
+ assertSuperset(componentRealization.getTargets().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ componentRealization.getSuppliers().add(gate);
+ assertSuperset(componentRealization.getTargets().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ componentRealization.getSuppliers().add(property);
+ assertSuperset(componentRealization.getTargets().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ componentRealization.getSuppliers().add(timeExpression);
+ assertSuperset(
+ componentRealization.getTargets().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ componentRealization.getSuppliers().add(device);
+ assertSuperset(componentRealization.getTargets().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ componentRealization.getSuppliers().add(flowFinalNode);
+ assertSuperset(
+ componentRealization.getTargets().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ componentRealization.getSuppliers().add(expansionRegion);
+ assertSuperset(
+ componentRealization.getTargets().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ componentRealization.getSuppliers().add(abstraction);
+ assertSuperset(componentRealization.getTargets().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ componentRealization.getSuppliers().add(startObjectBehaviorAction);
+ assertSuperset(componentRealization.getTargets()
+ .contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ componentRealization.getSuppliers().add(enumeration);
+ assertSuperset(componentRealization.getTargets().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ componentRealization.getSuppliers().add(primitiveType);
+ assertSuperset(
+ componentRealization.getTargets().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ componentRealization.getSuppliers().add(profile);
+ assertSuperset(componentRealization.getTargets().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ componentRealization.getSuppliers().add(message);
+ assertSuperset(componentRealization.getTargets().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ componentRealization.getSuppliers().add(generalizationSet);
+ assertSuperset(
+ componentRealization.getTargets().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ componentRealization.getSuppliers().add(continuation);
+ assertSuperset(
+ componentRealization.getTargets().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ componentRealization.getSuppliers().add(signal);
+ assertSuperset(componentRealization.getTargets().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ componentRealization.getSuppliers().add(callBehaviorAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ componentRealization.getSuppliers().add(objectFlow);
+ assertSuperset(componentRealization.getTargets().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ componentRealization.getSuppliers().add(stateInvariant);
+ assertSuperset(
+ componentRealization.getTargets().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ componentRealization.getSuppliers().add(readIsClassifiedObjectAction);
+ assertSuperset(componentRealization.getTargets()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ componentRealization.getSuppliers().add(activityParameterNode);
+ assertSuperset(
+ componentRealization.getTargets().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ componentRealization.getSuppliers()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(componentRealization.getTargets()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ componentRealization.getSuppliers().add(readVariableAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ componentRealization.getSuppliers().add(interruptibleActivityRegion);
+ assertSuperset(componentRealization.getTargets()
+ .contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ componentRealization.getSuppliers()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(componentRealization.getTargets()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ componentRealization.getSuppliers().add(opaqueExpression);
+ assertSuperset(
+ componentRealization.getTargets().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ componentRealization.getSuppliers().add(timeEvent);
+ assertSuperset(componentRealization.getTargets().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ componentRealization.getSuppliers().add(generalOrdering);
+ assertSuperset(
+ componentRealization.getTargets().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ componentRealization.getSuppliers().add(region);
+ assertSuperset(componentRealization.getTargets().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ componentRealization.getSuppliers().add(transition);
+ assertSuperset(componentRealization.getTargets().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ componentRealization.getSuppliers().add(anyReceiveEvent);
+ assertSuperset(
+ componentRealization.getTargets().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ componentRealization.getSuppliers().add(messageOccurrenceSpecification);
+ assertSuperset(componentRealization.getTargets()
+ .contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ componentRealization.getSuppliers().add(literalInteger);
+ assertSuperset(
+ componentRealization.getTargets().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ componentRealization.getSuppliers().add(reduceAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ componentRealization.getSuppliers().add(acceptEventAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ componentRealization.getSuppliers().add(initialNode);
+ assertSuperset(componentRealization.getTargets().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ componentRealization.getSuppliers().add(centralBufferNode);
+ assertSuperset(
+ componentRealization.getTargets().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ componentRealization.getSuppliers().add(combinedFragment);
+ assertSuperset(
+ componentRealization.getTargets().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ componentRealization.getSuppliers().add(intervalConstraint);
+ assertSuperset(
+ componentRealization.getTargets().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ componentRealization.getSuppliers().add(extension);
+ assertSuperset(componentRealization.getTargets().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ componentRealization.getSuppliers().add(occurrenceSpecification);
+ assertSuperset(componentRealization.getTargets()
+ .contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ componentRealization.getSuppliers().add(extensionPoint);
+ assertSuperset(
+ componentRealization.getTargets().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ componentRealization.getSuppliers().add(dependency);
+ assertSuperset(componentRealization.getTargets().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ componentRealization.getSuppliers().add(connector);
+ assertSuperset(componentRealization.getTargets().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ componentRealization.getSuppliers().add(expression);
+ assertSuperset(componentRealization.getTargets().contains(expression));
+
+ ComponentRealization componentRealization2 = UML
+ .createComponentRealization();
+ assertValid(componentRealization2);
+ componentRealization.getSuppliers().add(componentRealization2);
+ assertSuperset(
+ componentRealization.getTargets().contains(componentRealization2));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ componentRealization.getSuppliers().add(class_);
+ assertSuperset(componentRealization.getTargets().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ componentRealization.getSuppliers().add(state);
+ assertSuperset(componentRealization.getTargets().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ componentRealization.getSuppliers().add(protocolTransition);
+ assertSuperset(
+ componentRealization.getTargets().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ componentRealization.getSuppliers().add(behaviorExecutionSpecification);
+ assertSuperset(componentRealization.getTargets()
+ .contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ componentRealization.getSuppliers().add(collaborationUse);
+ assertSuperset(
+ componentRealization.getTargets().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ componentRealization.getSuppliers().add(interactionOperand);
+ assertSuperset(
+ componentRealization.getTargets().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ componentRealization.getSuppliers().add(acceptCallAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ componentRealization.getSuppliers().add(addVariableValueAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ componentRealization.getSuppliers().add(readLinkObjectEndAction);
+ assertSuperset(componentRealization.getTargets()
+ .contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ componentRealization.getSuppliers().add(useCase);
+ assertSuperset(componentRealization.getTargets().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ componentRealization.getSuppliers().add(unmarshallAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ componentRealization.getSuppliers().add(opaqueAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ componentRealization.getSuppliers().add(stringExpression);
+ assertSuperset(
+ componentRealization.getTargets().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ componentRealization.getSuppliers().add(mergeNode);
+ assertSuperset(componentRealization.getTargets().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ componentRealization.getSuppliers().add(changeEvent);
+ assertSuperset(componentRealization.getTargets().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ componentRealization.getSuppliers().add(createObjectAction);
+ assertSuperset(
+ componentRealization.getTargets().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ componentRealization.getSuppliers().add(stereotype);
+ assertSuperset(componentRealization.getTargets().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ componentRealization.getSuppliers().add(readStructuralFeatureAction);
+ assertSuperset(componentRealization.getTargets()
+ .contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ componentRealization.getSuppliers().add(collaboration);
+ assertSuperset(
+ componentRealization.getTargets().contains(collaboration));
+ }
+
+ public void testMapping() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ componentRealization.setMapping(opaqueExpression);
+ assertSuperset(
+ componentRealization.getOwnedElements().contains(opaqueExpression));
+ }
+
+ public void testRealizingClassifier() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ componentRealization.getRealizingClassifiers().add(functionBehavior);
+ assertSuperset(
+ componentRealization.getClients().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ componentRealization.getRealizingClassifiers().add(activity);
+ assertSuperset(componentRealization.getClients().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ componentRealization.getRealizingClassifiers().add(interface_);
+ assertSuperset(componentRealization.getClients().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ componentRealization.getRealizingClassifiers().add(informationItem);
+ assertSuperset(
+ componentRealization.getClients().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ componentRealization.getRealizingClassifiers().add(communicationPath);
+ assertSuperset(
+ componentRealization.getClients().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ componentRealization.getRealizingClassifiers()
+ .add(executionEnvironment);
+ assertSuperset(
+ componentRealization.getClients().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ componentRealization.getRealizingClassifiers().add(component);
+ assertSuperset(componentRealization.getClients().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ componentRealization.getRealizingClassifiers().add(interaction);
+ assertSuperset(componentRealization.getClients().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ componentRealization.getRealizingClassifiers()
+ .add(deploymentSpecification);
+ assertSuperset(componentRealization.getClients()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ componentRealization.getRealizingClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ componentRealization.getClients().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ componentRealization.getRealizingClassifiers().add(association);
+ assertSuperset(componentRealization.getClients().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ componentRealization.getRealizingClassifiers().add(dataType);
+ assertSuperset(componentRealization.getClients().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ componentRealization.getRealizingClassifiers().add(device);
+ assertSuperset(componentRealization.getClients().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ componentRealization.getRealizingClassifiers().add(extension);
+ assertSuperset(componentRealization.getClients().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ componentRealization.getRealizingClassifiers().add(associationClass);
+ assertSuperset(
+ componentRealization.getClients().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ componentRealization.getRealizingClassifiers().add(class_);
+ assertSuperset(componentRealization.getClients().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ componentRealization.getRealizingClassifiers().add(enumeration);
+ assertSuperset(componentRealization.getClients().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ componentRealization.getRealizingClassifiers().add(primitiveType);
+ assertSuperset(
+ componentRealization.getClients().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ componentRealization.getRealizingClassifiers().add(actor);
+ assertSuperset(componentRealization.getClients().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ componentRealization.getRealizingClassifiers()
+ .add(protocolStateMachine);
+ assertSuperset(
+ componentRealization.getClients().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ componentRealization.getRealizingClassifiers().add(useCase);
+ assertSuperset(componentRealization.getClients().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ componentRealization.getRealizingClassifiers().add(signal);
+ assertSuperset(componentRealization.getClients().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ componentRealization.getRealizingClassifiers().add(node);
+ assertSuperset(componentRealization.getClients().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ componentRealization.getRealizingClassifiers().add(stereotype);
+ assertSuperset(componentRealization.getClients().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ componentRealization.getRealizingClassifiers().add(stateMachine);
+ assertSuperset(
+ componentRealization.getClients().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ componentRealization.getRealizingClassifiers().add(artifact);
+ assertSuperset(componentRealization.getClients().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ componentRealization.getRealizingClassifiers().add(collaboration);
+ assertSuperset(
+ componentRealization.getClients().contains(collaboration));
+ }
+
+ public void testAbstraction() {
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ componentRealization.setAbstraction(component);
+ assertSuperset(componentRealization.getSuppliers().contains(component));
+ assertSuperset(componentRealization.getOwner() == component);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ComponentTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ComponentTest.java
new file mode 100755
index 00000000..8d9287da
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ComponentTest.java
@@ -0,0 +1,1255 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ComponentTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ component.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ component.getOwnedComments().add(comment);
+ assertSuperset(component.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<Element> elements = component.getOwnedElements();
+ EList<Element> elements2 = component.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<Dependency> dependencys = component.getClientDependencies();
+ EList<Dependency> dependencys2 = component.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ component.setNameExpression(stringExpression);
+ assertSuperset(component.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ component.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ component.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ component.getOwnedRules().add(timeConstraint);
+ assertSuperset(component.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ component.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ component.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ component.getOwnedRules().add(constraint);
+ assertSuperset(component.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ component.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ component.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ component.getElementImports().add(elementImport);
+ assertSuperset(component.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ component.getPackageImports().add(packageImport);
+ assertSuperset(component.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<NamedElement> namedElements = component.getOwnedMembers();
+ EList<NamedElement> namedElements2 = component.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<PackageableElement> packageableElements = component
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = component
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<NamedElement> namedElements = component.getMembers();
+ EList<NamedElement> namedElements2 = component.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<RedefinableElement> redefinableElements = component
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = component
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<Classifier> classifiers = component.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = component.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ component.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(component.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ component.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ component.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ component.getTemplateBindings().add(templateBinding);
+ assertSuperset(component.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ component.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(component.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<Feature> features = component.getFeatures();
+ EList<Feature> features2 = component.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<Property> propertys = component.getAttributes();
+ EList<Property> propertys2 = component.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ component.getCollaborationUses().add(collaborationUse);
+ assertSuperset(component.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<Classifier> classifiers = component.getGenerals();
+ EList<Classifier> classifiers2 = component.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ component.getGeneralizations().add(generalization);
+ assertSuperset(component.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ component.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<NamedElement> namedElements = component.getInheritedMembers();
+ EList<NamedElement> namedElements2 = component.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ component.getOwnedUseCases().add(useCase);
+ assertSuperset(component.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ component.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ component.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ component.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ component.getRedefinedClassifiers().add(activity);
+ assertSuperset(component.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ component.getRedefinedClassifiers().add(interface_);
+ assertSuperset(component.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ component.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ component.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ component.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ component.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ component.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ component.getRedefinedElements().contains(executionEnvironment));
+
+ Component component2 = UML.createComponent();
+ assertValid(component2);
+ component.getRedefinedClassifiers().add(component2);
+ assertSuperset(component.getRedefinedElements().contains(component2));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ component.getRedefinedClassifiers().add(interaction);
+ assertSuperset(component.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ component.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ component.getRedefinedElements().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ component.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ component.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ component.getRedefinedClassifiers().add(association);
+ assertSuperset(component.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ component.getRedefinedClassifiers().add(dataType);
+ assertSuperset(component.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ component.getRedefinedClassifiers().add(device);
+ assertSuperset(component.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ component.getRedefinedClassifiers().add(extension);
+ assertSuperset(component.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ component.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ component.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ component.getRedefinedClassifiers().add(class_);
+ assertSuperset(component.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ component.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(component.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ component.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ component.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ component.getRedefinedClassifiers().add(actor);
+ assertSuperset(component.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ component.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ component.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ component.getRedefinedClassifiers().add(useCase);
+ assertSuperset(component.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ component.getRedefinedClassifiers().add(signal);
+ assertSuperset(component.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ component.getRedefinedClassifiers().add(node);
+ assertSuperset(component.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ component.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(component.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ component.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(component.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ component.getRedefinedClassifiers().add(artifact);
+ assertSuperset(component.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ component.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ component.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ component.setRepresentation(collaborationUse);
+ assertSuperset(
+ component.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ component.getSubstitutions().add(substitution);
+ assertSuperset(component.getOwnedElements().contains(substitution));
+ assertSuperset(
+ component.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ component.getOwnedAttributes().add(port);
+ assertSuperset(component.getAttributes().contains(port));
+ assertSuperset(component.getOwnedMembers().contains(port));
+ assertSuperset(component.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ component.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(component.getAttributes().contains(extensionEnd));
+ assertSuperset(component.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(component.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ component.getOwnedAttributes().add(property);
+ assertSuperset(component.getAttributes().contains(property));
+ assertSuperset(component.getOwnedMembers().contains(property));
+ assertSuperset(component.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ component.getOwnedConnectors().add(connector);
+ assertSuperset(component.getFeatures().contains(connector));
+ assertSuperset(component.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<Property> propertys = component.getParts();
+ EList<Property> propertys2 = component.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<ConnectableElement> connectableElements = component.getRoles();
+ EList<ConnectableElement> connectableElements2 = component.getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testOwnedPort() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<Port> ports = component.getOwnedPorts();
+ EList<Port> ports2 = component.getOwnedPorts();
+ assertSame(ports, ports2);
+ }
+
+ public void testClassifierBehavior() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ component.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(
+ component.getOwnedBehaviors().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ component.setClassifierBehavior(stateMachine);
+ assertSuperset(component.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ component.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(
+ component.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(
+ component.getClientDependencies().contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ component.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(
+ component.getOwnedMembers().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ component.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(component.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testOwnedOperation() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ component.getOwnedOperations().add(operation);
+ assertSuperset(component.getFeatures().contains(operation));
+ assertSuperset(component.getOwnedMembers().contains(operation));
+ }
+
+ public void testExtension() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<Extension> extensions = component.getExtensions();
+ EList<Extension> extensions2 = component.getExtensions();
+ assertSame(extensions, extensions2);
+ }
+
+ public void testNestedClassifier() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ component.getNestedClassifiers().add(functionBehavior);
+ assertSuperset(component.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ component.getNestedClassifiers().add(activity);
+ assertSuperset(component.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ component.getNestedClassifiers().add(interface_);
+ assertSuperset(component.getOwnedMembers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ component.getNestedClassifiers().add(informationItem);
+ assertSuperset(component.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ component.getNestedClassifiers().add(communicationPath);
+ assertSuperset(component.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ component.getNestedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ component.getOwnedMembers().contains(executionEnvironment));
+
+ Component component2 = UML.createComponent();
+ assertValid(component2);
+ component.getNestedClassifiers().add(component2);
+ assertSuperset(component.getOwnedMembers().contains(component2));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ component.getNestedClassifiers().add(interaction);
+ assertSuperset(component.getOwnedMembers().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ component.getNestedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ component.getOwnedMembers().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ component.getNestedClassifiers().add(opaqueBehavior);
+ assertSuperset(component.getOwnedMembers().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ component.getNestedClassifiers().add(association);
+ assertSuperset(component.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ component.getNestedClassifiers().add(dataType);
+ assertSuperset(component.getOwnedMembers().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ component.getNestedClassifiers().add(device);
+ assertSuperset(component.getOwnedMembers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ component.getNestedClassifiers().add(extension);
+ assertSuperset(component.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ component.getNestedClassifiers().add(associationClass);
+ assertSuperset(component.getOwnedMembers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ component.getNestedClassifiers().add(class_);
+ assertSuperset(component.getOwnedMembers().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ component.getNestedClassifiers().add(enumeration);
+ assertSuperset(component.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ component.getNestedClassifiers().add(primitiveType);
+ assertSuperset(component.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ component.getNestedClassifiers().add(actor);
+ assertSuperset(component.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ component.getNestedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ component.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ component.getNestedClassifiers().add(useCase);
+ assertSuperset(component.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ component.getNestedClassifiers().add(signal);
+ assertSuperset(component.getOwnedMembers().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ component.getNestedClassifiers().add(node);
+ assertSuperset(component.getOwnedMembers().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ component.getNestedClassifiers().add(stereotype);
+ assertSuperset(component.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ component.getNestedClassifiers().add(stateMachine);
+ assertSuperset(component.getOwnedMembers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ component.getNestedClassifiers().add(artifact);
+ assertSuperset(component.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ component.getNestedClassifiers().add(collaboration);
+ assertSuperset(component.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedReception() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ component.getOwnedReceptions().add(reception);
+ assertSuperset(component.getFeatures().contains(reception));
+ assertSuperset(component.getOwnedMembers().contains(reception));
+ }
+
+ public void testSuperClass() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<org.eclipse.uml2.uml.Class> class_s = component.getSuperClasses();
+ EList<org.eclipse.uml2.uml.Class> class_s2 = component
+ .getSuperClasses();
+ assertSame(class_s, class_s2);
+ }
+
+ public void testPackagedElement() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ component.getPackagedElements().add(functionBehavior);
+ assertSuperset(component.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ component.getPackagedElements().add(activity);
+ assertSuperset(component.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ component.getPackagedElements().add(interface_);
+ assertSuperset(component.getOwnedMembers().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ component.getPackagedElements().add(instanceSpecification);
+ assertSuperset(
+ component.getOwnedMembers().contains(instanceSpecification));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ component.getPackagedElements().add(informationItem);
+ assertSuperset(component.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ component.getPackagedElements().add(communicationPath);
+ assertSuperset(component.getOwnedMembers().contains(communicationPath));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ component.getPackagedElements().add(literalReal);
+ assertSuperset(component.getOwnedMembers().contains(literalReal));
+
+ Component component2 = UML.createComponent();
+ assertValid(component2);
+ component.getPackagedElements().add(component2);
+ assertSuperset(component.getOwnedMembers().contains(component2));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ component.getPackagedElements().add(duration);
+ assertSuperset(component.getOwnedMembers().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ component.getPackagedElements().add(package_);
+ assertSuperset(component.getOwnedMembers().contains(package_));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ component.getPackagedElements().add(manifestation);
+ assertSuperset(component.getOwnedMembers().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ component.getPackagedElements().add(durationObservation);
+ assertSuperset(
+ component.getOwnedMembers().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ component.getPackagedElements().add(callEvent);
+ assertSuperset(component.getOwnedMembers().contains(callEvent));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ component.getPackagedElements().add(interaction);
+ assertSuperset(component.getOwnedMembers().contains(interaction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ component.getPackagedElements().add(opaqueBehavior);
+ assertSuperset(component.getOwnedMembers().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ component.getPackagedElements().add(literalUnlimitedNatural);
+ assertSuperset(
+ component.getOwnedMembers().contains(literalUnlimitedNatural));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ component.getPackagedElements().add(timeObservation);
+ assertSuperset(component.getOwnedMembers().contains(timeObservation));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ component.getPackagedElements().add(model);
+ assertSuperset(component.getOwnedMembers().contains(model));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ component.getPackagedElements().add(timeExpression);
+ assertSuperset(component.getOwnedMembers().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ component.getPackagedElements().add(device);
+ assertSuperset(component.getOwnedMembers().contains(device));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ component.getPackagedElements().add(instanceValue);
+ assertSuperset(component.getOwnedMembers().contains(instanceValue));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ component.getPackagedElements().add(interactionConstraint);
+ assertSuperset(
+ component.getOwnedMembers().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ component.getPackagedElements().add(associationClass);
+ assertSuperset(component.getOwnedMembers().contains(associationClass));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ component.getPackagedElements().add(interval);
+ assertSuperset(component.getOwnedMembers().contains(interval));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ component.getPackagedElements().add(abstraction);
+ assertSuperset(component.getOwnedMembers().contains(abstraction));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ component.getPackagedElements().add(literalString);
+ assertSuperset(component.getOwnedMembers().contains(literalString));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ component.getPackagedElements().add(interfaceRealization);
+ assertSuperset(
+ component.getOwnedMembers().contains(interfaceRealization));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ component.getPackagedElements().add(enumeration);
+ assertSuperset(component.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ component.getPackagedElements().add(primitiveType);
+ assertSuperset(component.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ component.getPackagedElements().add(actor);
+ assertSuperset(component.getOwnedMembers().contains(actor));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ component.getPackagedElements().add(profile);
+ assertSuperset(component.getOwnedMembers().contains(profile));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ component.getPackagedElements().add(timeConstraint);
+ assertSuperset(component.getOwnedMembers().contains(timeConstraint));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ component.getPackagedElements().add(durationInterval);
+ assertSuperset(component.getOwnedMembers().contains(durationInterval));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ component.getPackagedElements().add(generalizationSet);
+ assertSuperset(component.getOwnedMembers().contains(generalizationSet));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ component.getPackagedElements().add(signal);
+ assertSuperset(component.getOwnedMembers().contains(signal));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ component.getPackagedElements().add(deployment);
+ assertSuperset(component.getOwnedMembers().contains(deployment));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ component.getPackagedElements().add(artifact);
+ assertSuperset(component.getOwnedMembers().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ component.getPackagedElements().add(informationFlow);
+ assertSuperset(component.getOwnedMembers().contains(informationFlow));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ component.getPackagedElements().add(signalEvent);
+ assertSuperset(component.getOwnedMembers().contains(signalEvent));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ component.getPackagedElements().add(opaqueExpression);
+ assertSuperset(component.getOwnedMembers().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ component.getPackagedElements().add(timeEvent);
+ assertSuperset(component.getOwnedMembers().contains(timeEvent));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ component.getPackagedElements().add(usage);
+ assertSuperset(component.getOwnedMembers().contains(usage));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ component.getPackagedElements().add(anyReceiveEvent);
+ assertSuperset(component.getOwnedMembers().contains(anyReceiveEvent));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ component.getPackagedElements().add(executionEnvironment);
+ assertSuperset(
+ component.getOwnedMembers().contains(executionEnvironment));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ component.getPackagedElements().add(literalInteger);
+ assertSuperset(component.getOwnedMembers().contains(literalInteger));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ component.getPackagedElements().add(deploymentSpecification);
+ assertSuperset(
+ component.getOwnedMembers().contains(deploymentSpecification));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ component.getPackagedElements().add(realization);
+ assertSuperset(component.getOwnedMembers().contains(realization));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ component.getPackagedElements().add(association);
+ assertSuperset(component.getOwnedMembers().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ component.getPackagedElements().add(timeInterval);
+ assertSuperset(component.getOwnedMembers().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ component.getPackagedElements().add(dataType);
+ assertSuperset(component.getOwnedMembers().contains(dataType));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ component.getPackagedElements().add(substitution);
+ assertSuperset(component.getOwnedMembers().contains(substitution));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ component.getPackagedElements().add(intervalConstraint);
+ assertSuperset(
+ component.getOwnedMembers().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ component.getPackagedElements().add(extension);
+ assertSuperset(component.getOwnedMembers().contains(extension));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ component.getPackagedElements().add(literalBoolean);
+ assertSuperset(component.getOwnedMembers().contains(literalBoolean));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ component.getPackagedElements().add(dependency);
+ assertSuperset(component.getOwnedMembers().contains(dependency));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ component.getPackagedElements().add(expression);
+ assertSuperset(component.getOwnedMembers().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ component.getPackagedElements().add(componentRealization);
+ assertSuperset(
+ component.getOwnedMembers().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ component.getPackagedElements().add(class_);
+ assertSuperset(component.getOwnedMembers().contains(class_));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ component.getPackagedElements().add(durationConstraint);
+ assertSuperset(
+ component.getOwnedMembers().contains(durationConstraint));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ component.getPackagedElements().add(literalNull);
+ assertSuperset(component.getOwnedMembers().contains(literalNull));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ component.getPackagedElements().add(protocolStateMachine);
+ assertSuperset(
+ component.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ component.getPackagedElements().add(useCase);
+ assertSuperset(component.getOwnedMembers().contains(useCase));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ component.getPackagedElements().add(stringExpression);
+ assertSuperset(component.getOwnedMembers().contains(stringExpression));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ component.getPackagedElements().add(node);
+ assertSuperset(component.getOwnedMembers().contains(node));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ component.getPackagedElements().add(changeEvent);
+ assertSuperset(component.getOwnedMembers().contains(changeEvent));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ component.getPackagedElements().add(constraint);
+ assertSuperset(component.getOwnedMembers().contains(constraint));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ component.getPackagedElements().add(stereotype);
+ assertSuperset(component.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ component.getPackagedElements().add(stateMachine);
+ assertSuperset(component.getOwnedMembers().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ component.getPackagedElements().add(enumerationLiteral);
+ assertSuperset(
+ component.getOwnedMembers().contains(enumerationLiteral));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ component.getPackagedElements().add(collaboration);
+ assertSuperset(component.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testProvided() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<Interface> interface_s = component.getProvideds();
+ EList<Interface> interface_s2 = component.getProvideds();
+ assertSame(interface_s, interface_s2);
+ }
+
+ public void testRealization() {
+ Component component = UML.createComponent();
+ assertValid(component);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ component.getRealizations().add(componentRealization);
+ assertSuperset(
+ component.getOwnedElements().contains(componentRealization));
+ }
+
+ public void testRequired() {
+ Component component = UML.createComponent();
+ assertValid(component);
+ EList<Interface> interface_s = component.getRequireds();
+ EList<Interface> interface_s2 = component.getRequireds();
+ assertSame(interface_s, interface_s2);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConditionalNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConditionalNodeTest.java
new file mode 100755
index 00000000..2c89e727
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConditionalNodeTest.java
@@ -0,0 +1,1401 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Clause;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class ConditionalNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ conditionalNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ conditionalNode.getOwnedComments().add(comment);
+ assertSuperset(conditionalNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ EList<Element> elements = conditionalNode.getOwnedElements();
+ EList<Element> elements2 = conditionalNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ EList<Dependency> dependencys = conditionalNode.getClientDependencies();
+ EList<Dependency> dependencys2 = conditionalNode
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ conditionalNode.setNameExpression(stringExpression);
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ EList<RedefinableElement> redefinableElements = conditionalNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = conditionalNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ EList<Classifier> classifiers = conditionalNode
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = conditionalNode
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ EList<ActivityGroup> activityGroups = conditionalNode.getInGroups();
+ EList<ActivityGroup> activityGroups2 = conditionalNode.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ conditionalNode.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(conditionalNode.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ conditionalNode.setInStructuredNode(loopNode);
+ assertSuperset(conditionalNode.getInGroups().contains(loopNode));
+ assertSuperset(conditionalNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ conditionalNode.setInStructuredNode(expansionRegion);
+ assertSuperset(conditionalNode.getInGroups().contains(expansionRegion));
+ assertSuperset(conditionalNode.getOwner() == expansionRegion);
+
+ ConditionalNode conditionalNode2 = UML.createConditionalNode();
+ assertValid(conditionalNode2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ conditionalNode2.setInStructuredNode(sequenceNode);
+ assertSuperset(conditionalNode2.getInGroups().contains(sequenceNode));
+ assertSuperset(conditionalNode2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ conditionalNode2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ conditionalNode2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(conditionalNode2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode3 = UML.createConditionalNode();
+ assertValid(conditionalNode3);
+
+ ConditionalNode conditionalNode4 = UML.createConditionalNode();
+ assertValid(conditionalNode4);
+ conditionalNode3.setInStructuredNode(conditionalNode4);
+ assertSuperset(
+ conditionalNode3.getInGroups().contains(conditionalNode4));
+ assertSuperset(conditionalNode3.getOwner() == conditionalNode4);
+ }
+
+ public void testIncoming() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ conditionalNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ conditionalNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ conditionalNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ conditionalNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ conditionalNode.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ conditionalNode.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ conditionalNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ conditionalNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ conditionalNode.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ conditionalNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ conditionalNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ conditionalNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ conditionalNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ conditionalNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ conditionalNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ conditionalNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ conditionalNode.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ conditionalNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ conditionalNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ conditionalNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ conditionalNode.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ conditionalNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ conditionalNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ conditionalNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode2 = UML.createConditionalNode();
+ assertValid(conditionalNode2);
+ conditionalNode.getRedefinedNodes().add(conditionalNode2);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(conditionalNode2));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ conditionalNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ conditionalNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ conditionalNode.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ conditionalNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ conditionalNode.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ conditionalNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ conditionalNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ conditionalNode.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ conditionalNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ conditionalNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ conditionalNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ conditionalNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ conditionalNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ conditionalNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ conditionalNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ conditionalNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ conditionalNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ conditionalNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ conditionalNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ conditionalNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ conditionalNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ conditionalNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ conditionalNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ conditionalNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ conditionalNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ conditionalNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ conditionalNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ conditionalNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ conditionalNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ conditionalNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ conditionalNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ conditionalNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ conditionalNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ conditionalNode.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ conditionalNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ conditionalNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ conditionalNode.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(conditionalNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ conditionalNode.getInPartitions().add(activityPartition);
+ assertSuperset(
+ conditionalNode.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ conditionalNode.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ EList<InputPin> inputPins = conditionalNode.getInputs();
+ EList<InputPin> inputPins2 = conditionalNode.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ conditionalNode.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ conditionalNode.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ conditionalNode.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ conditionalNode.getLocalPostconditions().add(constraint);
+ assertSuperset(conditionalNode.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ conditionalNode.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ conditionalNode.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ conditionalNode.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ conditionalNode.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ conditionalNode.getLocalPreconditions().add(constraint);
+ assertSuperset(conditionalNode.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ conditionalNode.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ EList<OutputPin> outputPins = conditionalNode.getOutputs();
+ EList<OutputPin> outputPins2 = conditionalNode.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testOwnedRule() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ conditionalNode.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ conditionalNode.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ conditionalNode.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ conditionalNode.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ conditionalNode.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ conditionalNode.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ conditionalNode.getOwnedRules().add(constraint);
+ assertSuperset(conditionalNode.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ conditionalNode.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ conditionalNode.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ conditionalNode.getElementImports().add(elementImport);
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ conditionalNode.getPackageImports().add(packageImport);
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ EList<NamedElement> namedElements = conditionalNode.getOwnedMembers();
+ EList<NamedElement> namedElements2 = conditionalNode.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ EList<PackageableElement> packageableElements = conditionalNode
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = conditionalNode
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ EList<NamedElement> namedElements = conditionalNode.getMembers();
+ EList<NamedElement> namedElements2 = conditionalNode.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testContainedEdge() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ EList<ActivityEdge> activityEdges = conditionalNode.getContainedEdges();
+ EList<ActivityEdge> activityEdges2 = conditionalNode
+ .getContainedEdges();
+ assertSame(activityEdges, activityEdges2);
+ }
+
+ public void testContainedNode() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ EList<ActivityNode> activityNodes = conditionalNode.getContainedNodes();
+ EList<ActivityNode> activityNodes2 = conditionalNode
+ .getContainedNodes();
+ assertSame(activityNodes, activityNodes2);
+ }
+
+ public void testSubgroup() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ EList<ActivityGroup> activityGroups = conditionalNode.getSubgroups();
+ EList<ActivityGroup> activityGroups2 = conditionalNode.getSubgroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testEdge() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ conditionalNode.getEdges().add(controlFlow);
+ assertSuperset(
+ conditionalNode.getContainedEdges().contains(controlFlow));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(controlFlow));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ conditionalNode.getEdges().add(objectFlow);
+ assertSuperset(
+ conditionalNode.getContainedEdges().contains(objectFlow));
+ assertSuperset(conditionalNode.getOwnedElements().contains(objectFlow));
+ }
+
+ public void testStructuredNodeInput() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ conditionalNode.getStructuredNodeInputs().add(inputPin);
+ assertSuperset(conditionalNode.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ conditionalNode.getStructuredNodeInputs().add(valuePin);
+ assertSuperset(conditionalNode.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ conditionalNode.getStructuredNodeInputs().add(actionInputPin);
+ assertSuperset(conditionalNode.getInputs().contains(actionInputPin));
+ }
+
+ public void testStructuredNodeOutput() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ conditionalNode.getStructuredNodeOutputs().add(outputPin);
+ assertSuperset(conditionalNode.getOutputs().contains(outputPin));
+ }
+
+ public void testVariable() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ conditionalNode.getVariables().add(variable);
+ assertSuperset(conditionalNode.getOwnedMembers().contains(variable));
+ }
+
+ public void testNode() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ conditionalNode.getNodes().add(startClassifierBehaviorAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(startClassifierBehaviorAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ conditionalNode.getNodes().add(removeVariableValueAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(removeVariableValueAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ conditionalNode.getNodes().add(readSelfAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(readSelfAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ conditionalNode.getNodes().add(inputPin);
+ assertSuperset(conditionalNode.getContainedNodes().contains(inputPin));
+ assertSuperset(conditionalNode.getOwnedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ conditionalNode.getNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(readLinkObjectEndQualifierAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ conditionalNode.getNodes().add(joinNode);
+ assertSuperset(conditionalNode.getContainedNodes().contains(joinNode));
+ assertSuperset(conditionalNode.getOwnedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ conditionalNode.getNodes().add(createLinkObjectAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(createLinkObjectAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ conditionalNode.getNodes().add(sendSignalAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(sendSignalAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ conditionalNode.getNodes().add(readLinkAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(readLinkAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ conditionalNode.getNodes().add(replyAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(replyAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ conditionalNode.getNodes().add(clearAssociationAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(clearAssociationAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ conditionalNode.getNodes().add(flowFinalNode);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(flowFinalNode));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ conditionalNode.getNodes().add(clearStructuralFeatureAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(clearStructuralFeatureAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ conditionalNode.getNodes().add(expansionRegion);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(expansionRegion));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ conditionalNode.getNodes().add(structuredActivityNode);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(structuredActivityNode));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ conditionalNode.getNodes().add(valuePin);
+ assertSuperset(conditionalNode.getContainedNodes().contains(valuePin));
+ assertSuperset(conditionalNode.getOwnedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ conditionalNode.getNodes().add(startObjectBehaviorAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(startObjectBehaviorAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ conditionalNode.getNodes().add(forkNode);
+ assertSuperset(conditionalNode.getContainedNodes().contains(forkNode));
+ assertSuperset(conditionalNode.getOwnedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ conditionalNode.getNodes().add(decisionNode);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(decisionNode));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ conditionalNode.getNodes().add(callBehaviorAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(callBehaviorAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode2 = UML.createConditionalNode();
+ assertValid(conditionalNode2);
+ conditionalNode.getNodes().add(conditionalNode2);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(conditionalNode2));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(conditionalNode2));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ conditionalNode.getNodes().add(readExtentAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(readExtentAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ conditionalNode.getNodes().add(actionInputPin);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(actionInputPin));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ conditionalNode.getNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(readIsClassifiedObjectAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ conditionalNode.getNodes().add(activityParameterNode);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(activityParameterNode));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ conditionalNode.getNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(addStructuralFeatureValueAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ conditionalNode.getNodes().add(readVariableAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(readVariableAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ conditionalNode.getNodes().add(clearVariableAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(clearVariableAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ conditionalNode.getNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(removeStructuralFeatureValueAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ conditionalNode.getNodes().add(createLinkAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(createLinkAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ conditionalNode.getNodes().add(reclassifyObjectAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(reclassifyObjectAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ conditionalNode.getNodes().add(dataStoreNode);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(dataStoreNode));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ conditionalNode.getNodes().add(sendObjectAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(sendObjectAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ conditionalNode.getNodes().add(reduceAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(reduceAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ conditionalNode.getNodes().add(acceptEventAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(acceptEventAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ conditionalNode.getNodes().add(destroyLinkAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(destroyLinkAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ conditionalNode.getNodes().add(expansionNode);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(expansionNode));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ conditionalNode.getNodes().add(initialNode);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(initialNode));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ conditionalNode.getNodes().add(testIdentityAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(testIdentityAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ conditionalNode.getNodes().add(outputPin);
+ assertSuperset(conditionalNode.getContainedNodes().contains(outputPin));
+ assertSuperset(conditionalNode.getOwnedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ conditionalNode.getNodes().add(centralBufferNode);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(centralBufferNode));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ conditionalNode.getNodes().add(broadcastSignalAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(broadcastSignalAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ conditionalNode.getNodes().add(raiseExceptionAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(raiseExceptionAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ conditionalNode.getNodes().add(activityFinalNode);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(activityFinalNode));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ conditionalNode.getNodes().add(callOperationAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(callOperationAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ conditionalNode.getNodes().add(loopNode);
+ assertSuperset(conditionalNode.getContainedNodes().contains(loopNode));
+ assertSuperset(conditionalNode.getOwnedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ conditionalNode.getNodes().add(valueSpecificationAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(valueSpecificationAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ conditionalNode.getNodes().add(acceptCallAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(acceptCallAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ conditionalNode.getNodes().add(addVariableValueAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(addVariableValueAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ conditionalNode.getNodes().add(readLinkObjectEndAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(readLinkObjectEndAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ conditionalNode.getNodes().add(unmarshallAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(unmarshallAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ conditionalNode.getNodes().add(opaqueAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(opaqueAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ conditionalNode.getNodes().add(mergeNode);
+ assertSuperset(conditionalNode.getContainedNodes().contains(mergeNode));
+ assertSuperset(conditionalNode.getOwnedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ conditionalNode.getNodes().add(sequenceNode);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(sequenceNode));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ conditionalNode.getNodes().add(createObjectAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(createObjectAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ conditionalNode.getNodes().add(destroyObjectAction);
+ assertSuperset(
+ conditionalNode.getContainedNodes().contains(destroyObjectAction));
+ assertSuperset(
+ conditionalNode.getOwnedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ conditionalNode.getNodes().add(readStructuralFeatureAction);
+ assertSuperset(conditionalNode.getContainedNodes()
+ .contains(readStructuralFeatureAction));
+ assertSuperset(conditionalNode.getOwnedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testClause() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ Clause clause = UML.createClause();
+ assertValid(clause);
+ conditionalNode.getClauses().add(clause);
+ assertSuperset(conditionalNode.getOwnedElements().contains(clause));
+ }
+
+ public void testResult() {
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ conditionalNode.getResults().add(outputPin);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectableElementTemplateParameterTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectableElementTemplateParameterTest.java
new file mode 100755
index 00000000..06f7495c
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectableElementTemplateParameterTest.java
@@ -0,0 +1,882 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class ConnectableElementTemplateParameterTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ connectableElementTemplateParameter.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ connectableElementTemplateParameter.getOwnedComments().add(comment);
+ assertSuperset(connectableElementTemplateParameter.getOwnedElements()
+ .contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ EList<Element> elements = connectableElementTemplateParameter
+ .getOwnedElements();
+ EList<Element> elements2 = connectableElementTemplateParameter
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testDefault() {
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ connectableElementTemplateParameter.setDefault(instanceSpecification);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ connectableElementTemplateParameter.setDefault(literalReal);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter2 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter2);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ connectableElementTemplateParameter2.setDefault(duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ connectableElementTemplateParameter2.setDefault(package_);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter3 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter3);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ connectableElementTemplateParameter3.setDefault(manifestation);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ connectableElementTemplateParameter3.setDefault(durationObservation);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter4 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter4);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ connectableElementTemplateParameter4.setDefault(callEvent);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ connectableElementTemplateParameter4
+ .setDefault(literalUnlimitedNatural);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter5 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter5);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ connectableElementTemplateParameter5.setDefault(timeObservation);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ connectableElementTemplateParameter5.setDefault(model);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter6 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter6);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ connectableElementTemplateParameter6.setDefault(timeExpression);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ connectableElementTemplateParameter6.setDefault(instanceValue);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter7 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter7);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ connectableElementTemplateParameter7.setDefault(interactionConstraint);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ connectableElementTemplateParameter7.setDefault(interval);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter8 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter8);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ connectableElementTemplateParameter8.setDefault(abstraction);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ connectableElementTemplateParameter8.setDefault(literalString);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter9 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter9);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ connectableElementTemplateParameter9.setDefault(interfaceRealization);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ connectableElementTemplateParameter9.setDefault(profile);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter10 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter10);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ connectableElementTemplateParameter10.setDefault(timeConstraint);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ connectableElementTemplateParameter10.setDefault(durationInterval);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter11 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter11);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ connectableElementTemplateParameter11.setDefault(generalizationSet);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ connectableElementTemplateParameter11.setDefault(deployment);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter12 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter12);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ connectableElementTemplateParameter12.setDefault(informationFlow);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ connectableElementTemplateParameter12.setDefault(signalEvent);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter13 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter13);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ connectableElementTemplateParameter13.setDefault(opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ connectableElementTemplateParameter13.setDefault(timeEvent);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter14 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter14);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ connectableElementTemplateParameter14.setDefault(usage);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ connectableElementTemplateParameter14.setDefault(anyReceiveEvent);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter15 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter15);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ connectableElementTemplateParameter15.setDefault(literalInteger);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ connectableElementTemplateParameter15.setDefault(realization);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter16 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter16);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ connectableElementTemplateParameter16.setDefault(timeInterval);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ connectableElementTemplateParameter16.setDefault(substitution);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter17 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter17);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ connectableElementTemplateParameter17.setDefault(intervalConstraint);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ connectableElementTemplateParameter17.setDefault(literalBoolean);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter18 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter18);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ connectableElementTemplateParameter18.setDefault(dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ connectableElementTemplateParameter18.setDefault(expression);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter19 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter19);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ connectableElementTemplateParameter19.setDefault(componentRealization);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ connectableElementTemplateParameter19.setDefault(durationConstraint);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter20 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter20);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ connectableElementTemplateParameter20.setDefault(literalNull);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ connectableElementTemplateParameter20.setDefault(stringExpression);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter21 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter21);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ connectableElementTemplateParameter21.setDefault(changeEvent);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ connectableElementTemplateParameter21.setDefault(constraint);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter22 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter22);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ connectableElementTemplateParameter22.setDefault(enumerationLiteral);
+ }
+
+ public void testOwnedDefault() {
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ connectableElementTemplateParameter
+ .setOwnedDefault(instanceSpecification);
+ assertSuperset(connectableElementTemplateParameter.getOwnedElements()
+ .contains(instanceSpecification));
+ assertSuperset(connectableElementTemplateParameter
+ .getDefault() == instanceSpecification);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ connectableElementTemplateParameter.setOwnedDefault(literalReal);
+ assertSuperset(connectableElementTemplateParameter.getOwnedElements()
+ .contains(literalReal));
+ assertSuperset(
+ connectableElementTemplateParameter.getDefault() == literalReal);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter2 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter2);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ connectableElementTemplateParameter2.setOwnedDefault(duration);
+ assertSuperset(connectableElementTemplateParameter2.getOwnedElements()
+ .contains(duration));
+ assertSuperset(
+ connectableElementTemplateParameter2.getDefault() == duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ connectableElementTemplateParameter2.setOwnedDefault(package_);
+ assertSuperset(connectableElementTemplateParameter2.getOwnedElements()
+ .contains(package_));
+ assertSuperset(
+ connectableElementTemplateParameter2.getDefault() == package_);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter3 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter3);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ connectableElementTemplateParameter3.setOwnedDefault(manifestation);
+ assertSuperset(connectableElementTemplateParameter3.getOwnedElements()
+ .contains(manifestation));
+ assertSuperset(
+ connectableElementTemplateParameter3.getDefault() == manifestation);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ connectableElementTemplateParameter3
+ .setOwnedDefault(durationObservation);
+ assertSuperset(connectableElementTemplateParameter3.getOwnedElements()
+ .contains(durationObservation));
+ assertSuperset(connectableElementTemplateParameter3
+ .getDefault() == durationObservation);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter4 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter4);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ connectableElementTemplateParameter4.setOwnedDefault(callEvent);
+ assertSuperset(connectableElementTemplateParameter4.getOwnedElements()
+ .contains(callEvent));
+ assertSuperset(
+ connectableElementTemplateParameter4.getDefault() == callEvent);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ connectableElementTemplateParameter4
+ .setOwnedDefault(literalUnlimitedNatural);
+ assertSuperset(connectableElementTemplateParameter4.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+ assertSuperset(connectableElementTemplateParameter4
+ .getDefault() == literalUnlimitedNatural);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter5 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter5);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ connectableElementTemplateParameter5.setOwnedDefault(timeObservation);
+ assertSuperset(connectableElementTemplateParameter5.getOwnedElements()
+ .contains(timeObservation));
+ assertSuperset(connectableElementTemplateParameter5
+ .getDefault() == timeObservation);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ connectableElementTemplateParameter5.setOwnedDefault(model);
+ assertSuperset(connectableElementTemplateParameter5.getOwnedElements()
+ .contains(model));
+ assertSuperset(
+ connectableElementTemplateParameter5.getDefault() == model);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter6 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter6);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ connectableElementTemplateParameter6.setOwnedDefault(timeExpression);
+ assertSuperset(connectableElementTemplateParameter6.getOwnedElements()
+ .contains(timeExpression));
+ assertSuperset(connectableElementTemplateParameter6
+ .getDefault() == timeExpression);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ connectableElementTemplateParameter6.setOwnedDefault(instanceValue);
+ assertSuperset(connectableElementTemplateParameter6.getOwnedElements()
+ .contains(instanceValue));
+ assertSuperset(
+ connectableElementTemplateParameter6.getDefault() == instanceValue);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter7 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter7);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ connectableElementTemplateParameter7
+ .setOwnedDefault(interactionConstraint);
+ assertSuperset(connectableElementTemplateParameter7.getOwnedElements()
+ .contains(interactionConstraint));
+ assertSuperset(connectableElementTemplateParameter7
+ .getDefault() == interactionConstraint);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ connectableElementTemplateParameter7.setOwnedDefault(interval);
+ assertSuperset(connectableElementTemplateParameter7.getOwnedElements()
+ .contains(interval));
+ assertSuperset(
+ connectableElementTemplateParameter7.getDefault() == interval);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter8 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter8);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ connectableElementTemplateParameter8.setOwnedDefault(abstraction);
+ assertSuperset(connectableElementTemplateParameter8.getOwnedElements()
+ .contains(abstraction));
+ assertSuperset(
+ connectableElementTemplateParameter8.getDefault() == abstraction);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ connectableElementTemplateParameter8.setOwnedDefault(literalString);
+ assertSuperset(connectableElementTemplateParameter8.getOwnedElements()
+ .contains(literalString));
+ assertSuperset(
+ connectableElementTemplateParameter8.getDefault() == literalString);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter9 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter9);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ connectableElementTemplateParameter9
+ .setOwnedDefault(interfaceRealization);
+ assertSuperset(connectableElementTemplateParameter9.getOwnedElements()
+ .contains(interfaceRealization));
+ assertSuperset(connectableElementTemplateParameter9
+ .getDefault() == interfaceRealization);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ connectableElementTemplateParameter9.setOwnedDefault(profile);
+ assertSuperset(connectableElementTemplateParameter9.getOwnedElements()
+ .contains(profile));
+ assertSuperset(
+ connectableElementTemplateParameter9.getDefault() == profile);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter10 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter10);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ connectableElementTemplateParameter10.setOwnedDefault(timeConstraint);
+ assertSuperset(connectableElementTemplateParameter10.getOwnedElements()
+ .contains(timeConstraint));
+ assertSuperset(connectableElementTemplateParameter10
+ .getDefault() == timeConstraint);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ connectableElementTemplateParameter10.setOwnedDefault(durationInterval);
+ assertSuperset(connectableElementTemplateParameter10.getOwnedElements()
+ .contains(durationInterval));
+ assertSuperset(connectableElementTemplateParameter10
+ .getDefault() == durationInterval);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter11 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter11);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ connectableElementTemplateParameter11
+ .setOwnedDefault(generalizationSet);
+ assertSuperset(connectableElementTemplateParameter11.getOwnedElements()
+ .contains(generalizationSet));
+ assertSuperset(connectableElementTemplateParameter11
+ .getDefault() == generalizationSet);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ connectableElementTemplateParameter11.setOwnedDefault(deployment);
+ assertSuperset(connectableElementTemplateParameter11.getOwnedElements()
+ .contains(deployment));
+ assertSuperset(
+ connectableElementTemplateParameter11.getDefault() == deployment);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter12 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter12);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ connectableElementTemplateParameter12.setOwnedDefault(informationFlow);
+ assertSuperset(connectableElementTemplateParameter12.getOwnedElements()
+ .contains(informationFlow));
+ assertSuperset(connectableElementTemplateParameter12
+ .getDefault() == informationFlow);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ connectableElementTemplateParameter12.setOwnedDefault(signalEvent);
+ assertSuperset(connectableElementTemplateParameter12.getOwnedElements()
+ .contains(signalEvent));
+ assertSuperset(
+ connectableElementTemplateParameter12.getDefault() == signalEvent);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter13 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter13);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ connectableElementTemplateParameter13.setOwnedDefault(opaqueExpression);
+ assertSuperset(connectableElementTemplateParameter13.getOwnedElements()
+ .contains(opaqueExpression));
+ assertSuperset(connectableElementTemplateParameter13
+ .getDefault() == opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ connectableElementTemplateParameter13.setOwnedDefault(timeEvent);
+ assertSuperset(connectableElementTemplateParameter13.getOwnedElements()
+ .contains(timeEvent));
+ assertSuperset(
+ connectableElementTemplateParameter13.getDefault() == timeEvent);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter14 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter14);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ connectableElementTemplateParameter14.setOwnedDefault(usage);
+ assertSuperset(connectableElementTemplateParameter14.getOwnedElements()
+ .contains(usage));
+ assertSuperset(
+ connectableElementTemplateParameter14.getDefault() == usage);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ connectableElementTemplateParameter14.setOwnedDefault(anyReceiveEvent);
+ assertSuperset(connectableElementTemplateParameter14.getOwnedElements()
+ .contains(anyReceiveEvent));
+ assertSuperset(connectableElementTemplateParameter14
+ .getDefault() == anyReceiveEvent);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter15 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter15);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ connectableElementTemplateParameter15.setOwnedDefault(literalInteger);
+ assertSuperset(connectableElementTemplateParameter15.getOwnedElements()
+ .contains(literalInteger));
+ assertSuperset(connectableElementTemplateParameter15
+ .getDefault() == literalInteger);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ connectableElementTemplateParameter15.setOwnedDefault(realization);
+ assertSuperset(connectableElementTemplateParameter15.getOwnedElements()
+ .contains(realization));
+ assertSuperset(
+ connectableElementTemplateParameter15.getDefault() == realization);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter16 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter16);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ connectableElementTemplateParameter16.setOwnedDefault(timeInterval);
+ assertSuperset(connectableElementTemplateParameter16.getOwnedElements()
+ .contains(timeInterval));
+ assertSuperset(
+ connectableElementTemplateParameter16.getDefault() == timeInterval);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ connectableElementTemplateParameter16.setOwnedDefault(substitution);
+ assertSuperset(connectableElementTemplateParameter16.getOwnedElements()
+ .contains(substitution));
+ assertSuperset(
+ connectableElementTemplateParameter16.getDefault() == substitution);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter17 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter17);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ connectableElementTemplateParameter17
+ .setOwnedDefault(intervalConstraint);
+ assertSuperset(connectableElementTemplateParameter17.getOwnedElements()
+ .contains(intervalConstraint));
+ assertSuperset(connectableElementTemplateParameter17
+ .getDefault() == intervalConstraint);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ connectableElementTemplateParameter17.setOwnedDefault(literalBoolean);
+ assertSuperset(connectableElementTemplateParameter17.getOwnedElements()
+ .contains(literalBoolean));
+ assertSuperset(connectableElementTemplateParameter17
+ .getDefault() == literalBoolean);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter18 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter18);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ connectableElementTemplateParameter18.setOwnedDefault(dependency);
+ assertSuperset(connectableElementTemplateParameter18.getOwnedElements()
+ .contains(dependency));
+ assertSuperset(
+ connectableElementTemplateParameter18.getDefault() == dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ connectableElementTemplateParameter18.setOwnedDefault(expression);
+ assertSuperset(connectableElementTemplateParameter18.getOwnedElements()
+ .contains(expression));
+ assertSuperset(
+ connectableElementTemplateParameter18.getDefault() == expression);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter19 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter19);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ connectableElementTemplateParameter19
+ .setOwnedDefault(componentRealization);
+ assertSuperset(connectableElementTemplateParameter19.getOwnedElements()
+ .contains(componentRealization));
+ assertSuperset(connectableElementTemplateParameter19
+ .getDefault() == componentRealization);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ connectableElementTemplateParameter19
+ .setOwnedDefault(durationConstraint);
+ assertSuperset(connectableElementTemplateParameter19.getOwnedElements()
+ .contains(durationConstraint));
+ assertSuperset(connectableElementTemplateParameter19
+ .getDefault() == durationConstraint);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter20 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter20);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ connectableElementTemplateParameter20.setOwnedDefault(literalNull);
+ assertSuperset(connectableElementTemplateParameter20.getOwnedElements()
+ .contains(literalNull));
+ assertSuperset(
+ connectableElementTemplateParameter20.getDefault() == literalNull);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ connectableElementTemplateParameter20.setOwnedDefault(stringExpression);
+ assertSuperset(connectableElementTemplateParameter20.getOwnedElements()
+ .contains(stringExpression));
+ assertSuperset(connectableElementTemplateParameter20
+ .getDefault() == stringExpression);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter21 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter21);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ connectableElementTemplateParameter21.setOwnedDefault(changeEvent);
+ assertSuperset(connectableElementTemplateParameter21.getOwnedElements()
+ .contains(changeEvent));
+ assertSuperset(
+ connectableElementTemplateParameter21.getDefault() == changeEvent);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ connectableElementTemplateParameter21.setOwnedDefault(constraint);
+ assertSuperset(connectableElementTemplateParameter21.getOwnedElements()
+ .contains(constraint));
+ assertSuperset(
+ connectableElementTemplateParameter21.getDefault() == constraint);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter22 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter22);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ connectableElementTemplateParameter22
+ .setOwnedDefault(enumerationLiteral);
+ assertSuperset(connectableElementTemplateParameter22.getOwnedElements()
+ .contains(enumerationLiteral));
+ assertSuperset(connectableElementTemplateParameter22
+ .getDefault() == enumerationLiteral);
+ }
+
+ public void testParameteredElement() {
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ connectableElementTemplateParameter.setParameteredElement(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ connectableElementTemplateParameter.setParameteredElement(extensionEnd);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter2 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ connectableElementTemplateParameter2.setParameteredElement(property);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ connectableElementTemplateParameter2.setParameteredElement(parameter);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter3 = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter3);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ connectableElementTemplateParameter3.setParameteredElement(variable);
+ }
+
+ public void testSignature() {
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ connectableElementTemplateParameter.setSignature(templateSignature);
+ assertSuperset(connectableElementTemplateParameter
+ .getOwner() == templateSignature);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ connectableElementTemplateParameter
+ .setSignature(redefinableTemplateSignature);
+ assertSuperset(connectableElementTemplateParameter
+ .getOwner() == redefinableTemplateSignature);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectionPointReferenceTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectionPointReferenceTest.java
new file mode 100755
index 00000000..841179bb
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectionPointReferenceTest.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StringExpression;
+
+/**
+ * @author Eike Stepper
+ */
+public class ConnectionPointReferenceTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ connectionPointReference.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ connectionPointReference.getOwnedComments().add(comment);
+ assertSuperset(
+ connectionPointReference.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ EList<Element> elements = connectionPointReference.getOwnedElements();
+ EList<Element> elements2 = connectionPointReference.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ EList<Dependency> dependencys = connectionPointReference
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = connectionPointReference
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ connectionPointReference.setNameExpression(stringExpression);
+ assertSuperset(connectionPointReference.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testContainer() {
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ connectionPointReference.setContainer(region);
+ assertSuperset(connectionPointReference.getNamespace() == region);
+ }
+
+ public void testEntry() {
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ connectionPointReference.getEntries().add(pseudostate);
+ }
+
+ public void testExit() {
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ connectionPointReference.getExits().add(pseudostate);
+ }
+
+ public void testState() {
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ connectionPointReference.setState(finalState);
+ assertSuperset(connectionPointReference.getNamespace() == finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ connectionPointReference.setState(state);
+ assertSuperset(connectionPointReference.getNamespace() == state);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectorEndTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectorEndTest.java
new file mode 100755
index 00000000..9b0ac6ae
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectorEndTest.java
@@ -0,0 +1,347 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class ConnectorEndTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ connectorEnd.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ connectorEnd.getOwnedComments().add(comment);
+ assertSuperset(connectorEnd.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+ EList<Element> elements = connectorEnd.getOwnedElements();
+ EList<Element> elements2 = connectorEnd.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testLowerValue() {
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ connectorEnd.setLowerValue(literalBoolean);
+ assertSuperset(
+ connectorEnd.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ connectorEnd.setLowerValue(interval);
+ assertSuperset(connectorEnd.getOwnedElements().contains(interval));
+
+ ConnectorEnd connectorEnd2 = UML.createConnectorEnd();
+ assertValid(connectorEnd2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ connectorEnd2.setLowerValue(opaqueExpression);
+ assertSuperset(
+ connectorEnd2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ connectorEnd2.setLowerValue(expression);
+ assertSuperset(connectorEnd2.getOwnedElements().contains(expression));
+
+ ConnectorEnd connectorEnd3 = UML.createConnectorEnd();
+ assertValid(connectorEnd3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ connectorEnd3.setLowerValue(literalReal);
+ assertSuperset(connectorEnd3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ connectorEnd3.setLowerValue(literalString);
+ assertSuperset(
+ connectorEnd3.getOwnedElements().contains(literalString));
+
+ ConnectorEnd connectorEnd4 = UML.createConnectorEnd();
+ assertValid(connectorEnd4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ connectorEnd4.setLowerValue(literalNull);
+ assertSuperset(connectorEnd4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ connectorEnd4.setLowerValue(duration);
+ assertSuperset(connectorEnd4.getOwnedElements().contains(duration));
+
+ ConnectorEnd connectorEnd5 = UML.createConnectorEnd();
+ assertValid(connectorEnd5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ connectorEnd5.setLowerValue(literalInteger);
+ assertSuperset(
+ connectorEnd5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ connectorEnd5.setLowerValue(durationInterval);
+ assertSuperset(
+ connectorEnd5.getOwnedElements().contains(durationInterval));
+
+ ConnectorEnd connectorEnd6 = UML.createConnectorEnd();
+ assertValid(connectorEnd6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ connectorEnd6.setLowerValue(stringExpression);
+ assertSuperset(
+ connectorEnd6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ connectorEnd6.setLowerValue(literalUnlimitedNatural);
+ assertSuperset(
+ connectorEnd6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ConnectorEnd connectorEnd7 = UML.createConnectorEnd();
+ assertValid(connectorEnd7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ connectorEnd7.setLowerValue(timeInterval);
+ assertSuperset(connectorEnd7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ connectorEnd7.setLowerValue(timeExpression);
+ assertSuperset(
+ connectorEnd7.getOwnedElements().contains(timeExpression));
+
+ ConnectorEnd connectorEnd8 = UML.createConnectorEnd();
+ assertValid(connectorEnd8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ connectorEnd8.setLowerValue(instanceValue);
+ assertSuperset(
+ connectorEnd8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testUpperValue() {
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ connectorEnd.setUpperValue(literalBoolean);
+ assertSuperset(
+ connectorEnd.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ connectorEnd.setUpperValue(interval);
+ assertSuperset(connectorEnd.getOwnedElements().contains(interval));
+
+ ConnectorEnd connectorEnd2 = UML.createConnectorEnd();
+ assertValid(connectorEnd2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ connectorEnd2.setUpperValue(opaqueExpression);
+ assertSuperset(
+ connectorEnd2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ connectorEnd2.setUpperValue(expression);
+ assertSuperset(connectorEnd2.getOwnedElements().contains(expression));
+
+ ConnectorEnd connectorEnd3 = UML.createConnectorEnd();
+ assertValid(connectorEnd3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ connectorEnd3.setUpperValue(literalReal);
+ assertSuperset(connectorEnd3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ connectorEnd3.setUpperValue(literalString);
+ assertSuperset(
+ connectorEnd3.getOwnedElements().contains(literalString));
+
+ ConnectorEnd connectorEnd4 = UML.createConnectorEnd();
+ assertValid(connectorEnd4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ connectorEnd4.setUpperValue(literalNull);
+ assertSuperset(connectorEnd4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ connectorEnd4.setUpperValue(duration);
+ assertSuperset(connectorEnd4.getOwnedElements().contains(duration));
+
+ ConnectorEnd connectorEnd5 = UML.createConnectorEnd();
+ assertValid(connectorEnd5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ connectorEnd5.setUpperValue(literalInteger);
+ assertSuperset(
+ connectorEnd5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ connectorEnd5.setUpperValue(durationInterval);
+ assertSuperset(
+ connectorEnd5.getOwnedElements().contains(durationInterval));
+
+ ConnectorEnd connectorEnd6 = UML.createConnectorEnd();
+ assertValid(connectorEnd6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ connectorEnd6.setUpperValue(stringExpression);
+ assertSuperset(
+ connectorEnd6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ connectorEnd6.setUpperValue(literalUnlimitedNatural);
+ assertSuperset(
+ connectorEnd6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ConnectorEnd connectorEnd7 = UML.createConnectorEnd();
+ assertValid(connectorEnd7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ connectorEnd7.setUpperValue(timeInterval);
+ assertSuperset(connectorEnd7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ connectorEnd7.setUpperValue(timeExpression);
+ assertSuperset(
+ connectorEnd7.getOwnedElements().contains(timeExpression));
+
+ ConnectorEnd connectorEnd8 = UML.createConnectorEnd();
+ assertValid(connectorEnd8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ connectorEnd8.setUpperValue(instanceValue);
+ assertSuperset(
+ connectorEnd8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testPartWithPort() {
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ connectorEnd.setPartWithPort(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ connectorEnd.setPartWithPort(extensionEnd);
+
+ ConnectorEnd connectorEnd2 = UML.createConnectorEnd();
+ assertValid(connectorEnd2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ connectorEnd2.setPartWithPort(property);
+ }
+
+ public void testRole() {
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ connectorEnd.setRole(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ connectorEnd.setRole(extensionEnd);
+
+ ConnectorEnd connectorEnd2 = UML.createConnectorEnd();
+ assertValid(connectorEnd2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ connectorEnd2.setRole(property);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ connectorEnd2.setRole(parameter);
+
+ ConnectorEnd connectorEnd3 = UML.createConnectorEnd();
+ assertValid(connectorEnd3);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ connectorEnd3.setRole(variable);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectorTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectorTest.java
new file mode 100755
index 00000000..d27424e0
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConnectorTest.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.StringExpression;
+
+/**
+ * @author Eike Stepper
+ */
+public class ConnectorTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ connector.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ connector.getOwnedComments().add(comment);
+ assertSuperset(connector.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ EList<Element> elements = connector.getOwnedElements();
+ EList<Element> elements2 = connector.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ EList<Dependency> dependencys = connector.getClientDependencies();
+ EList<Dependency> dependencys2 = connector.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ connector.setNameExpression(stringExpression);
+ assertSuperset(connector.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ EList<RedefinableElement> redefinableElements = connector
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = connector
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ EList<Classifier> classifiers = connector.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = connector.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testFeaturingClassifier() {
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ EList<Classifier> classifiers = connector.getFeaturingClassifiers();
+ EList<Classifier> classifiers2 = connector.getFeaturingClassifiers();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testContract() {
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ connector.getContracts().add(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ connector.getContracts().add(stateMachine);
+ }
+
+ public void testEnd() {
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+ connector.getEnds().add(connectorEnd);
+ assertSuperset(connector.getOwnedElements().contains(connectorEnd));
+
+ ConnectorEnd connectorEnd2 = UML.createConnectorEnd();
+ assertValid(connectorEnd2);
+ connector.getEnds().add(connectorEnd2);
+ assertSuperset(connector.getOwnedElements().contains(connectorEnd2));
+ }
+
+ public void testRedefinedConnector() {
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+
+ Connector connector2 = UML.createConnector();
+ assertValid(connector2);
+ connector.getRedefinedConnectors().add(connector2);
+ assertSuperset(connector.getRedefinedElements().contains(connector2));
+ }
+
+ public void testType() {
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ connector.setType(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ connector.setType(associationClass);
+
+ Connector connector2 = UML.createConnector();
+ assertValid(connector2);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ connector2.setType(communicationPath);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ connector2.setType(association);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConsiderIgnoreFragmentTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConsiderIgnoreFragmentTest.java
new file mode 100755
index 00000000..f08e4d0c
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConsiderIgnoreFragmentTest.java
@@ -0,0 +1,1051 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class ConsiderIgnoreFragmentTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ considerIgnoreFragment.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ considerIgnoreFragment.getOwnedComments().add(comment);
+ assertSuperset(
+ considerIgnoreFragment.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ EList<Element> elements = considerIgnoreFragment.getOwnedElements();
+ EList<Element> elements2 = considerIgnoreFragment.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ EList<Dependency> dependencys = considerIgnoreFragment
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = considerIgnoreFragment
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ considerIgnoreFragment.setNameExpression(stringExpression);
+ assertSuperset(considerIgnoreFragment.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testCovered() {
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ considerIgnoreFragment.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ considerIgnoreFragment.setEnclosingOperand(interactionOperand);
+ assertSuperset(
+ considerIgnoreFragment.getNamespace() == interactionOperand);
+ }
+
+ public void testEnclosingInteraction() {
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ considerIgnoreFragment.setEnclosingInteraction(interaction);
+ assertSuperset(considerIgnoreFragment.getNamespace() == interaction);
+ }
+
+ public void testGeneralOrdering() {
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ considerIgnoreFragment.getGeneralOrderings().add(generalOrdering);
+ assertSuperset(considerIgnoreFragment.getOwnedElements()
+ .contains(generalOrdering));
+ }
+
+ public void testCfragmentGate() {
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ considerIgnoreFragment.getCfragmentGates().add(gate);
+ assertSuperset(
+ considerIgnoreFragment.getOwnedElements().contains(gate));
+ }
+
+ public void testOperand() {
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ considerIgnoreFragment.getOperands().add(interactionOperand);
+ assertSuperset(considerIgnoreFragment.getOwnedElements()
+ .contains(interactionOperand));
+ }
+
+ public void testMessage() {
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ considerIgnoreFragment.getMessages().add(activity);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ considerIgnoreFragment.getMessages().add(communicationPath);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ considerIgnoreFragment.getMessages().add(readSelfAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ considerIgnoreFragment.getMessages().add(activityPartition);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ considerIgnoreFragment.getMessages().add(inputPin);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ considerIgnoreFragment.getMessages()
+ .add(readLinkObjectEndQualifierAction);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ considerIgnoreFragment.getMessages().add(component);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ considerIgnoreFragment.getMessages().add(manifestation);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ considerIgnoreFragment.getMessages().add(durationObservation);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ considerIgnoreFragment.getMessages().add(callEvent);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ considerIgnoreFragment.getMessages().add(joinNode);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ considerIgnoreFragment.getMessages().add(interaction);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ considerIgnoreFragment.getMessages().add(createLinkObjectAction);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ considerIgnoreFragment.getMessages().add(opaqueBehavior);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ considerIgnoreFragment.getMessages().add(literalUnlimitedNatural);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ considerIgnoreFragment.getMessages().add(sendSignalAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ considerIgnoreFragment.getMessages().add(readLinkAction);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ considerIgnoreFragment.getMessages().add(operation);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ considerIgnoreFragment.getMessages().add(clearAssociationAction);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ considerIgnoreFragment.getMessages().add(model);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ considerIgnoreFragment.getMessages().add(parameter);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ considerIgnoreFragment.getMessages().add(instanceValue);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ considerIgnoreFragment.getMessages().add(trigger);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ considerIgnoreFragment.getMessages().add(interactionConstraint);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ considerIgnoreFragment.getMessages().add(associationClass);
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ considerIgnoreFragment.getMessages().add(interactionUse);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ considerIgnoreFragment.getMessages().add(clearStructuralFeatureAction);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ considerIgnoreFragment.getMessages().add(interval);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ considerIgnoreFragment.getMessages().add(structuredActivityNode);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ considerIgnoreFragment.getMessages().add(literalString);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ considerIgnoreFragment.getMessages().add(valuePin);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ considerIgnoreFragment.getMessages().add(interfaceRealization);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ considerIgnoreFragment.getMessages().add(forkNode);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ considerIgnoreFragment.getMessages().add(decisionNode);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ considerIgnoreFragment.getMessages().add(actor);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ considerIgnoreFragment.getMessages().add(timeConstraint);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ considerIgnoreFragment.getMessages().add(reception);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ considerIgnoreFragment.getMessages().add(pseudostate);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ considerIgnoreFragment.getMessages().add(durationInterval);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ considerIgnoreFragment.getMessages().add(deployment);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ considerIgnoreFragment.getMessages().add(extensionEnd);
+
+ ConsiderIgnoreFragment considerIgnoreFragment2 = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment2);
+ considerIgnoreFragment.getMessages().add(considerIgnoreFragment2);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ considerIgnoreFragment.getMessages().add(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ considerIgnoreFragment.getMessages().add(readExtentAction);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ considerIgnoreFragment.getMessages().add(actionInputPin);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ considerIgnoreFragment.getMessages().add(artifact);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ considerIgnoreFragment.getMessages().add(informationFlow);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ considerIgnoreFragment.getMessages().add(clearVariableAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ considerIgnoreFragment.getMessages().add(createLinkAction);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ considerIgnoreFragment.getMessages().add(signalEvent);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ considerIgnoreFragment.getMessages().add(connectionPointReference);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ considerIgnoreFragment.getMessages().add(reclassifyObjectAction);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ considerIgnoreFragment.getMessages().add(usage);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ considerIgnoreFragment.getMessages().add(dataStoreNode);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ considerIgnoreFragment.getMessages().add(executionEnvironment);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ considerIgnoreFragment.getMessages().add(sendObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ considerIgnoreFragment.getMessages().add(controlFlow);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ considerIgnoreFragment.getMessages().add(deploymentSpecification);
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ considerIgnoreFragment.getMessages().add(partDecomposition);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ considerIgnoreFragment.getMessages().add(destroyLinkAction);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ considerIgnoreFragment.getMessages().add(realization);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ considerIgnoreFragment.getMessages().add(expansionNode);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ considerIgnoreFragment.getMessages().add(testIdentityAction);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ considerIgnoreFragment.getMessages().add(association);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ considerIgnoreFragment.getMessages().add(timeInterval);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ considerIgnoreFragment.getMessages().add(dataType);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ considerIgnoreFragment.getMessages().add(outputPin);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ considerIgnoreFragment.getMessages().add(substitution);
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ considerIgnoreFragment.getMessages().add(include);
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ considerIgnoreFragment.getMessages().add(extend);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ considerIgnoreFragment.getMessages().add(broadcastSignalAction);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ considerIgnoreFragment.getMessages().add(literalBoolean);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ considerIgnoreFragment.getMessages().add(finalState);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ considerIgnoreFragment.getMessages().add(raiseExceptionAction);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ considerIgnoreFragment.getMessages().add(durationConstraint);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ considerIgnoreFragment.getMessages().add(activityFinalNode);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ considerIgnoreFragment.getMessages().add(literalNull);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ considerIgnoreFragment.getMessages().add(callOperationAction);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ considerIgnoreFragment.getMessages().add(protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ considerIgnoreFragment.getMessages().add(loopNode);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ considerIgnoreFragment.getMessages().add(parameterSet);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ considerIgnoreFragment.getMessages().add(valueSpecificationAction);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ considerIgnoreFragment.getMessages().add(node);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ considerIgnoreFragment.getMessages().add(sequenceNode);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ considerIgnoreFragment.getMessages().add(constraint);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ considerIgnoreFragment.getMessages().add(destroyObjectAction);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ considerIgnoreFragment.getMessages().add(stateMachine);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ considerIgnoreFragment.getMessages().add(enumerationLiteral);
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ considerIgnoreFragment.getMessages().add(actionExecutionSpecification);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ considerIgnoreFragment.getMessages().add(functionBehavior);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ considerIgnoreFragment.getMessages().add(interface_);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ considerIgnoreFragment.getMessages().add(instanceSpecification);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ considerIgnoreFragment.getMessages().add(startClassifierBehaviorAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ considerIgnoreFragment.getMessages().add(port);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ considerIgnoreFragment.getMessages().add(removeVariableValueAction);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ considerIgnoreFragment.getMessages().add(informationItem);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ considerIgnoreFragment.getMessages().add(literalReal);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ considerIgnoreFragment.getMessages().add(redefinableTemplateSignature);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ considerIgnoreFragment.getMessages()
+ .add(executionOccurrenceSpecification);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ considerIgnoreFragment.getMessages().add(duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ considerIgnoreFragment.getMessages().add(package_);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ considerIgnoreFragment.getMessages().add(variable);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ considerIgnoreFragment.getMessages()
+ .add(destructionOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ considerIgnoreFragment.getMessages().add(lifeline);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ considerIgnoreFragment.getMessages().add(timeObservation);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ considerIgnoreFragment.getMessages().add(replyAction);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ considerIgnoreFragment.getMessages().add(gate);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ considerIgnoreFragment.getMessages().add(property);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ considerIgnoreFragment.getMessages().add(timeExpression);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ considerIgnoreFragment.getMessages().add(device);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ considerIgnoreFragment.getMessages().add(flowFinalNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ considerIgnoreFragment.getMessages().add(expansionRegion);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ considerIgnoreFragment.getMessages().add(abstraction);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ considerIgnoreFragment.getMessages().add(startObjectBehaviorAction);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ considerIgnoreFragment.getMessages().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ considerIgnoreFragment.getMessages().add(primitiveType);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ considerIgnoreFragment.getMessages().add(profile);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ considerIgnoreFragment.getMessages().add(message);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ considerIgnoreFragment.getMessages().add(generalizationSet);
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ considerIgnoreFragment.getMessages().add(continuation);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ considerIgnoreFragment.getMessages().add(signal);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ considerIgnoreFragment.getMessages().add(callBehaviorAction);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ considerIgnoreFragment.getMessages().add(objectFlow);
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ considerIgnoreFragment.getMessages().add(stateInvariant);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ considerIgnoreFragment.getMessages().add(readIsClassifiedObjectAction);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ considerIgnoreFragment.getMessages().add(activityParameterNode);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ considerIgnoreFragment.getMessages()
+ .add(addStructuralFeatureValueAction);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ considerIgnoreFragment.getMessages().add(readVariableAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ considerIgnoreFragment.getMessages().add(interruptibleActivityRegion);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ considerIgnoreFragment.getMessages()
+ .add(removeStructuralFeatureValueAction);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ considerIgnoreFragment.getMessages().add(opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ considerIgnoreFragment.getMessages().add(timeEvent);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ considerIgnoreFragment.getMessages().add(generalOrdering);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ considerIgnoreFragment.getMessages().add(region);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ considerIgnoreFragment.getMessages().add(transition);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ considerIgnoreFragment.getMessages().add(anyReceiveEvent);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ considerIgnoreFragment.getMessages()
+ .add(messageOccurrenceSpecification);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ considerIgnoreFragment.getMessages().add(literalInteger);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ considerIgnoreFragment.getMessages().add(reduceAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ considerIgnoreFragment.getMessages().add(acceptEventAction);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ considerIgnoreFragment.getMessages().add(initialNode);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ considerIgnoreFragment.getMessages().add(centralBufferNode);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ considerIgnoreFragment.getMessages().add(combinedFragment);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ considerIgnoreFragment.getMessages().add(intervalConstraint);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ considerIgnoreFragment.getMessages().add(extension);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ considerIgnoreFragment.getMessages().add(occurrenceSpecification);
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ considerIgnoreFragment.getMessages().add(extensionPoint);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ considerIgnoreFragment.getMessages().add(dependency);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ considerIgnoreFragment.getMessages().add(connector);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ considerIgnoreFragment.getMessages().add(expression);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ considerIgnoreFragment.getMessages().add(componentRealization);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ considerIgnoreFragment.getMessages().add(class_);
+
+ State state = UML.createState();
+ assertValid(state);
+ considerIgnoreFragment.getMessages().add(state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ considerIgnoreFragment.getMessages().add(protocolTransition);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ considerIgnoreFragment.getMessages()
+ .add(behaviorExecutionSpecification);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ considerIgnoreFragment.getMessages().add(collaborationUse);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ considerIgnoreFragment.getMessages().add(interactionOperand);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ considerIgnoreFragment.getMessages().add(acceptCallAction);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ considerIgnoreFragment.getMessages().add(addVariableValueAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ considerIgnoreFragment.getMessages().add(readLinkObjectEndAction);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ considerIgnoreFragment.getMessages().add(useCase);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ considerIgnoreFragment.getMessages().add(unmarshallAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ considerIgnoreFragment.getMessages().add(opaqueAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ considerIgnoreFragment.getMessages().add(stringExpression);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ considerIgnoreFragment.getMessages().add(mergeNode);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ considerIgnoreFragment.getMessages().add(changeEvent);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ considerIgnoreFragment.getMessages().add(createObjectAction);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ considerIgnoreFragment.getMessages().add(stereotype);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ considerIgnoreFragment.getMessages().add(readStructuralFeatureAction);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ considerIgnoreFragment.getMessages().add(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConstraintTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConstraintTest.java
new file mode 100755
index 00000000..fba2d246
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ConstraintTest.java
@@ -0,0 +1,1506 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Clause;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolConformance;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class ConstraintTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ constraint.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ constraint.getOwnedComments().add(comment);
+ assertSuperset(constraint.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ EList<Element> elements = constraint.getOwnedElements();
+ EList<Element> elements2 = constraint.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ EList<Dependency> dependencys = constraint.getClientDependencies();
+ EList<Dependency> dependencys2 = constraint.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ constraint.setNameExpression(stringExpression);
+ assertSuperset(
+ constraint.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ constraint.setOwningTemplateParameter(templateParameter);
+ assertSuperset(constraint.getOwner() == templateParameter);
+ assertSuperset(constraint.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ constraint.setTemplateParameter(templateParameter);
+ }
+
+ public void testConstrainedElement() {
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ constraint.getConstrainedElements().add(activity);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ constraint.getConstrainedElements().add(communicationPath);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ constraint.getConstrainedElements().add(inputPin);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ constraint.getConstrainedElements()
+ .add(readLinkObjectEndQualifierAction);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ constraint.getConstrainedElements().add(component);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ constraint.getConstrainedElements().add(durationObservation);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ constraint.getConstrainedElements().add(callEvent);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ constraint.getConstrainedElements().add(joinNode);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ constraint.getConstrainedElements().add(createLinkObjectAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ constraint.getConstrainedElements().add(readLinkAction);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ constraint.getConstrainedElements().add(model);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ constraint.getConstrainedElements().add(trigger);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ constraint.getConstrainedElements().add(associationClass);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ constraint.getConstrainedElements().add(classifierTemplateParameter);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ constraint.getConstrainedElements().add(clearStructuralFeatureAction);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ constraint.getConstrainedElements().add(structuredActivityNode);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ constraint.getConstrainedElements().add(forkNode);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ constraint.getConstrainedElements().add(timeConstraint);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ constraint.getConstrainedElements().add(extensionEnd);
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ constraint.getConstrainedElements().add(considerIgnoreFragment);
+
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+ constraint.getConstrainedElements().add(protocolConformance);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ constraint.getConstrainedElements().add(readExtentAction);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ constraint.getConstrainedElements().add(actionInputPin);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ constraint.getConstrainedElements().add(artifact);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ constraint.getConstrainedElements().add(informationFlow);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ constraint.getConstrainedElements().add(clearVariableAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ constraint.getConstrainedElements().add(createLinkAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ constraint.getConstrainedElements().add(sendObjectAction);
+
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+ constraint.getConstrainedElements().add(linkEndData);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ constraint.getConstrainedElements().add(controlFlow);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ constraint.getConstrainedElements().add(deploymentSpecification);
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ constraint.getConstrainedElements().add(partDecomposition);
+
+ Image image = UML.createImage();
+ assertValid(image);
+ constraint.getConstrainedElements().add(image);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ constraint.getConstrainedElements().add(destroyLinkAction);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ constraint.getConstrainedElements().add(expansionNode);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ constraint.getConstrainedElements().add(timeInterval);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ constraint.getConstrainedElements().add(dataType);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ constraint.getConstrainedElements().add(substitution);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ constraint.getConstrainedElements().add(literalBoolean);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ constraint.getConstrainedElements().add(durationConstraint);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ constraint.getConstrainedElements().add(literalNull);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ constraint.getConstrainedElements().add(callOperationAction);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ constraint.getConstrainedElements().add(node);
+
+ Constraint constraint2 = UML.createConstraint();
+ assertValid(constraint2);
+ constraint.getConstrainedElements().add(constraint2);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ constraint.getConstrainedElements().add(stateMachine);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ constraint.getConstrainedElements().add(interface_);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ constraint.getConstrainedElements().add(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ constraint.getConstrainedElements().add(removeVariableValueAction);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ constraint.getConstrainedElements().add(redefinableTemplateSignature);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ constraint.getConstrainedElements()
+ .add(executionOccurrenceSpecification);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ constraint.getConstrainedElements().add(variable);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ constraint.getConstrainedElements().add(property);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ constraint.getConstrainedElements().add(expansionRegion);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ constraint.getConstrainedElements().add(templateParameter);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ constraint.getConstrainedElements().add(startObjectBehaviorAction);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ constraint.getConstrainedElements().add(profile);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ constraint.getConstrainedElements().add(message);
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ constraint.getConstrainedElements().add(continuation);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ constraint.getConstrainedElements().add(objectFlow);
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ constraint.getConstrainedElements().add(stateInvariant);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ constraint.getConstrainedElements()
+ .add(addStructuralFeatureValueAction);
+
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+ constraint.getConstrainedElements().add(connectorEnd);
+
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+ constraint.getConstrainedElements().add(linkEndCreationData);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ constraint.getConstrainedElements()
+ .add(connectableElementTemplateParameter);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ constraint.getConstrainedElements().add(templateBinding);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ constraint.getConstrainedElements().add(opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ constraint.getConstrainedElements().add(timeEvent);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ constraint.getConstrainedElements().add(generalOrdering);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ constraint.getConstrainedElements().add(messageOccurrenceSpecification);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ constraint.getConstrainedElements().add(literalInteger);
+
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+ constraint.getConstrainedElements().add(slot);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ constraint.getConstrainedElements().add(centralBufferNode);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ constraint.getConstrainedElements().add(extension);
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ constraint.getConstrainedElements().add(extensionPoint);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ constraint.getConstrainedElements().add(elementImport);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ constraint.getConstrainedElements().add(dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ constraint.getConstrainedElements().add(expression);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ constraint.getConstrainedElements().add(behaviorExecutionSpecification);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ constraint.getConstrainedElements().add(acceptCallAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ constraint.getConstrainedElements().add(readLinkObjectEndAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ constraint.getConstrainedElements().add(opaqueAction);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ constraint.getConstrainedElements().add(packageImport);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ constraint.getConstrainedElements().add(stringExpression);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ constraint.getConstrainedElements().add(mergeNode);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ constraint.getConstrainedElements().add(templateSignature);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ constraint.getConstrainedElements().add(changeEvent);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ constraint.getConstrainedElements().add(stereotype);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ constraint.getConstrainedElements().add(comment);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ constraint.getConstrainedElements().add(readSelfAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ constraint.getConstrainedElements().add(activityPartition);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ constraint.getConstrainedElements().add(manifestation);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ constraint.getConstrainedElements().add(interaction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ constraint.getConstrainedElements().add(exceptionHandler);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ constraint.getConstrainedElements().add(opaqueBehavior);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ constraint.getConstrainedElements().add(literalUnlimitedNatural);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ constraint.getConstrainedElements().add(sendSignalAction);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ constraint.getConstrainedElements().add(operation);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ constraint.getConstrainedElements().add(clearAssociationAction);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ constraint.getConstrainedElements().add(parameter);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ constraint.getConstrainedElements().add(instanceValue);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ constraint.getConstrainedElements().add(interactionConstraint);
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ constraint.getConstrainedElements().add(interactionUse);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ constraint.getConstrainedElements().add(interval);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ constraint.getConstrainedElements().add(literalString);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ constraint.getConstrainedElements().add(valuePin);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ constraint.getConstrainedElements().add(interfaceRealization);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ constraint.getConstrainedElements().add(decisionNode);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ constraint.getConstrainedElements().add(actor);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ constraint.getConstrainedElements().add(generalization);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ constraint.getConstrainedElements().add(reception);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ constraint.getConstrainedElements().add(pseudostate);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ constraint.getConstrainedElements().add(durationInterval);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ constraint.getConstrainedElements().add(deployment);
+
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+ constraint.getConstrainedElements().add(qualifierValue);
+
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ constraint.getConstrainedElements().add(packageMerge);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ constraint.getConstrainedElements().add(conditionalNode);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ constraint.getConstrainedElements().add(signalEvent);
+
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+ constraint.getConstrainedElements().add(templateParameterSubstitution);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ constraint.getConstrainedElements().add(connectionPointReference);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ constraint.getConstrainedElements().add(reclassifyObjectAction);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ constraint.getConstrainedElements().add(usage);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ constraint.getConstrainedElements().add(dataStoreNode);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ constraint.getConstrainedElements().add(executionEnvironment);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ constraint.getConstrainedElements().add(realization);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ constraint.getConstrainedElements().add(testIdentityAction);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ constraint.getConstrainedElements().add(association);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ constraint.getConstrainedElements().add(outputPin);
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ constraint.getConstrainedElements().add(include);
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ constraint.getConstrainedElements().add(extend);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ constraint.getConstrainedElements().add(broadcastSignalAction);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ constraint.getConstrainedElements().add(finalState);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ constraint.getConstrainedElements().add(raiseExceptionAction);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ constraint.getConstrainedElements().add(activityFinalNode);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ constraint.getConstrainedElements().add(protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ constraint.getConstrainedElements().add(loopNode);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ constraint.getConstrainedElements().add(parameterSet);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ constraint.getConstrainedElements().add(valueSpecificationAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ constraint.getConstrainedElements().add(sequenceNode);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ constraint.getConstrainedElements().add(destroyObjectAction);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ constraint.getConstrainedElements().add(enumerationLiteral);
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ constraint.getConstrainedElements().add(actionExecutionSpecification);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ constraint.getConstrainedElements().add(functionBehavior);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ constraint.getConstrainedElements().add(instanceSpecification);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ constraint.getConstrainedElements().add(port);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ constraint.getConstrainedElements().add(informationItem);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ constraint.getConstrainedElements().add(literalReal);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ constraint.getConstrainedElements().add(duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ constraint.getConstrainedElements().add(package_);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ constraint.getConstrainedElements()
+ .add(destructionOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ constraint.getConstrainedElements().add(lifeline);
+
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ constraint.getConstrainedElements().add(profileApplication);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ constraint.getConstrainedElements().add(timeObservation);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ constraint.getConstrainedElements().add(replyAction);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ constraint.getConstrainedElements().add(gate);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ constraint.getConstrainedElements().add(timeExpression);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ constraint.getConstrainedElements().add(device);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ constraint.getConstrainedElements().add(flowFinalNode);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ constraint.getConstrainedElements().add(abstraction);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ constraint.getConstrainedElements().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ constraint.getConstrainedElements().add(primitiveType);
+
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+ constraint.getConstrainedElements().add(linkEndDestructionData);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ constraint.getConstrainedElements().add(generalizationSet);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ constraint.getConstrainedElements().add(signal);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ constraint.getConstrainedElements().add(callBehaviorAction);
+
+ Clause clause = UML.createClause();
+ assertValid(clause);
+ constraint.getConstrainedElements().add(clause);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ constraint.getConstrainedElements().add(readIsClassifiedObjectAction);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ constraint.getConstrainedElements().add(activityParameterNode);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ constraint.getConstrainedElements().add(readVariableAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ constraint.getConstrainedElements().add(interruptibleActivityRegion);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ constraint.getConstrainedElements()
+ .add(removeStructuralFeatureValueAction);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ constraint.getConstrainedElements().add(region);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ constraint.getConstrainedElements().add(transition);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ constraint.getConstrainedElements().add(anyReceiveEvent);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ constraint.getConstrainedElements().add(reduceAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ constraint.getConstrainedElements().add(acceptEventAction);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ constraint.getConstrainedElements().add(initialNode);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ constraint.getConstrainedElements().add(combinedFragment);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ constraint.getConstrainedElements().add(intervalConstraint);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ constraint.getConstrainedElements().add(occurrenceSpecification);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ constraint.getConstrainedElements().add(connector);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ constraint.getConstrainedElements().add(componentRealization);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ constraint.getConstrainedElements().add(class_);
+
+ State state = UML.createState();
+ assertValid(state);
+ constraint.getConstrainedElements().add(state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ constraint.getConstrainedElements().add(protocolTransition);
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ constraint.getConstrainedElements().add(operationTemplateParameter);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ constraint.getConstrainedElements().add(collaborationUse);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ constraint.getConstrainedElements().add(interactionOperand);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ constraint.getConstrainedElements().add(addVariableValueAction);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ constraint.getConstrainedElements().add(useCase);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ constraint.getConstrainedElements().add(unmarshallAction);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ constraint.getConstrainedElements().add(createObjectAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ constraint.getConstrainedElements().add(readStructuralFeatureAction);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ constraint.getConstrainedElements().add(collaboration);
+ }
+
+ public void testContext() {
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ constraint.setContext(functionBehavior);
+ assertSuperset(constraint.getNamespace() == functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ constraint.setContext(activity);
+ assertSuperset(constraint.getNamespace() == activity);
+
+ Constraint constraint2 = UML.createConstraint();
+ assertValid(constraint2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ constraint2.setContext(interface_);
+ assertSuperset(constraint2.getNamespace() == interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ constraint2.setContext(informationItem);
+ assertSuperset(constraint2.getNamespace() == informationItem);
+
+ Constraint constraint3 = UML.createConstraint();
+ assertValid(constraint3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ constraint3.setContext(communicationPath);
+ assertSuperset(constraint3.getNamespace() == communicationPath);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ constraint3.setContext(region);
+ assertSuperset(constraint3.getNamespace() == region);
+
+ Constraint constraint4 = UML.createConstraint();
+ assertValid(constraint4);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ constraint4.setContext(transition);
+ assertSuperset(constraint4.getNamespace() == transition);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ constraint4.setContext(executionEnvironment);
+ assertSuperset(constraint4.getNamespace() == executionEnvironment);
+
+ Constraint constraint5 = UML.createConstraint();
+ assertValid(constraint5);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ constraint5.setContext(component);
+ assertSuperset(constraint5.getNamespace() == component);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ constraint5.setContext(package_);
+ assertSuperset(constraint5.getNamespace() == package_);
+
+ Constraint constraint6 = UML.createConstraint();
+ assertValid(constraint6);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ constraint6.setContext(interaction);
+ assertSuperset(constraint6.getNamespace() == interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ constraint6.setContext(deploymentSpecification);
+ assertSuperset(constraint6.getNamespace() == deploymentSpecification);
+
+ Constraint constraint7 = UML.createConstraint();
+ assertValid(constraint7);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ constraint7.setContext(opaqueBehavior);
+ assertSuperset(constraint7.getNamespace() == opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ constraint7.setContext(association);
+ assertSuperset(constraint7.getNamespace() == association);
+
+ Constraint constraint8 = UML.createConstraint();
+ assertValid(constraint8);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ constraint8.setContext(operation);
+ assertSuperset(constraint8.getNamespace() == operation);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ constraint8.setContext(dataType);
+ assertSuperset(constraint8.getNamespace() == dataType);
+
+ Constraint constraint9 = UML.createConstraint();
+ assertValid(constraint9);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ constraint9.setContext(model);
+ assertSuperset(constraint9.getNamespace() == model);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ constraint9.setContext(device);
+ assertSuperset(constraint9.getNamespace() == device);
+
+ Constraint constraint10 = UML.createConstraint();
+ assertValid(constraint10);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ constraint10.setContext(extension);
+ assertSuperset(constraint10.getNamespace() == extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ constraint10.setContext(associationClass);
+ assertSuperset(constraint10.getNamespace() == associationClass);
+
+ Constraint constraint11 = UML.createConstraint();
+ assertValid(constraint11);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ constraint11.setContext(expansionRegion);
+ assertSuperset(constraint11.getNamespace() == expansionRegion);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ constraint11.setContext(structuredActivityNode);
+ assertSuperset(constraint11.getNamespace() == structuredActivityNode);
+
+ Constraint constraint12 = UML.createConstraint();
+ assertValid(constraint12);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ constraint12.setContext(finalState);
+ assertSuperset(constraint12.getNamespace() == finalState);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ constraint12.setContext(class_);
+ assertSuperset(constraint12.getNamespace() == class_);
+
+ Constraint constraint13 = UML.createConstraint();
+ assertValid(constraint13);
+
+ State state = UML.createState();
+ assertValid(state);
+ constraint13.setContext(state);
+ assertSuperset(constraint13.getNamespace() == state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ constraint13.setContext(protocolTransition);
+ assertSuperset(constraint13.getNamespace() == protocolTransition);
+
+ Constraint constraint14 = UML.createConstraint();
+ assertValid(constraint14);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ constraint14.setContext(enumeration);
+ assertSuperset(constraint14.getNamespace() == enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ constraint14.setContext(primitiveType);
+ assertSuperset(constraint14.getNamespace() == primitiveType);
+
+ Constraint constraint15 = UML.createConstraint();
+ assertValid(constraint15);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ constraint15.setContext(actor);
+ assertSuperset(constraint15.getNamespace() == actor);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ constraint15.setContext(profile);
+ assertSuperset(constraint15.getNamespace() == profile);
+
+ Constraint constraint16 = UML.createConstraint();
+ assertValid(constraint16);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ constraint16.setContext(protocolStateMachine);
+ assertSuperset(constraint16.getNamespace() == protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ constraint16.setContext(loopNode);
+ assertSuperset(constraint16.getNamespace() == loopNode);
+
+ Constraint constraint17 = UML.createConstraint();
+ assertValid(constraint17);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ constraint17.setContext(interactionOperand);
+ assertSuperset(constraint17.getNamespace() == interactionOperand);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ constraint17.setContext(reception);
+ assertSuperset(constraint17.getNamespace() == reception);
+
+ Constraint constraint18 = UML.createConstraint();
+ assertValid(constraint18);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ constraint18.setContext(useCase);
+ assertSuperset(constraint18.getNamespace() == useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ constraint18.setContext(signal);
+ assertSuperset(constraint18.getNamespace() == signal);
+
+ Constraint constraint19 = UML.createConstraint();
+ assertValid(constraint19);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ constraint19.setContext(node);
+ assertSuperset(constraint19.getNamespace() == node);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ constraint19.setContext(sequenceNode);
+ assertSuperset(constraint19.getNamespace() == sequenceNode);
+
+ Constraint constraint20 = UML.createConstraint();
+ assertValid(constraint20);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ constraint20.setContext(stereotype);
+ assertSuperset(constraint20.getNamespace() == stereotype);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ constraint20.setContext(conditionalNode);
+ assertSuperset(constraint20.getNamespace() == conditionalNode);
+
+ Constraint constraint21 = UML.createConstraint();
+ assertValid(constraint21);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ constraint21.setContext(stateMachine);
+ assertSuperset(constraint21.getNamespace() == stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ constraint21.setContext(artifact);
+ assertSuperset(constraint21.getNamespace() == artifact);
+
+ Constraint constraint22 = UML.createConstraint();
+ assertValid(constraint22);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ constraint22.setContext(collaboration);
+ assertSuperset(constraint22.getNamespace() == collaboration);
+ }
+
+ public void testSpecification() {
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ constraint.setSpecification(literalBoolean);
+ assertSuperset(constraint.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ constraint.setSpecification(interval);
+ assertSuperset(constraint.getOwnedElements().contains(interval));
+
+ Constraint constraint2 = UML.createConstraint();
+ assertValid(constraint2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ constraint2.setSpecification(opaqueExpression);
+ assertSuperset(
+ constraint2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ constraint2.setSpecification(expression);
+ assertSuperset(constraint2.getOwnedElements().contains(expression));
+
+ Constraint constraint3 = UML.createConstraint();
+ assertValid(constraint3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ constraint3.setSpecification(literalReal);
+ assertSuperset(constraint3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ constraint3.setSpecification(literalString);
+ assertSuperset(constraint3.getOwnedElements().contains(literalString));
+
+ Constraint constraint4 = UML.createConstraint();
+ assertValid(constraint4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ constraint4.setSpecification(literalNull);
+ assertSuperset(constraint4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ constraint4.setSpecification(duration);
+ assertSuperset(constraint4.getOwnedElements().contains(duration));
+
+ Constraint constraint5 = UML.createConstraint();
+ assertValid(constraint5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ constraint5.setSpecification(literalInteger);
+ assertSuperset(constraint5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ constraint5.setSpecification(durationInterval);
+ assertSuperset(
+ constraint5.getOwnedElements().contains(durationInterval));
+
+ Constraint constraint6 = UML.createConstraint();
+ assertValid(constraint6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ constraint6.setSpecification(stringExpression);
+ assertSuperset(
+ constraint6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ constraint6.setSpecification(literalUnlimitedNatural);
+ assertSuperset(
+ constraint6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Constraint constraint7 = UML.createConstraint();
+ assertValid(constraint7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ constraint7.setSpecification(timeInterval);
+ assertSuperset(constraint7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ constraint7.setSpecification(timeExpression);
+ assertSuperset(constraint7.getOwnedElements().contains(timeExpression));
+
+ Constraint constraint8 = UML.createConstraint();
+ assertValid(constraint8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ constraint8.setSpecification(instanceValue);
+ assertSuperset(constraint8.getOwnedElements().contains(instanceValue));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ContinuationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ContinuationTest.java
new file mode 100755
index 00000000..cb9adcf6
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ContinuationTest.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.StringExpression;
+
+/**
+ * @author Eike Stepper
+ */
+public class ContinuationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ continuation.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ continuation.getOwnedComments().add(comment);
+ assertSuperset(continuation.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ EList<Element> elements = continuation.getOwnedElements();
+ EList<Element> elements2 = continuation.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ EList<Dependency> dependencys = continuation.getClientDependencies();
+ EList<Dependency> dependencys2 = continuation.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ continuation.setNameExpression(stringExpression);
+ assertSuperset(
+ continuation.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testCovered() {
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ continuation.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ continuation.setEnclosingOperand(interactionOperand);
+ assertSuperset(continuation.getNamespace() == interactionOperand);
+ }
+
+ public void testEnclosingInteraction() {
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ continuation.setEnclosingInteraction(interaction);
+ assertSuperset(continuation.getNamespace() == interaction);
+ }
+
+ public void testGeneralOrdering() {
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ continuation.getGeneralOrderings().add(generalOrdering);
+ assertSuperset(
+ continuation.getOwnedElements().contains(generalOrdering));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ControlFlowTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ControlFlowTest.java
new file mode 100755
index 00000000..ec1d6c7e
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ControlFlowTest.java
@@ -0,0 +1,1162 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ControlFlowTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ controlFlow.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ controlFlow.getOwnedComments().add(comment);
+ assertSuperset(controlFlow.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ EList<Element> elements = controlFlow.getOwnedElements();
+ EList<Element> elements2 = controlFlow.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ EList<Dependency> dependencys = controlFlow.getClientDependencies();
+ EList<Dependency> dependencys2 = controlFlow.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ controlFlow.setNameExpression(stringExpression);
+ assertSuperset(
+ controlFlow.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ EList<RedefinableElement> redefinableElements = controlFlow
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = controlFlow
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ EList<Classifier> classifiers = controlFlow.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = controlFlow.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testActivity() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ controlFlow.setActivity(activity);
+ assertSuperset(controlFlow.getOwner() == activity);
+ }
+
+ public void testGuard() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ controlFlow.setGuard(literalBoolean);
+ assertSuperset(controlFlow.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ controlFlow.setGuard(interval);
+ assertSuperset(controlFlow.getOwnedElements().contains(interval));
+
+ ControlFlow controlFlow2 = UML.createControlFlow();
+ assertValid(controlFlow2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ controlFlow2.setGuard(opaqueExpression);
+ assertSuperset(
+ controlFlow2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ controlFlow2.setGuard(expression);
+ assertSuperset(controlFlow2.getOwnedElements().contains(expression));
+
+ ControlFlow controlFlow3 = UML.createControlFlow();
+ assertValid(controlFlow3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ controlFlow3.setGuard(literalReal);
+ assertSuperset(controlFlow3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ controlFlow3.setGuard(literalString);
+ assertSuperset(controlFlow3.getOwnedElements().contains(literalString));
+
+ ControlFlow controlFlow4 = UML.createControlFlow();
+ assertValid(controlFlow4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ controlFlow4.setGuard(literalNull);
+ assertSuperset(controlFlow4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ controlFlow4.setGuard(duration);
+ assertSuperset(controlFlow4.getOwnedElements().contains(duration));
+
+ ControlFlow controlFlow5 = UML.createControlFlow();
+ assertValid(controlFlow5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ controlFlow5.setGuard(literalInteger);
+ assertSuperset(
+ controlFlow5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ controlFlow5.setGuard(durationInterval);
+ assertSuperset(
+ controlFlow5.getOwnedElements().contains(durationInterval));
+
+ ControlFlow controlFlow6 = UML.createControlFlow();
+ assertValid(controlFlow6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ controlFlow6.setGuard(stringExpression);
+ assertSuperset(
+ controlFlow6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ controlFlow6.setGuard(literalUnlimitedNatural);
+ assertSuperset(
+ controlFlow6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ControlFlow controlFlow7 = UML.createControlFlow();
+ assertValid(controlFlow7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ controlFlow7.setGuard(timeInterval);
+ assertSuperset(controlFlow7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ controlFlow7.setGuard(timeExpression);
+ assertSuperset(
+ controlFlow7.getOwnedElements().contains(timeExpression));
+
+ ControlFlow controlFlow8 = UML.createControlFlow();
+ assertValid(controlFlow8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ controlFlow8.setGuard(instanceValue);
+ assertSuperset(controlFlow8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testInPartition() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ controlFlow.getInPartitions().add(activityPartition);
+ assertSuperset(controlFlow.getInGroups().contains(activityPartition));
+ }
+
+ public void testInterrupts() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ controlFlow.setInterrupts(interruptibleActivityRegion);
+ }
+
+ public void testInStructuredNode() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ controlFlow.setInStructuredNode(loopNode);
+ assertSuperset(controlFlow.getInGroups().contains(loopNode));
+ assertSuperset(controlFlow.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ controlFlow.setInStructuredNode(expansionRegion);
+ assertSuperset(controlFlow.getInGroups().contains(expansionRegion));
+ assertSuperset(controlFlow.getOwner() == expansionRegion);
+
+ ControlFlow controlFlow2 = UML.createControlFlow();
+ assertValid(controlFlow2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ controlFlow2.setInStructuredNode(sequenceNode);
+ assertSuperset(controlFlow2.getInGroups().contains(sequenceNode));
+ assertSuperset(controlFlow2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ controlFlow2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ controlFlow2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(controlFlow2.getOwner() == structuredActivityNode);
+
+ ControlFlow controlFlow3 = UML.createControlFlow();
+ assertValid(controlFlow3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ controlFlow3.setInStructuredNode(conditionalNode);
+ assertSuperset(controlFlow3.getInGroups().contains(conditionalNode));
+ assertSuperset(controlFlow3.getOwner() == conditionalNode);
+ }
+
+ public void testTarget() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ controlFlow.setTarget(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ controlFlow.setTarget(removeVariableValueAction);
+
+ ControlFlow controlFlow2 = UML.createControlFlow();
+ assertValid(controlFlow2);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ controlFlow2.setTarget(readSelfAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ controlFlow2.setTarget(inputPin);
+
+ ControlFlow controlFlow3 = UML.createControlFlow();
+ assertValid(controlFlow3);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ controlFlow3.setTarget(readLinkObjectEndQualifierAction);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ controlFlow3.setTarget(joinNode);
+
+ ControlFlow controlFlow4 = UML.createControlFlow();
+ assertValid(controlFlow4);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ controlFlow4.setTarget(createLinkObjectAction);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ controlFlow4.setTarget(sendSignalAction);
+
+ ControlFlow controlFlow5 = UML.createControlFlow();
+ assertValid(controlFlow5);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ controlFlow5.setTarget(readLinkAction);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ controlFlow5.setTarget(replyAction);
+
+ ControlFlow controlFlow6 = UML.createControlFlow();
+ assertValid(controlFlow6);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ controlFlow6.setTarget(clearAssociationAction);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ controlFlow6.setTarget(flowFinalNode);
+
+ ControlFlow controlFlow7 = UML.createControlFlow();
+ assertValid(controlFlow7);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ controlFlow7.setTarget(clearStructuralFeatureAction);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ controlFlow7.setTarget(expansionRegion);
+
+ ControlFlow controlFlow8 = UML.createControlFlow();
+ assertValid(controlFlow8);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ controlFlow8.setTarget(structuredActivityNode);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ controlFlow8.setTarget(valuePin);
+
+ ControlFlow controlFlow9 = UML.createControlFlow();
+ assertValid(controlFlow9);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ controlFlow9.setTarget(startObjectBehaviorAction);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ controlFlow9.setTarget(forkNode);
+
+ ControlFlow controlFlow10 = UML.createControlFlow();
+ assertValid(controlFlow10);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ controlFlow10.setTarget(decisionNode);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ controlFlow10.setTarget(callBehaviorAction);
+
+ ControlFlow controlFlow11 = UML.createControlFlow();
+ assertValid(controlFlow11);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ controlFlow11.setTarget(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ controlFlow11.setTarget(readExtentAction);
+
+ ControlFlow controlFlow12 = UML.createControlFlow();
+ assertValid(controlFlow12);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ controlFlow12.setTarget(actionInputPin);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ controlFlow12.setTarget(readIsClassifiedObjectAction);
+
+ ControlFlow controlFlow13 = UML.createControlFlow();
+ assertValid(controlFlow13);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ controlFlow13.setTarget(activityParameterNode);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ controlFlow13.setTarget(addStructuralFeatureValueAction);
+
+ ControlFlow controlFlow14 = UML.createControlFlow();
+ assertValid(controlFlow14);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ controlFlow14.setTarget(readVariableAction);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ controlFlow14.setTarget(clearVariableAction);
+
+ ControlFlow controlFlow15 = UML.createControlFlow();
+ assertValid(controlFlow15);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ controlFlow15.setTarget(removeStructuralFeatureValueAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ controlFlow15.setTarget(createLinkAction);
+
+ ControlFlow controlFlow16 = UML.createControlFlow();
+ assertValid(controlFlow16);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ controlFlow16.setTarget(reclassifyObjectAction);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ controlFlow16.setTarget(dataStoreNode);
+
+ ControlFlow controlFlow17 = UML.createControlFlow();
+ assertValid(controlFlow17);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ controlFlow17.setTarget(sendObjectAction);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ controlFlow17.setTarget(reduceAction);
+
+ ControlFlow controlFlow18 = UML.createControlFlow();
+ assertValid(controlFlow18);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ controlFlow18.setTarget(acceptEventAction);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ controlFlow18.setTarget(destroyLinkAction);
+
+ ControlFlow controlFlow19 = UML.createControlFlow();
+ assertValid(controlFlow19);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ controlFlow19.setTarget(expansionNode);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ controlFlow19.setTarget(initialNode);
+
+ ControlFlow controlFlow20 = UML.createControlFlow();
+ assertValid(controlFlow20);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ controlFlow20.setTarget(testIdentityAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ controlFlow20.setTarget(outputPin);
+
+ ControlFlow controlFlow21 = UML.createControlFlow();
+ assertValid(controlFlow21);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ controlFlow21.setTarget(centralBufferNode);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ controlFlow21.setTarget(broadcastSignalAction);
+
+ ControlFlow controlFlow22 = UML.createControlFlow();
+ assertValid(controlFlow22);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ controlFlow22.setTarget(raiseExceptionAction);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ controlFlow22.setTarget(activityFinalNode);
+
+ ControlFlow controlFlow23 = UML.createControlFlow();
+ assertValid(controlFlow23);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ controlFlow23.setTarget(callOperationAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ controlFlow23.setTarget(loopNode);
+
+ ControlFlow controlFlow24 = UML.createControlFlow();
+ assertValid(controlFlow24);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ controlFlow24.setTarget(valueSpecificationAction);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ controlFlow24.setTarget(acceptCallAction);
+
+ ControlFlow controlFlow25 = UML.createControlFlow();
+ assertValid(controlFlow25);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ controlFlow25.setTarget(addVariableValueAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ controlFlow25.setTarget(readLinkObjectEndAction);
+
+ ControlFlow controlFlow26 = UML.createControlFlow();
+ assertValid(controlFlow26);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ controlFlow26.setTarget(unmarshallAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ controlFlow26.setTarget(opaqueAction);
+
+ ControlFlow controlFlow27 = UML.createControlFlow();
+ assertValid(controlFlow27);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ controlFlow27.setTarget(mergeNode);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ controlFlow27.setTarget(sequenceNode);
+
+ ControlFlow controlFlow28 = UML.createControlFlow();
+ assertValid(controlFlow28);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ controlFlow28.setTarget(createObjectAction);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ controlFlow28.setTarget(destroyObjectAction);
+
+ ControlFlow controlFlow29 = UML.createControlFlow();
+ assertValid(controlFlow29);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ controlFlow29.setTarget(readStructuralFeatureAction);
+ }
+
+ public void testSource() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ controlFlow.setSource(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ controlFlow.setSource(removeVariableValueAction);
+
+ ControlFlow controlFlow2 = UML.createControlFlow();
+ assertValid(controlFlow2);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ controlFlow2.setSource(readSelfAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ controlFlow2.setSource(inputPin);
+
+ ControlFlow controlFlow3 = UML.createControlFlow();
+ assertValid(controlFlow3);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ controlFlow3.setSource(readLinkObjectEndQualifierAction);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ controlFlow3.setSource(joinNode);
+
+ ControlFlow controlFlow4 = UML.createControlFlow();
+ assertValid(controlFlow4);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ controlFlow4.setSource(createLinkObjectAction);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ controlFlow4.setSource(sendSignalAction);
+
+ ControlFlow controlFlow5 = UML.createControlFlow();
+ assertValid(controlFlow5);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ controlFlow5.setSource(readLinkAction);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ controlFlow5.setSource(replyAction);
+
+ ControlFlow controlFlow6 = UML.createControlFlow();
+ assertValid(controlFlow6);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ controlFlow6.setSource(clearAssociationAction);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ controlFlow6.setSource(flowFinalNode);
+
+ ControlFlow controlFlow7 = UML.createControlFlow();
+ assertValid(controlFlow7);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ controlFlow7.setSource(clearStructuralFeatureAction);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ controlFlow7.setSource(expansionRegion);
+
+ ControlFlow controlFlow8 = UML.createControlFlow();
+ assertValid(controlFlow8);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ controlFlow8.setSource(structuredActivityNode);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ controlFlow8.setSource(valuePin);
+
+ ControlFlow controlFlow9 = UML.createControlFlow();
+ assertValid(controlFlow9);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ controlFlow9.setSource(startObjectBehaviorAction);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ controlFlow9.setSource(forkNode);
+
+ ControlFlow controlFlow10 = UML.createControlFlow();
+ assertValid(controlFlow10);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ controlFlow10.setSource(decisionNode);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ controlFlow10.setSource(callBehaviorAction);
+
+ ControlFlow controlFlow11 = UML.createControlFlow();
+ assertValid(controlFlow11);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ controlFlow11.setSource(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ controlFlow11.setSource(readExtentAction);
+
+ ControlFlow controlFlow12 = UML.createControlFlow();
+ assertValid(controlFlow12);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ controlFlow12.setSource(actionInputPin);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ controlFlow12.setSource(readIsClassifiedObjectAction);
+
+ ControlFlow controlFlow13 = UML.createControlFlow();
+ assertValid(controlFlow13);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ controlFlow13.setSource(activityParameterNode);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ controlFlow13.setSource(addStructuralFeatureValueAction);
+
+ ControlFlow controlFlow14 = UML.createControlFlow();
+ assertValid(controlFlow14);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ controlFlow14.setSource(readVariableAction);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ controlFlow14.setSource(clearVariableAction);
+
+ ControlFlow controlFlow15 = UML.createControlFlow();
+ assertValid(controlFlow15);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ controlFlow15.setSource(removeStructuralFeatureValueAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ controlFlow15.setSource(createLinkAction);
+
+ ControlFlow controlFlow16 = UML.createControlFlow();
+ assertValid(controlFlow16);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ controlFlow16.setSource(reclassifyObjectAction);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ controlFlow16.setSource(dataStoreNode);
+
+ ControlFlow controlFlow17 = UML.createControlFlow();
+ assertValid(controlFlow17);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ controlFlow17.setSource(sendObjectAction);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ controlFlow17.setSource(reduceAction);
+
+ ControlFlow controlFlow18 = UML.createControlFlow();
+ assertValid(controlFlow18);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ controlFlow18.setSource(acceptEventAction);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ controlFlow18.setSource(destroyLinkAction);
+
+ ControlFlow controlFlow19 = UML.createControlFlow();
+ assertValid(controlFlow19);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ controlFlow19.setSource(expansionNode);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ controlFlow19.setSource(initialNode);
+
+ ControlFlow controlFlow20 = UML.createControlFlow();
+ assertValid(controlFlow20);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ controlFlow20.setSource(testIdentityAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ controlFlow20.setSource(outputPin);
+
+ ControlFlow controlFlow21 = UML.createControlFlow();
+ assertValid(controlFlow21);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ controlFlow21.setSource(centralBufferNode);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ controlFlow21.setSource(broadcastSignalAction);
+
+ ControlFlow controlFlow22 = UML.createControlFlow();
+ assertValid(controlFlow22);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ controlFlow22.setSource(raiseExceptionAction);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ controlFlow22.setSource(activityFinalNode);
+
+ ControlFlow controlFlow23 = UML.createControlFlow();
+ assertValid(controlFlow23);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ controlFlow23.setSource(callOperationAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ controlFlow23.setSource(loopNode);
+
+ ControlFlow controlFlow24 = UML.createControlFlow();
+ assertValid(controlFlow24);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ controlFlow24.setSource(valueSpecificationAction);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ controlFlow24.setSource(acceptCallAction);
+
+ ControlFlow controlFlow25 = UML.createControlFlow();
+ assertValid(controlFlow25);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ controlFlow25.setSource(addVariableValueAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ controlFlow25.setSource(readLinkObjectEndAction);
+
+ ControlFlow controlFlow26 = UML.createControlFlow();
+ assertValid(controlFlow26);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ controlFlow26.setSource(unmarshallAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ controlFlow26.setSource(opaqueAction);
+
+ ControlFlow controlFlow27 = UML.createControlFlow();
+ assertValid(controlFlow27);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ controlFlow27.setSource(mergeNode);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ controlFlow27.setSource(sequenceNode);
+
+ ControlFlow controlFlow28 = UML.createControlFlow();
+ assertValid(controlFlow28);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ controlFlow28.setSource(createObjectAction);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ controlFlow28.setSource(destroyObjectAction);
+
+ ControlFlow controlFlow29 = UML.createControlFlow();
+ assertValid(controlFlow29);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ controlFlow29.setSource(readStructuralFeatureAction);
+ }
+
+ public void testRedefinedEdge() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+
+ ControlFlow controlFlow2 = UML.createControlFlow();
+ assertValid(controlFlow2);
+ controlFlow.getRedefinedEdges().add(controlFlow2);
+ assertSuperset(
+ controlFlow.getRedefinedElements().contains(controlFlow2));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ controlFlow.getRedefinedEdges().add(objectFlow);
+ assertSuperset(controlFlow.getRedefinedElements().contains(objectFlow));
+ }
+
+ public void testWeight() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ controlFlow.setWeight(literalBoolean);
+ assertSuperset(controlFlow.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ controlFlow.setWeight(interval);
+ assertSuperset(controlFlow.getOwnedElements().contains(interval));
+
+ ControlFlow controlFlow2 = UML.createControlFlow();
+ assertValid(controlFlow2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ controlFlow2.setWeight(opaqueExpression);
+ assertSuperset(
+ controlFlow2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ controlFlow2.setWeight(expression);
+ assertSuperset(controlFlow2.getOwnedElements().contains(expression));
+
+ ControlFlow controlFlow3 = UML.createControlFlow();
+ assertValid(controlFlow3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ controlFlow3.setWeight(literalReal);
+ assertSuperset(controlFlow3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ controlFlow3.setWeight(literalString);
+ assertSuperset(controlFlow3.getOwnedElements().contains(literalString));
+
+ ControlFlow controlFlow4 = UML.createControlFlow();
+ assertValid(controlFlow4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ controlFlow4.setWeight(literalNull);
+ assertSuperset(controlFlow4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ controlFlow4.setWeight(duration);
+ assertSuperset(controlFlow4.getOwnedElements().contains(duration));
+
+ ControlFlow controlFlow5 = UML.createControlFlow();
+ assertValid(controlFlow5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ controlFlow5.setWeight(literalInteger);
+ assertSuperset(
+ controlFlow5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ controlFlow5.setWeight(durationInterval);
+ assertSuperset(
+ controlFlow5.getOwnedElements().contains(durationInterval));
+
+ ControlFlow controlFlow6 = UML.createControlFlow();
+ assertValid(controlFlow6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ controlFlow6.setWeight(stringExpression);
+ assertSuperset(
+ controlFlow6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ controlFlow6.setWeight(literalUnlimitedNatural);
+ assertSuperset(
+ controlFlow6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ControlFlow controlFlow7 = UML.createControlFlow();
+ assertValid(controlFlow7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ controlFlow7.setWeight(timeInterval);
+ assertSuperset(controlFlow7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ controlFlow7.setWeight(timeExpression);
+ assertSuperset(
+ controlFlow7.getOwnedElements().contains(timeExpression));
+
+ ControlFlow controlFlow8 = UML.createControlFlow();
+ assertValid(controlFlow8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ controlFlow8.setWeight(instanceValue);
+ assertSuperset(controlFlow8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testInGroup() {
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ EList<ActivityGroup> activityGroups = controlFlow.getInGroups();
+ EList<ActivityGroup> activityGroups2 = controlFlow.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CreateLinkActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CreateLinkActionTest.java
new file mode 100755
index 00000000..d7e13cc2
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CreateLinkActionTest.java
@@ -0,0 +1,780 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class CreateLinkActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ createLinkAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ createLinkAction.getOwnedComments().add(comment);
+ assertSuperset(createLinkAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ EList<Element> elements = createLinkAction.getOwnedElements();
+ EList<Element> elements2 = createLinkAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ EList<Dependency> dependencys = createLinkAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = createLinkAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ createLinkAction.setNameExpression(stringExpression);
+ assertSuperset(
+ createLinkAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ EList<RedefinableElement> redefinableElements = createLinkAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = createLinkAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ EList<Classifier> classifiers = createLinkAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = createLinkAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ EList<ActivityGroup> activityGroups = createLinkAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = createLinkAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ createLinkAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(createLinkAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ createLinkAction.setInStructuredNode(loopNode);
+ assertSuperset(createLinkAction.getInGroups().contains(loopNode));
+ assertSuperset(createLinkAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ createLinkAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ createLinkAction.getInGroups().contains(expansionRegion));
+ assertSuperset(createLinkAction.getOwner() == expansionRegion);
+
+ CreateLinkAction createLinkAction2 = UML.createCreateLinkAction();
+ assertValid(createLinkAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ createLinkAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(createLinkAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(createLinkAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ createLinkAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ createLinkAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(createLinkAction2.getOwner() == structuredActivityNode);
+
+ CreateLinkAction createLinkAction3 = UML.createCreateLinkAction();
+ assertValid(createLinkAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ createLinkAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ createLinkAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(createLinkAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ createLinkAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ createLinkAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ createLinkAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ createLinkAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ createLinkAction.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ createLinkAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ createLinkAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ createLinkAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ createLinkAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ createLinkAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ createLinkAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ createLinkAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ createLinkAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ createLinkAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ createLinkAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ createLinkAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ createLinkAction.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ createLinkAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ createLinkAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ createLinkAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ createLinkAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ createLinkAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ createLinkAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ createLinkAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ createLinkAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ createLinkAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ createLinkAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ createLinkAction.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ createLinkAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ createLinkAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ createLinkAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ createLinkAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ createLinkAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction2 = UML.createCreateLinkAction();
+ assertValid(createLinkAction2);
+ createLinkAction.getRedefinedNodes().add(createLinkAction2);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(createLinkAction2));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ createLinkAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ createLinkAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ createLinkAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ createLinkAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ createLinkAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ createLinkAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ createLinkAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ createLinkAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ createLinkAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ createLinkAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ createLinkAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ createLinkAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ createLinkAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ createLinkAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ createLinkAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ createLinkAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ createLinkAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ createLinkAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ createLinkAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ createLinkAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ createLinkAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ createLinkAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ createLinkAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ createLinkAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ createLinkAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ createLinkAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ createLinkAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ createLinkAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(createLinkAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ createLinkAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ createLinkAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ createLinkAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ createLinkAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ EList<InputPin> inputPins = createLinkAction.getInputs();
+ EList<InputPin> inputPins2 = createLinkAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ createLinkAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ createLinkAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ createLinkAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ createLinkAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ createLinkAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(createLinkAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ createLinkAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ createLinkAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ createLinkAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ createLinkAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ createLinkAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ createLinkAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ createLinkAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ createLinkAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ createLinkAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(createLinkAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ createLinkAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ createLinkAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ createLinkAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ createLinkAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ EList<OutputPin> outputPins = createLinkAction.getOutputs();
+ EList<OutputPin> outputPins2 = createLinkAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testEndData() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+ createLinkAction.getEndData().add(linkEndCreationData);
+ assertSuperset(
+ createLinkAction.getOwnedElements().contains(linkEndCreationData));
+
+ LinkEndCreationData linkEndCreationData2 = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData2);
+ createLinkAction.getEndData().add(linkEndCreationData2);
+ assertSuperset(
+ createLinkAction.getOwnedElements().contains(linkEndCreationData2));
+ }
+
+ public void testInputValue() {
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ createLinkAction.getInputValues().add(inputPin);
+ assertSuperset(createLinkAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ createLinkAction.getInputValues().add(valuePin);
+ assertSuperset(createLinkAction.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ createLinkAction.getInputValues().add(actionInputPin);
+ assertSuperset(createLinkAction.getInputs().contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CreateLinkObjectActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CreateLinkObjectActionTest.java
new file mode 100755
index 00000000..b010f29f
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CreateLinkObjectActionTest.java
@@ -0,0 +1,829 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class CreateLinkObjectActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ createLinkObjectAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ createLinkObjectAction.getOwnedComments().add(comment);
+ assertSuperset(
+ createLinkObjectAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ EList<Element> elements = createLinkObjectAction.getOwnedElements();
+ EList<Element> elements2 = createLinkObjectAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ EList<Dependency> dependencys = createLinkObjectAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = createLinkObjectAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ createLinkObjectAction.setNameExpression(stringExpression);
+ assertSuperset(createLinkObjectAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ EList<RedefinableElement> redefinableElements = createLinkObjectAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = createLinkObjectAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ EList<Classifier> classifiers = createLinkObjectAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = createLinkObjectAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ EList<ActivityGroup> activityGroups = createLinkObjectAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = createLinkObjectAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ createLinkObjectAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(createLinkObjectAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ createLinkObjectAction.setInStructuredNode(loopNode);
+ assertSuperset(createLinkObjectAction.getInGroups().contains(loopNode));
+ assertSuperset(createLinkObjectAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ createLinkObjectAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ createLinkObjectAction.getInGroups().contains(expansionRegion));
+ assertSuperset(createLinkObjectAction.getOwner() == expansionRegion);
+
+ CreateLinkObjectAction createLinkObjectAction2 = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ createLinkObjectAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ createLinkObjectAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(createLinkObjectAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ createLinkObjectAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(createLinkObjectAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ createLinkObjectAction2.getOwner() == structuredActivityNode);
+
+ CreateLinkObjectAction createLinkObjectAction3 = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ createLinkObjectAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ createLinkObjectAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(createLinkObjectAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ createLinkObjectAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ createLinkObjectAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ createLinkObjectAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ createLinkObjectAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ createLinkObjectAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ createLinkObjectAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ createLinkObjectAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ createLinkObjectAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ createLinkObjectAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ createLinkObjectAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ createLinkObjectAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ createLinkObjectAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction2 = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction2);
+ createLinkObjectAction.getRedefinedNodes().add(createLinkObjectAction2);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(createLinkObjectAction2));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ createLinkObjectAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ createLinkObjectAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ createLinkObjectAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ createLinkObjectAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ createLinkObjectAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ createLinkObjectAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ createLinkObjectAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ createLinkObjectAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ createLinkObjectAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ createLinkObjectAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ createLinkObjectAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ createLinkObjectAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ createLinkObjectAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ createLinkObjectAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ createLinkObjectAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ createLinkObjectAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ createLinkObjectAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ createLinkObjectAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ createLinkObjectAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ createLinkObjectAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ createLinkObjectAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ createLinkObjectAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ createLinkObjectAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ createLinkObjectAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ createLinkObjectAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ createLinkObjectAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ createLinkObjectAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ createLinkObjectAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ createLinkObjectAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ createLinkObjectAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ createLinkObjectAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ createLinkObjectAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ createLinkObjectAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ createLinkObjectAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ createLinkObjectAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ createLinkObjectAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ createLinkObjectAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ createLinkObjectAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ createLinkObjectAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ createLinkObjectAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ createLinkObjectAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ createLinkObjectAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ createLinkObjectAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ createLinkObjectAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ createLinkObjectAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ createLinkObjectAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ createLinkObjectAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ createLinkObjectAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ createLinkObjectAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ createLinkObjectAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ createLinkObjectAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ createLinkObjectAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ createLinkObjectAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ createLinkObjectAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ createLinkObjectAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(createLinkObjectAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ createLinkObjectAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ createLinkObjectAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ createLinkObjectAction.getHandlers().add(exceptionHandler);
+ assertSuperset(createLinkObjectAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ EList<InputPin> inputPins = createLinkObjectAction.getInputs();
+ EList<InputPin> inputPins2 = createLinkObjectAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ createLinkObjectAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(createLinkObjectAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ createLinkObjectAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ createLinkObjectAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ createLinkObjectAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(createLinkObjectAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ createLinkObjectAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ createLinkObjectAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ createLinkObjectAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(createLinkObjectAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ createLinkObjectAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(createLinkObjectAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ createLinkObjectAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ createLinkObjectAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ createLinkObjectAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(createLinkObjectAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ createLinkObjectAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ createLinkObjectAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ createLinkObjectAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(createLinkObjectAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ EList<OutputPin> outputPins = createLinkObjectAction.getOutputs();
+ EList<OutputPin> outputPins2 = createLinkObjectAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testEndData() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+ createLinkObjectAction.getEndData().add(linkEndCreationData);
+ assertSuperset(createLinkObjectAction.getOwnedElements()
+ .contains(linkEndCreationData));
+
+ LinkEndCreationData linkEndCreationData2 = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData2);
+ createLinkObjectAction.getEndData().add(linkEndCreationData2);
+ assertSuperset(createLinkObjectAction.getOwnedElements()
+ .contains(linkEndCreationData2));
+ }
+
+ public void testInputValue() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ createLinkObjectAction.getInputValues().add(inputPin);
+ assertSuperset(createLinkObjectAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ createLinkObjectAction.getInputValues().add(valuePin);
+ assertSuperset(createLinkObjectAction.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ createLinkObjectAction.getInputValues().add(actionInputPin);
+ assertSuperset(
+ createLinkObjectAction.getInputs().contains(actionInputPin));
+ }
+
+ public void testResult() {
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ createLinkObjectAction.setResult(outputPin);
+ assertSuperset(createLinkObjectAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CreateObjectActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CreateObjectActionTest.java
new file mode 100755
index 00000000..f31564ba
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/CreateObjectActionTest.java
@@ -0,0 +1,941 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class CreateObjectActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ createObjectAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ createObjectAction.getOwnedComments().add(comment);
+ assertSuperset(createObjectAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ EList<Element> elements = createObjectAction.getOwnedElements();
+ EList<Element> elements2 = createObjectAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ EList<Dependency> dependencys = createObjectAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = createObjectAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ createObjectAction.setNameExpression(stringExpression);
+ assertSuperset(
+ createObjectAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ EList<RedefinableElement> redefinableElements = createObjectAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = createObjectAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ EList<Classifier> classifiers = createObjectAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = createObjectAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ EList<ActivityGroup> activityGroups = createObjectAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = createObjectAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ createObjectAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(createObjectAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ createObjectAction.setInStructuredNode(loopNode);
+ assertSuperset(createObjectAction.getInGroups().contains(loopNode));
+ assertSuperset(createObjectAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ createObjectAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ createObjectAction.getInGroups().contains(expansionRegion));
+ assertSuperset(createObjectAction.getOwner() == expansionRegion);
+
+ CreateObjectAction createObjectAction2 = UML.createCreateObjectAction();
+ assertValid(createObjectAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ createObjectAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ createObjectAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(createObjectAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ createObjectAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ createObjectAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(
+ createObjectAction2.getOwner() == structuredActivityNode);
+
+ CreateObjectAction createObjectAction3 = UML.createCreateObjectAction();
+ assertValid(createObjectAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ createObjectAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ createObjectAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(createObjectAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ createObjectAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ createObjectAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ createObjectAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ createObjectAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ createObjectAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ createObjectAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ createObjectAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ createObjectAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ createObjectAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ createObjectAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ createObjectAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ createObjectAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ createObjectAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ createObjectAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ createObjectAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ createObjectAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ createObjectAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ createObjectAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ createObjectAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ createObjectAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ createObjectAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ createObjectAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ createObjectAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ createObjectAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ createObjectAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ createObjectAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ createObjectAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ createObjectAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ createObjectAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ createObjectAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ createObjectAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ createObjectAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ createObjectAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ createObjectAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ createObjectAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ createObjectAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ createObjectAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ createObjectAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ createObjectAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ createObjectAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ createObjectAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ createObjectAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ createObjectAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ createObjectAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ createObjectAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ createObjectAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ createObjectAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ createObjectAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ createObjectAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ createObjectAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ createObjectAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ createObjectAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ createObjectAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ createObjectAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ createObjectAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ createObjectAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ createObjectAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ createObjectAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ createObjectAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction2 = UML.createCreateObjectAction();
+ assertValid(createObjectAction2);
+ createObjectAction.getRedefinedNodes().add(createObjectAction2);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(createObjectAction2));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ createObjectAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ createObjectAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(createObjectAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ createObjectAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ createObjectAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ createObjectAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ createObjectAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ EList<InputPin> inputPins = createObjectAction.getInputs();
+ EList<InputPin> inputPins2 = createObjectAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ createObjectAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ createObjectAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ createObjectAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ createObjectAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ createObjectAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(createObjectAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ createObjectAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ createObjectAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ createObjectAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ createObjectAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ createObjectAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ createObjectAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ createObjectAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ createObjectAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ createObjectAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(createObjectAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ createObjectAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ createObjectAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ createObjectAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ createObjectAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ EList<OutputPin> outputPins = createObjectAction.getOutputs();
+ EList<OutputPin> outputPins2 = createObjectAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testClassifier() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ createObjectAction.setClassifier(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ createObjectAction.setClassifier(activity);
+
+ CreateObjectAction createObjectAction2 = UML.createCreateObjectAction();
+ assertValid(createObjectAction2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ createObjectAction2.setClassifier(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ createObjectAction2.setClassifier(informationItem);
+
+ CreateObjectAction createObjectAction3 = UML.createCreateObjectAction();
+ assertValid(createObjectAction3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ createObjectAction3.setClassifier(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ createObjectAction3.setClassifier(executionEnvironment);
+
+ CreateObjectAction createObjectAction4 = UML.createCreateObjectAction();
+ assertValid(createObjectAction4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ createObjectAction4.setClassifier(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ createObjectAction4.setClassifier(interaction);
+
+ CreateObjectAction createObjectAction5 = UML.createCreateObjectAction();
+ assertValid(createObjectAction5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ createObjectAction5.setClassifier(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ createObjectAction5.setClassifier(opaqueBehavior);
+
+ CreateObjectAction createObjectAction6 = UML.createCreateObjectAction();
+ assertValid(createObjectAction6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ createObjectAction6.setClassifier(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ createObjectAction6.setClassifier(dataType);
+
+ CreateObjectAction createObjectAction7 = UML.createCreateObjectAction();
+ assertValid(createObjectAction7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ createObjectAction7.setClassifier(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ createObjectAction7.setClassifier(extension);
+
+ CreateObjectAction createObjectAction8 = UML.createCreateObjectAction();
+ assertValid(createObjectAction8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ createObjectAction8.setClassifier(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ createObjectAction8.setClassifier(class_);
+
+ CreateObjectAction createObjectAction9 = UML.createCreateObjectAction();
+ assertValid(createObjectAction9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ createObjectAction9.setClassifier(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ createObjectAction9.setClassifier(primitiveType);
+
+ CreateObjectAction createObjectAction10 = UML
+ .createCreateObjectAction();
+ assertValid(createObjectAction10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ createObjectAction10.setClassifier(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ createObjectAction10.setClassifier(protocolStateMachine);
+
+ CreateObjectAction createObjectAction11 = UML
+ .createCreateObjectAction();
+ assertValid(createObjectAction11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ createObjectAction11.setClassifier(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ createObjectAction11.setClassifier(signal);
+
+ CreateObjectAction createObjectAction12 = UML
+ .createCreateObjectAction();
+ assertValid(createObjectAction12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ createObjectAction12.setClassifier(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ createObjectAction12.setClassifier(stereotype);
+
+ CreateObjectAction createObjectAction13 = UML
+ .createCreateObjectAction();
+ assertValid(createObjectAction13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ createObjectAction13.setClassifier(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ createObjectAction13.setClassifier(artifact);
+
+ CreateObjectAction createObjectAction14 = UML
+ .createCreateObjectAction();
+ assertValid(createObjectAction14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ createObjectAction14.setClassifier(collaboration);
+ }
+
+ public void testResult() {
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ createObjectAction.setResult(outputPin);
+ assertSuperset(createObjectAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DataStoreNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DataStoreNodeTest.java
new file mode 100755
index 00000000..0019f5e6
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DataStoreNodeTest.java
@@ -0,0 +1,949 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class DataStoreNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ dataStoreNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ dataStoreNode.getOwnedComments().add(comment);
+ assertSuperset(dataStoreNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ EList<Element> elements = dataStoreNode.getOwnedElements();
+ EList<Element> elements2 = dataStoreNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ EList<Dependency> dependencys = dataStoreNode.getClientDependencies();
+ EList<Dependency> dependencys2 = dataStoreNode.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ dataStoreNode.setNameExpression(stringExpression);
+ assertSuperset(
+ dataStoreNode.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ EList<RedefinableElement> redefinableElements = dataStoreNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = dataStoreNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ EList<Classifier> classifiers = dataStoreNode.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = dataStoreNode
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ EList<ActivityGroup> activityGroups = dataStoreNode.getInGroups();
+ EList<ActivityGroup> activityGroups2 = dataStoreNode.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ dataStoreNode.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ dataStoreNode.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ dataStoreNode.setInStructuredNode(loopNode);
+ assertSuperset(dataStoreNode.getInGroups().contains(loopNode));
+ assertSuperset(dataStoreNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ dataStoreNode.setInStructuredNode(expansionRegion);
+ assertSuperset(dataStoreNode.getInGroups().contains(expansionRegion));
+ assertSuperset(dataStoreNode.getOwner() == expansionRegion);
+
+ DataStoreNode dataStoreNode2 = UML.createDataStoreNode();
+ assertValid(dataStoreNode2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ dataStoreNode2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ dataStoreNode2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(dataStoreNode2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ dataStoreNode2.setInStructuredNode(conditionalNode);
+ assertSuperset(dataStoreNode2.getInGroups().contains(conditionalNode));
+ assertSuperset(dataStoreNode2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ dataStoreNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ dataStoreNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ dataStoreNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ dataStoreNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ dataStoreNode.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ dataStoreNode.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ dataStoreNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ dataStoreNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(dataStoreNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ dataStoreNode.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ dataStoreNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(dataStoreNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ dataStoreNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ dataStoreNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ dataStoreNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ dataStoreNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ dataStoreNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ dataStoreNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ dataStoreNode.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ dataStoreNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ dataStoreNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ dataStoreNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(dataStoreNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ dataStoreNode.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ dataStoreNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(dataStoreNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ dataStoreNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ dataStoreNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ dataStoreNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ dataStoreNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ dataStoreNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ dataStoreNode.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ dataStoreNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ dataStoreNode.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ dataStoreNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ dataStoreNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ dataStoreNode.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ dataStoreNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ dataStoreNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode2 = UML.createDataStoreNode();
+ assertValid(dataStoreNode2);
+ dataStoreNode.getRedefinedNodes().add(dataStoreNode2);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(dataStoreNode2));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ dataStoreNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ dataStoreNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ dataStoreNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ dataStoreNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ dataStoreNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ dataStoreNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ dataStoreNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ dataStoreNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ dataStoreNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ dataStoreNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ dataStoreNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ dataStoreNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ dataStoreNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ dataStoreNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(dataStoreNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ dataStoreNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ dataStoreNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ dataStoreNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ dataStoreNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ dataStoreNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ dataStoreNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ dataStoreNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ dataStoreNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ dataStoreNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ dataStoreNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ dataStoreNode.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ dataStoreNode.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(dataStoreNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ dataStoreNode.getInPartitions().add(activityPartition);
+ assertSuperset(dataStoreNode.getInGroups().contains(activityPartition));
+ }
+
+ public void testType() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ dataStoreNode.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ dataStoreNode.setType(activity);
+
+ DataStoreNode dataStoreNode2 = UML.createDataStoreNode();
+ assertValid(dataStoreNode2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ dataStoreNode2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ dataStoreNode2.setType(informationItem);
+
+ DataStoreNode dataStoreNode3 = UML.createDataStoreNode();
+ assertValid(dataStoreNode3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ dataStoreNode3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ dataStoreNode3.setType(executionEnvironment);
+
+ DataStoreNode dataStoreNode4 = UML.createDataStoreNode();
+ assertValid(dataStoreNode4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ dataStoreNode4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ dataStoreNode4.setType(interaction);
+
+ DataStoreNode dataStoreNode5 = UML.createDataStoreNode();
+ assertValid(dataStoreNode5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ dataStoreNode5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ dataStoreNode5.setType(opaqueBehavior);
+
+ DataStoreNode dataStoreNode6 = UML.createDataStoreNode();
+ assertValid(dataStoreNode6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ dataStoreNode6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ dataStoreNode6.setType(dataType);
+
+ DataStoreNode dataStoreNode7 = UML.createDataStoreNode();
+ assertValid(dataStoreNode7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ dataStoreNode7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ dataStoreNode7.setType(extension);
+
+ DataStoreNode dataStoreNode8 = UML.createDataStoreNode();
+ assertValid(dataStoreNode8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ dataStoreNode8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ dataStoreNode8.setType(class_);
+
+ DataStoreNode dataStoreNode9 = UML.createDataStoreNode();
+ assertValid(dataStoreNode9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ dataStoreNode9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ dataStoreNode9.setType(primitiveType);
+
+ DataStoreNode dataStoreNode10 = UML.createDataStoreNode();
+ assertValid(dataStoreNode10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ dataStoreNode10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ dataStoreNode10.setType(protocolStateMachine);
+
+ DataStoreNode dataStoreNode11 = UML.createDataStoreNode();
+ assertValid(dataStoreNode11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ dataStoreNode11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ dataStoreNode11.setType(signal);
+
+ DataStoreNode dataStoreNode12 = UML.createDataStoreNode();
+ assertValid(dataStoreNode12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ dataStoreNode12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ dataStoreNode12.setType(stereotype);
+
+ DataStoreNode dataStoreNode13 = UML.createDataStoreNode();
+ assertValid(dataStoreNode13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ dataStoreNode13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ dataStoreNode13.setType(artifact);
+
+ DataStoreNode dataStoreNode14 = UML.createDataStoreNode();
+ assertValid(dataStoreNode14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ dataStoreNode14.setType(collaboration);
+ }
+
+ public void testInState() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ dataStoreNode.getInStates().add(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ dataStoreNode.getInStates().add(state);
+ }
+
+ public void testSelection() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ dataStoreNode.setSelection(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ dataStoreNode.setSelection(stateMachine);
+ }
+
+ public void testUpperBound() {
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ dataStoreNode.setUpperBound(literalBoolean);
+ assertSuperset(
+ dataStoreNode.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ dataStoreNode.setUpperBound(interval);
+ assertSuperset(dataStoreNode.getOwnedElements().contains(interval));
+
+ DataStoreNode dataStoreNode2 = UML.createDataStoreNode();
+ assertValid(dataStoreNode2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ dataStoreNode2.setUpperBound(opaqueExpression);
+ assertSuperset(
+ dataStoreNode2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ dataStoreNode2.setUpperBound(expression);
+ assertSuperset(dataStoreNode2.getOwnedElements().contains(expression));
+
+ DataStoreNode dataStoreNode3 = UML.createDataStoreNode();
+ assertValid(dataStoreNode3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ dataStoreNode3.setUpperBound(literalReal);
+ assertSuperset(dataStoreNode3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ dataStoreNode3.setUpperBound(literalString);
+ assertSuperset(
+ dataStoreNode3.getOwnedElements().contains(literalString));
+
+ DataStoreNode dataStoreNode4 = UML.createDataStoreNode();
+ assertValid(dataStoreNode4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ dataStoreNode4.setUpperBound(literalNull);
+ assertSuperset(dataStoreNode4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ dataStoreNode4.setUpperBound(duration);
+ assertSuperset(dataStoreNode4.getOwnedElements().contains(duration));
+
+ DataStoreNode dataStoreNode5 = UML.createDataStoreNode();
+ assertValid(dataStoreNode5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ dataStoreNode5.setUpperBound(literalInteger);
+ assertSuperset(
+ dataStoreNode5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ dataStoreNode5.setUpperBound(durationInterval);
+ assertSuperset(
+ dataStoreNode5.getOwnedElements().contains(durationInterval));
+
+ DataStoreNode dataStoreNode6 = UML.createDataStoreNode();
+ assertValid(dataStoreNode6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ dataStoreNode6.setUpperBound(stringExpression);
+ assertSuperset(
+ dataStoreNode6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ dataStoreNode6.setUpperBound(literalUnlimitedNatural);
+ assertSuperset(dataStoreNode6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ DataStoreNode dataStoreNode7 = UML.createDataStoreNode();
+ assertValid(dataStoreNode7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ dataStoreNode7.setUpperBound(timeInterval);
+ assertSuperset(
+ dataStoreNode7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ dataStoreNode7.setUpperBound(timeExpression);
+ assertSuperset(
+ dataStoreNode7.getOwnedElements().contains(timeExpression));
+
+ DataStoreNode dataStoreNode8 = UML.createDataStoreNode();
+ assertValid(dataStoreNode8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ dataStoreNode8.setUpperBound(instanceValue);
+ assertSuperset(
+ dataStoreNode8.getOwnedElements().contains(instanceValue));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DataTypeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DataTypeTest.java
new file mode 100755
index 00000000..6bec6309
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DataTypeTest.java
@@ -0,0 +1,550 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class DataTypeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ dataType.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ dataType.getOwnedComments().add(comment);
+ assertSuperset(dataType.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ EList<Element> elements = dataType.getOwnedElements();
+ EList<Element> elements2 = dataType.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ EList<Dependency> dependencys = dataType.getClientDependencies();
+ EList<Dependency> dependencys2 = dataType.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ dataType.setNameExpression(stringExpression);
+ assertSuperset(dataType.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ dataType.getOwnedRules().add(intervalConstraint);
+ assertSuperset(dataType.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ dataType.getOwnedRules().add(timeConstraint);
+ assertSuperset(dataType.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ dataType.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ dataType.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ dataType.getOwnedRules().add(constraint);
+ assertSuperset(dataType.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ dataType.getOwnedRules().add(durationConstraint);
+ assertSuperset(dataType.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ dataType.getElementImports().add(elementImport);
+ assertSuperset(dataType.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ dataType.getPackageImports().add(packageImport);
+ assertSuperset(dataType.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ EList<NamedElement> namedElements = dataType.getOwnedMembers();
+ EList<NamedElement> namedElements2 = dataType.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ EList<PackageableElement> packageableElements = dataType
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = dataType
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ EList<NamedElement> namedElements = dataType.getMembers();
+ EList<NamedElement> namedElements2 = dataType.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ EList<RedefinableElement> redefinableElements = dataType
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = dataType
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ EList<Classifier> classifiers = dataType.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = dataType.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ dataType.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(dataType.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ dataType.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ dataType.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ dataType.getTemplateBindings().add(templateBinding);
+ assertSuperset(dataType.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ dataType.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(
+ dataType.getOwnedElements().contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ EList<Feature> features = dataType.getFeatures();
+ EList<Feature> features2 = dataType.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ EList<Property> propertys = dataType.getAttributes();
+ EList<Property> propertys2 = dataType.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ dataType.getCollaborationUses().add(collaborationUse);
+ assertSuperset(dataType.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ EList<Classifier> classifiers = dataType.getGenerals();
+ EList<Classifier> classifiers2 = dataType.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ dataType.getGeneralizations().add(generalization);
+ assertSuperset(dataType.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ dataType.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ EList<NamedElement> namedElements = dataType.getInheritedMembers();
+ EList<NamedElement> namedElements2 = dataType.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ dataType.getOwnedUseCases().add(useCase);
+ assertSuperset(dataType.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ dataType.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ dataType.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ dataType.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ dataType.getRedefinedClassifiers().add(activity);
+ assertSuperset(dataType.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ dataType.getRedefinedClassifiers().add(interface_);
+ assertSuperset(dataType.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ dataType.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ dataType.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ dataType.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ dataType.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ dataType.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ dataType.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ dataType.getRedefinedClassifiers().add(component);
+ assertSuperset(dataType.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ dataType.getRedefinedClassifiers().add(interaction);
+ assertSuperset(dataType.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ dataType.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ dataType.getRedefinedElements().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ dataType.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ dataType.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ dataType.getRedefinedClassifiers().add(association);
+ assertSuperset(dataType.getRedefinedElements().contains(association));
+
+ DataType dataType2 = UML.createDataType();
+ assertValid(dataType2);
+ dataType.getRedefinedClassifiers().add(dataType2);
+ assertSuperset(dataType.getRedefinedElements().contains(dataType2));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ dataType.getRedefinedClassifiers().add(device);
+ assertSuperset(dataType.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ dataType.getRedefinedClassifiers().add(extension);
+ assertSuperset(dataType.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ dataType.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ dataType.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ dataType.getRedefinedClassifiers().add(class_);
+ assertSuperset(dataType.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ dataType.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(dataType.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ dataType.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(dataType.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ dataType.getRedefinedClassifiers().add(actor);
+ assertSuperset(dataType.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ dataType.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ dataType.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ dataType.getRedefinedClassifiers().add(useCase);
+ assertSuperset(dataType.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ dataType.getRedefinedClassifiers().add(signal);
+ assertSuperset(dataType.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ dataType.getRedefinedClassifiers().add(node);
+ assertSuperset(dataType.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ dataType.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(dataType.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ dataType.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(dataType.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ dataType.getRedefinedClassifiers().add(artifact);
+ assertSuperset(dataType.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ dataType.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(dataType.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ dataType.setRepresentation(collaborationUse);
+ assertSuperset(
+ dataType.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ dataType.getSubstitutions().add(substitution);
+ assertSuperset(dataType.getOwnedElements().contains(substitution));
+ assertSuperset(dataType.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ dataType.getOwnedAttributes().add(port);
+ assertSuperset(dataType.getAttributes().contains(port));
+ assertSuperset(dataType.getOwnedMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ dataType.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(dataType.getAttributes().contains(extensionEnd));
+ assertSuperset(dataType.getOwnedMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ dataType.getOwnedAttributes().add(property);
+ assertSuperset(dataType.getAttributes().contains(property));
+ assertSuperset(dataType.getOwnedMembers().contains(property));
+ }
+
+ public void testOwnedOperation() {
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ dataType.getOwnedOperations().add(operation);
+ assertSuperset(dataType.getFeatures().contains(operation));
+ assertSuperset(dataType.getOwnedMembers().contains(operation));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DecisionNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DecisionNodeTest.java
new file mode 100755
index 00000000..a373dd83
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DecisionNodeTest.java
@@ -0,0 +1,635 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class DecisionNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ decisionNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ decisionNode.getOwnedComments().add(comment);
+ assertSuperset(decisionNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ EList<Element> elements = decisionNode.getOwnedElements();
+ EList<Element> elements2 = decisionNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ EList<Dependency> dependencys = decisionNode.getClientDependencies();
+ EList<Dependency> dependencys2 = decisionNode.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ decisionNode.setNameExpression(stringExpression);
+ assertSuperset(
+ decisionNode.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ EList<RedefinableElement> redefinableElements = decisionNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = decisionNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ EList<Classifier> classifiers = decisionNode.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = decisionNode.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ EList<ActivityGroup> activityGroups = decisionNode.getInGroups();
+ EList<ActivityGroup> activityGroups2 = decisionNode.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ decisionNode.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ decisionNode.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ decisionNode.setInStructuredNode(loopNode);
+ assertSuperset(decisionNode.getInGroups().contains(loopNode));
+ assertSuperset(decisionNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ decisionNode.setInStructuredNode(expansionRegion);
+ assertSuperset(decisionNode.getInGroups().contains(expansionRegion));
+ assertSuperset(decisionNode.getOwner() == expansionRegion);
+
+ DecisionNode decisionNode2 = UML.createDecisionNode();
+ assertValid(decisionNode2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ decisionNode2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ decisionNode2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(decisionNode2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ decisionNode2.setInStructuredNode(conditionalNode);
+ assertSuperset(decisionNode2.getInGroups().contains(conditionalNode));
+ assertSuperset(decisionNode2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ decisionNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ decisionNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ decisionNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ decisionNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ decisionNode.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ decisionNode.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ decisionNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ decisionNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(decisionNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ decisionNode.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ decisionNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(decisionNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ decisionNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ decisionNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ decisionNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ decisionNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ decisionNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ decisionNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ decisionNode.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ decisionNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ decisionNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ decisionNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(decisionNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ decisionNode.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ decisionNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(decisionNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode2 = UML.createDecisionNode();
+ assertValid(decisionNode2);
+ decisionNode.getRedefinedNodes().add(decisionNode2);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(decisionNode2));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ decisionNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ decisionNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ decisionNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ decisionNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ decisionNode.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ decisionNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ decisionNode.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ decisionNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ decisionNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ decisionNode.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ decisionNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ decisionNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ decisionNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ decisionNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ decisionNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ decisionNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ decisionNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ decisionNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ decisionNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ decisionNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ decisionNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(decisionNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ decisionNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ decisionNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ decisionNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ decisionNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ decisionNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ decisionNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(decisionNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ decisionNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ decisionNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ decisionNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ decisionNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ decisionNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ decisionNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ decisionNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(decisionNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ decisionNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ decisionNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ decisionNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ decisionNode.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ decisionNode.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(decisionNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ decisionNode.getInPartitions().add(activityPartition);
+ assertSuperset(decisionNode.getInGroups().contains(activityPartition));
+ }
+
+ public void testDecisionInput() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ decisionNode.setDecisionInput(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ decisionNode.setDecisionInput(stateMachine);
+ }
+
+ public void testDecisionInputFlow() {
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ decisionNode.setDecisionInputFlow(objectFlow);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DependencyTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DependencyTest.java
new file mode 100755
index 00000000..88071b0d
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DependencyTest.java
@@ -0,0 +1,2133 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class DependencyTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ dependency.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ dependency.getOwnedComments().add(comment);
+ assertSuperset(dependency.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ EList<Element> elements = dependency.getOwnedElements();
+ EList<Element> elements2 = dependency.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ EList<Dependency> dependencys2 = dependency.getClientDependencies();
+ EList<Dependency> dependencys3 = dependency.getClientDependencies();
+ assertSame(dependencys2, dependencys3);
+ }
+
+ public void testNameExpression() {
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ dependency.setNameExpression(stringExpression);
+ assertSuperset(
+ dependency.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ dependency.setOwningTemplateParameter(templateParameter);
+ assertSuperset(dependency.getOwner() == templateParameter);
+ assertSuperset(dependency.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ dependency.setTemplateParameter(templateParameter);
+ }
+
+ public void testRelatedElement() {
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ EList<Element> elements = dependency.getRelatedElements();
+ EList<Element> elements2 = dependency.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ EList<Element> elements = dependency.getSources();
+ EList<Element> elements2 = dependency.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ EList<Element> elements = dependency.getTargets();
+ EList<Element> elements2 = dependency.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testClient() {
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ dependency.getClients().add(activity);
+ assertSuperset(dependency.getSources().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ dependency.getClients().add(communicationPath);
+ assertSuperset(dependency.getSources().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ dependency.getClients().add(readSelfAction);
+ assertSuperset(dependency.getSources().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ dependency.getClients().add(activityPartition);
+ assertSuperset(dependency.getSources().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ dependency.getClients().add(inputPin);
+ assertSuperset(dependency.getSources().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ dependency.getClients().add(readLinkObjectEndQualifierAction);
+ assertSuperset(
+ dependency.getSources().contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ dependency.getClients().add(component);
+ assertSuperset(dependency.getSources().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ dependency.getClients().add(manifestation);
+ assertSuperset(dependency.getSources().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ dependency.getClients().add(durationObservation);
+ assertSuperset(dependency.getSources().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ dependency.getClients().add(callEvent);
+ assertSuperset(dependency.getSources().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ dependency.getClients().add(joinNode);
+ assertSuperset(dependency.getSources().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ dependency.getClients().add(interaction);
+ assertSuperset(dependency.getSources().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ dependency.getClients().add(createLinkObjectAction);
+ assertSuperset(
+ dependency.getSources().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ dependency.getClients().add(opaqueBehavior);
+ assertSuperset(dependency.getSources().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ dependency.getClients().add(literalUnlimitedNatural);
+ assertSuperset(
+ dependency.getSources().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ dependency.getClients().add(sendSignalAction);
+ assertSuperset(dependency.getSources().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ dependency.getClients().add(readLinkAction);
+ assertSuperset(dependency.getSources().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ dependency.getClients().add(operation);
+ assertSuperset(dependency.getSources().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ dependency.getClients().add(clearAssociationAction);
+ assertSuperset(
+ dependency.getSources().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ dependency.getClients().add(model);
+ assertSuperset(dependency.getSources().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ dependency.getClients().add(parameter);
+ assertSuperset(dependency.getSources().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ dependency.getClients().add(instanceValue);
+ assertSuperset(dependency.getSources().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ dependency.getClients().add(trigger);
+ assertSuperset(dependency.getSources().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ dependency.getClients().add(interactionConstraint);
+ assertSuperset(dependency.getSources().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ dependency.getClients().add(associationClass);
+ assertSuperset(dependency.getSources().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ dependency.getClients().add(interactionUse);
+ assertSuperset(dependency.getSources().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ dependency.getClients().add(clearStructuralFeatureAction);
+ assertSuperset(
+ dependency.getSources().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ dependency.getClients().add(interval);
+ assertSuperset(dependency.getSources().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ dependency.getClients().add(structuredActivityNode);
+ assertSuperset(
+ dependency.getSources().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ dependency.getClients().add(literalString);
+ assertSuperset(dependency.getSources().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ dependency.getClients().add(valuePin);
+ assertSuperset(dependency.getSources().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ dependency.getClients().add(interfaceRealization);
+ assertSuperset(dependency.getSources().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ dependency.getClients().add(forkNode);
+ assertSuperset(dependency.getSources().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ dependency.getClients().add(decisionNode);
+ assertSuperset(dependency.getSources().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ dependency.getClients().add(actor);
+ assertSuperset(dependency.getSources().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ dependency.getClients().add(timeConstraint);
+ assertSuperset(dependency.getSources().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ dependency.getClients().add(reception);
+ assertSuperset(dependency.getSources().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ dependency.getClients().add(pseudostate);
+ assertSuperset(dependency.getSources().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ dependency.getClients().add(durationInterval);
+ assertSuperset(dependency.getSources().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ dependency.getClients().add(deployment);
+ assertSuperset(dependency.getSources().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ dependency.getClients().add(extensionEnd);
+ assertSuperset(dependency.getSources().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ dependency.getClients().add(considerIgnoreFragment);
+ assertSuperset(
+ dependency.getSources().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ dependency.getClients().add(conditionalNode);
+ assertSuperset(dependency.getSources().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ dependency.getClients().add(readExtentAction);
+ assertSuperset(dependency.getSources().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ dependency.getClients().add(actionInputPin);
+ assertSuperset(dependency.getSources().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ dependency.getClients().add(artifact);
+ assertSuperset(dependency.getSources().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ dependency.getClients().add(informationFlow);
+ assertSuperset(dependency.getSources().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ dependency.getClients().add(clearVariableAction);
+ assertSuperset(dependency.getSources().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ dependency.getClients().add(createLinkAction);
+ assertSuperset(dependency.getSources().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ dependency.getClients().add(signalEvent);
+ assertSuperset(dependency.getSources().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ dependency.getClients().add(connectionPointReference);
+ assertSuperset(
+ dependency.getSources().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ dependency.getClients().add(reclassifyObjectAction);
+ assertSuperset(
+ dependency.getSources().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ dependency.getClients().add(usage);
+ assertSuperset(dependency.getSources().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ dependency.getClients().add(dataStoreNode);
+ assertSuperset(dependency.getSources().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ dependency.getClients().add(executionEnvironment);
+ assertSuperset(dependency.getSources().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ dependency.getClients().add(sendObjectAction);
+ assertSuperset(dependency.getSources().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ dependency.getClients().add(controlFlow);
+ assertSuperset(dependency.getSources().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ dependency.getClients().add(deploymentSpecification);
+ assertSuperset(
+ dependency.getSources().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ dependency.getClients().add(partDecomposition);
+ assertSuperset(dependency.getSources().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ dependency.getClients().add(destroyLinkAction);
+ assertSuperset(dependency.getSources().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ dependency.getClients().add(realization);
+ assertSuperset(dependency.getSources().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ dependency.getClients().add(expansionNode);
+ assertSuperset(dependency.getSources().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ dependency.getClients().add(testIdentityAction);
+ assertSuperset(dependency.getSources().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ dependency.getClients().add(association);
+ assertSuperset(dependency.getSources().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ dependency.getClients().add(timeInterval);
+ assertSuperset(dependency.getSources().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ dependency.getClients().add(dataType);
+ assertSuperset(dependency.getSources().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ dependency.getClients().add(outputPin);
+ assertSuperset(dependency.getSources().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ dependency.getClients().add(substitution);
+ assertSuperset(dependency.getSources().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ dependency.getClients().add(include);
+ assertSuperset(dependency.getSources().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ dependency.getClients().add(extend);
+ assertSuperset(dependency.getSources().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ dependency.getClients().add(broadcastSignalAction);
+ assertSuperset(dependency.getSources().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ dependency.getClients().add(literalBoolean);
+ assertSuperset(dependency.getSources().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ dependency.getClients().add(finalState);
+ assertSuperset(dependency.getSources().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ dependency.getClients().add(raiseExceptionAction);
+ assertSuperset(dependency.getSources().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ dependency.getClients().add(durationConstraint);
+ assertSuperset(dependency.getSources().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ dependency.getClients().add(activityFinalNode);
+ assertSuperset(dependency.getSources().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ dependency.getClients().add(literalNull);
+ assertSuperset(dependency.getSources().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ dependency.getClients().add(callOperationAction);
+ assertSuperset(dependency.getSources().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ dependency.getClients().add(protocolStateMachine);
+ assertSuperset(dependency.getSources().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ dependency.getClients().add(loopNode);
+ assertSuperset(dependency.getSources().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ dependency.getClients().add(parameterSet);
+ assertSuperset(dependency.getSources().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ dependency.getClients().add(valueSpecificationAction);
+ assertSuperset(
+ dependency.getSources().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ dependency.getClients().add(node);
+ assertSuperset(dependency.getSources().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ dependency.getClients().add(sequenceNode);
+ assertSuperset(dependency.getSources().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ dependency.getClients().add(constraint);
+ assertSuperset(dependency.getSources().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ dependency.getClients().add(destroyObjectAction);
+ assertSuperset(dependency.getSources().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ dependency.getClients().add(stateMachine);
+ assertSuperset(dependency.getSources().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ dependency.getClients().add(enumerationLiteral);
+ assertSuperset(dependency.getSources().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ dependency.getClients().add(actionExecutionSpecification);
+ assertSuperset(
+ dependency.getSources().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ dependency.getClients().add(functionBehavior);
+ assertSuperset(dependency.getSources().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ dependency.getClients().add(interface_);
+ assertSuperset(dependency.getSources().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ dependency.getClients().add(instanceSpecification);
+ assertSuperset(dependency.getSources().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ dependency.getClients().add(startClassifierBehaviorAction);
+ assertSuperset(
+ dependency.getSources().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ dependency.getClients().add(port);
+ assertSuperset(dependency.getSources().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ dependency.getClients().add(removeVariableValueAction);
+ assertSuperset(
+ dependency.getSources().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ dependency.getClients().add(informationItem);
+ assertSuperset(dependency.getSources().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ dependency.getClients().add(literalReal);
+ assertSuperset(dependency.getSources().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ dependency.getClients().add(redefinableTemplateSignature);
+ assertSuperset(
+ dependency.getSources().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ dependency.getClients().add(executionOccurrenceSpecification);
+ assertSuperset(
+ dependency.getSources().contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ dependency.getClients().add(duration);
+ assertSuperset(dependency.getSources().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ dependency.getClients().add(package_);
+ assertSuperset(dependency.getSources().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ dependency.getClients().add(variable);
+ assertSuperset(dependency.getSources().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ dependency.getClients().add(destructionOccurrenceSpecification);
+ assertSuperset(dependency.getSources()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ dependency.getClients().add(lifeline);
+ assertSuperset(dependency.getSources().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ dependency.getClients().add(timeObservation);
+ assertSuperset(dependency.getSources().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ dependency.getClients().add(replyAction);
+ assertSuperset(dependency.getSources().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ dependency.getClients().add(gate);
+ assertSuperset(dependency.getSources().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ dependency.getClients().add(property);
+ assertSuperset(dependency.getSources().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ dependency.getClients().add(timeExpression);
+ assertSuperset(dependency.getSources().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ dependency.getClients().add(device);
+ assertSuperset(dependency.getSources().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ dependency.getClients().add(flowFinalNode);
+ assertSuperset(dependency.getSources().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ dependency.getClients().add(expansionRegion);
+ assertSuperset(dependency.getSources().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ dependency.getClients().add(abstraction);
+ assertSuperset(dependency.getSources().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ dependency.getClients().add(startObjectBehaviorAction);
+ assertSuperset(
+ dependency.getSources().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ dependency.getClients().add(enumeration);
+ assertSuperset(dependency.getSources().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ dependency.getClients().add(primitiveType);
+ assertSuperset(dependency.getSources().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ dependency.getClients().add(profile);
+ assertSuperset(dependency.getSources().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ dependency.getClients().add(message);
+ assertSuperset(dependency.getSources().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ dependency.getClients().add(generalizationSet);
+ assertSuperset(dependency.getSources().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ dependency.getClients().add(continuation);
+ assertSuperset(dependency.getSources().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ dependency.getClients().add(signal);
+ assertSuperset(dependency.getSources().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ dependency.getClients().add(callBehaviorAction);
+ assertSuperset(dependency.getSources().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ dependency.getClients().add(objectFlow);
+ assertSuperset(dependency.getSources().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ dependency.getClients().add(stateInvariant);
+ assertSuperset(dependency.getSources().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ dependency.getClients().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ dependency.getSources().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ dependency.getClients().add(activityParameterNode);
+ assertSuperset(dependency.getSources().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ dependency.getClients().add(addStructuralFeatureValueAction);
+ assertSuperset(
+ dependency.getSources().contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ dependency.getClients().add(readVariableAction);
+ assertSuperset(dependency.getSources().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ dependency.getClients().add(interruptibleActivityRegion);
+ assertSuperset(
+ dependency.getSources().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ dependency.getClients().add(removeStructuralFeatureValueAction);
+ assertSuperset(dependency.getSources()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ dependency.getClients().add(opaqueExpression);
+ assertSuperset(dependency.getSources().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ dependency.getClients().add(timeEvent);
+ assertSuperset(dependency.getSources().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ dependency.getClients().add(generalOrdering);
+ assertSuperset(dependency.getSources().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ dependency.getClients().add(region);
+ assertSuperset(dependency.getSources().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ dependency.getClients().add(transition);
+ assertSuperset(dependency.getSources().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ dependency.getClients().add(anyReceiveEvent);
+ assertSuperset(dependency.getSources().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ dependency.getClients().add(messageOccurrenceSpecification);
+ assertSuperset(
+ dependency.getSources().contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ dependency.getClients().add(literalInteger);
+ assertSuperset(dependency.getSources().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ dependency.getClients().add(reduceAction);
+ assertSuperset(dependency.getSources().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ dependency.getClients().add(acceptEventAction);
+ assertSuperset(dependency.getSources().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ dependency.getClients().add(initialNode);
+ assertSuperset(dependency.getSources().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ dependency.getClients().add(centralBufferNode);
+ assertSuperset(dependency.getSources().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ dependency.getClients().add(combinedFragment);
+ assertSuperset(dependency.getSources().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ dependency.getClients().add(intervalConstraint);
+ assertSuperset(dependency.getSources().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ dependency.getClients().add(extension);
+ assertSuperset(dependency.getSources().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ dependency.getClients().add(occurrenceSpecification);
+ assertSuperset(
+ dependency.getSources().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ dependency.getClients().add(extensionPoint);
+ assertSuperset(dependency.getSources().contains(extensionPoint));
+
+ Dependency dependency2 = UML.createDependency();
+ assertValid(dependency2);
+ dependency.getClients().add(dependency2);
+ assertSuperset(dependency.getSources().contains(dependency2));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ dependency.getClients().add(connector);
+ assertSuperset(dependency.getSources().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ dependency.getClients().add(expression);
+ assertSuperset(dependency.getSources().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ dependency.getClients().add(componentRealization);
+ assertSuperset(dependency.getSources().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ dependency.getClients().add(class_);
+ assertSuperset(dependency.getSources().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ dependency.getClients().add(state);
+ assertSuperset(dependency.getSources().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ dependency.getClients().add(protocolTransition);
+ assertSuperset(dependency.getSources().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ dependency.getClients().add(behaviorExecutionSpecification);
+ assertSuperset(
+ dependency.getSources().contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ dependency.getClients().add(collaborationUse);
+ assertSuperset(dependency.getSources().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ dependency.getClients().add(interactionOperand);
+ assertSuperset(dependency.getSources().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ dependency.getClients().add(acceptCallAction);
+ assertSuperset(dependency.getSources().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ dependency.getClients().add(addVariableValueAction);
+ assertSuperset(
+ dependency.getSources().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ dependency.getClients().add(readLinkObjectEndAction);
+ assertSuperset(
+ dependency.getSources().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ dependency.getClients().add(useCase);
+ assertSuperset(dependency.getSources().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ dependency.getClients().add(unmarshallAction);
+ assertSuperset(dependency.getSources().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ dependency.getClients().add(opaqueAction);
+ assertSuperset(dependency.getSources().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ dependency.getClients().add(stringExpression);
+ assertSuperset(dependency.getSources().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ dependency.getClients().add(mergeNode);
+ assertSuperset(dependency.getSources().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ dependency.getClients().add(changeEvent);
+ assertSuperset(dependency.getSources().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ dependency.getClients().add(createObjectAction);
+ assertSuperset(dependency.getSources().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ dependency.getClients().add(stereotype);
+ assertSuperset(dependency.getSources().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ dependency.getClients().add(readStructuralFeatureAction);
+ assertSuperset(
+ dependency.getSources().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ dependency.getClients().add(collaboration);
+ assertSuperset(dependency.getSources().contains(collaboration));
+ }
+
+ public void testSupplier() {
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ dependency.getSuppliers().add(activity);
+ assertSuperset(dependency.getTargets().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ dependency.getSuppliers().add(communicationPath);
+ assertSuperset(dependency.getTargets().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ dependency.getSuppliers().add(readSelfAction);
+ assertSuperset(dependency.getTargets().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ dependency.getSuppliers().add(activityPartition);
+ assertSuperset(dependency.getTargets().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ dependency.getSuppliers().add(inputPin);
+ assertSuperset(dependency.getTargets().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ dependency.getSuppliers().add(readLinkObjectEndQualifierAction);
+ assertSuperset(
+ dependency.getTargets().contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ dependency.getSuppliers().add(component);
+ assertSuperset(dependency.getTargets().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ dependency.getSuppliers().add(manifestation);
+ assertSuperset(dependency.getTargets().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ dependency.getSuppliers().add(durationObservation);
+ assertSuperset(dependency.getTargets().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ dependency.getSuppliers().add(callEvent);
+ assertSuperset(dependency.getTargets().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ dependency.getSuppliers().add(joinNode);
+ assertSuperset(dependency.getTargets().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ dependency.getSuppliers().add(interaction);
+ assertSuperset(dependency.getTargets().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ dependency.getSuppliers().add(createLinkObjectAction);
+ assertSuperset(
+ dependency.getTargets().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ dependency.getSuppliers().add(opaqueBehavior);
+ assertSuperset(dependency.getTargets().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ dependency.getSuppliers().add(literalUnlimitedNatural);
+ assertSuperset(
+ dependency.getTargets().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ dependency.getSuppliers().add(sendSignalAction);
+ assertSuperset(dependency.getTargets().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ dependency.getSuppliers().add(readLinkAction);
+ assertSuperset(dependency.getTargets().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ dependency.getSuppliers().add(operation);
+ assertSuperset(dependency.getTargets().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ dependency.getSuppliers().add(clearAssociationAction);
+ assertSuperset(
+ dependency.getTargets().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ dependency.getSuppliers().add(model);
+ assertSuperset(dependency.getTargets().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ dependency.getSuppliers().add(parameter);
+ assertSuperset(dependency.getTargets().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ dependency.getSuppliers().add(instanceValue);
+ assertSuperset(dependency.getTargets().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ dependency.getSuppliers().add(trigger);
+ assertSuperset(dependency.getTargets().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ dependency.getSuppliers().add(interactionConstraint);
+ assertSuperset(dependency.getTargets().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ dependency.getSuppliers().add(associationClass);
+ assertSuperset(dependency.getTargets().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ dependency.getSuppliers().add(interactionUse);
+ assertSuperset(dependency.getTargets().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ dependency.getSuppliers().add(clearStructuralFeatureAction);
+ assertSuperset(
+ dependency.getTargets().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ dependency.getSuppliers().add(interval);
+ assertSuperset(dependency.getTargets().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ dependency.getSuppliers().add(structuredActivityNode);
+ assertSuperset(
+ dependency.getTargets().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ dependency.getSuppliers().add(literalString);
+ assertSuperset(dependency.getTargets().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ dependency.getSuppliers().add(valuePin);
+ assertSuperset(dependency.getTargets().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ dependency.getSuppliers().add(interfaceRealization);
+ assertSuperset(dependency.getTargets().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ dependency.getSuppliers().add(forkNode);
+ assertSuperset(dependency.getTargets().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ dependency.getSuppliers().add(decisionNode);
+ assertSuperset(dependency.getTargets().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ dependency.getSuppliers().add(actor);
+ assertSuperset(dependency.getTargets().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ dependency.getSuppliers().add(timeConstraint);
+ assertSuperset(dependency.getTargets().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ dependency.getSuppliers().add(reception);
+ assertSuperset(dependency.getTargets().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ dependency.getSuppliers().add(pseudostate);
+ assertSuperset(dependency.getTargets().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ dependency.getSuppliers().add(durationInterval);
+ assertSuperset(dependency.getTargets().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ dependency.getSuppliers().add(deployment);
+ assertSuperset(dependency.getTargets().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ dependency.getSuppliers().add(extensionEnd);
+ assertSuperset(dependency.getTargets().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ dependency.getSuppliers().add(considerIgnoreFragment);
+ assertSuperset(
+ dependency.getTargets().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ dependency.getSuppliers().add(conditionalNode);
+ assertSuperset(dependency.getTargets().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ dependency.getSuppliers().add(readExtentAction);
+ assertSuperset(dependency.getTargets().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ dependency.getSuppliers().add(actionInputPin);
+ assertSuperset(dependency.getTargets().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ dependency.getSuppliers().add(artifact);
+ assertSuperset(dependency.getTargets().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ dependency.getSuppliers().add(informationFlow);
+ assertSuperset(dependency.getTargets().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ dependency.getSuppliers().add(clearVariableAction);
+ assertSuperset(dependency.getTargets().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ dependency.getSuppliers().add(createLinkAction);
+ assertSuperset(dependency.getTargets().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ dependency.getSuppliers().add(signalEvent);
+ assertSuperset(dependency.getTargets().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ dependency.getSuppliers().add(connectionPointReference);
+ assertSuperset(
+ dependency.getTargets().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ dependency.getSuppliers().add(reclassifyObjectAction);
+ assertSuperset(
+ dependency.getTargets().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ dependency.getSuppliers().add(usage);
+ assertSuperset(dependency.getTargets().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ dependency.getSuppliers().add(dataStoreNode);
+ assertSuperset(dependency.getTargets().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ dependency.getSuppliers().add(executionEnvironment);
+ assertSuperset(dependency.getTargets().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ dependency.getSuppliers().add(sendObjectAction);
+ assertSuperset(dependency.getTargets().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ dependency.getSuppliers().add(controlFlow);
+ assertSuperset(dependency.getTargets().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ dependency.getSuppliers().add(deploymentSpecification);
+ assertSuperset(
+ dependency.getTargets().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ dependency.getSuppliers().add(partDecomposition);
+ assertSuperset(dependency.getTargets().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ dependency.getSuppliers().add(destroyLinkAction);
+ assertSuperset(dependency.getTargets().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ dependency.getSuppliers().add(realization);
+ assertSuperset(dependency.getTargets().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ dependency.getSuppliers().add(expansionNode);
+ assertSuperset(dependency.getTargets().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ dependency.getSuppliers().add(testIdentityAction);
+ assertSuperset(dependency.getTargets().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ dependency.getSuppliers().add(association);
+ assertSuperset(dependency.getTargets().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ dependency.getSuppliers().add(timeInterval);
+ assertSuperset(dependency.getTargets().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ dependency.getSuppliers().add(dataType);
+ assertSuperset(dependency.getTargets().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ dependency.getSuppliers().add(outputPin);
+ assertSuperset(dependency.getTargets().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ dependency.getSuppliers().add(substitution);
+ assertSuperset(dependency.getTargets().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ dependency.getSuppliers().add(include);
+ assertSuperset(dependency.getTargets().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ dependency.getSuppliers().add(extend);
+ assertSuperset(dependency.getTargets().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ dependency.getSuppliers().add(broadcastSignalAction);
+ assertSuperset(dependency.getTargets().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ dependency.getSuppliers().add(literalBoolean);
+ assertSuperset(dependency.getTargets().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ dependency.getSuppliers().add(finalState);
+ assertSuperset(dependency.getTargets().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ dependency.getSuppliers().add(raiseExceptionAction);
+ assertSuperset(dependency.getTargets().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ dependency.getSuppliers().add(durationConstraint);
+ assertSuperset(dependency.getTargets().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ dependency.getSuppliers().add(activityFinalNode);
+ assertSuperset(dependency.getTargets().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ dependency.getSuppliers().add(literalNull);
+ assertSuperset(dependency.getTargets().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ dependency.getSuppliers().add(callOperationAction);
+ assertSuperset(dependency.getTargets().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ dependency.getSuppliers().add(protocolStateMachine);
+ assertSuperset(dependency.getTargets().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ dependency.getSuppliers().add(loopNode);
+ assertSuperset(dependency.getTargets().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ dependency.getSuppliers().add(parameterSet);
+ assertSuperset(dependency.getTargets().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ dependency.getSuppliers().add(valueSpecificationAction);
+ assertSuperset(
+ dependency.getTargets().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ dependency.getSuppliers().add(node);
+ assertSuperset(dependency.getTargets().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ dependency.getSuppliers().add(sequenceNode);
+ assertSuperset(dependency.getTargets().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ dependency.getSuppliers().add(constraint);
+ assertSuperset(dependency.getTargets().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ dependency.getSuppliers().add(destroyObjectAction);
+ assertSuperset(dependency.getTargets().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ dependency.getSuppliers().add(stateMachine);
+ assertSuperset(dependency.getTargets().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ dependency.getSuppliers().add(enumerationLiteral);
+ assertSuperset(dependency.getTargets().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ dependency.getSuppliers().add(actionExecutionSpecification);
+ assertSuperset(
+ dependency.getTargets().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ dependency.getSuppliers().add(functionBehavior);
+ assertSuperset(dependency.getTargets().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ dependency.getSuppliers().add(interface_);
+ assertSuperset(dependency.getTargets().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ dependency.getSuppliers().add(instanceSpecification);
+ assertSuperset(dependency.getTargets().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ dependency.getSuppliers().add(startClassifierBehaviorAction);
+ assertSuperset(
+ dependency.getTargets().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ dependency.getSuppliers().add(port);
+ assertSuperset(dependency.getTargets().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ dependency.getSuppliers().add(removeVariableValueAction);
+ assertSuperset(
+ dependency.getTargets().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ dependency.getSuppliers().add(informationItem);
+ assertSuperset(dependency.getTargets().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ dependency.getSuppliers().add(literalReal);
+ assertSuperset(dependency.getTargets().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ dependency.getSuppliers().add(redefinableTemplateSignature);
+ assertSuperset(
+ dependency.getTargets().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ dependency.getSuppliers().add(executionOccurrenceSpecification);
+ assertSuperset(
+ dependency.getTargets().contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ dependency.getSuppliers().add(duration);
+ assertSuperset(dependency.getTargets().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ dependency.getSuppliers().add(package_);
+ assertSuperset(dependency.getTargets().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ dependency.getSuppliers().add(variable);
+ assertSuperset(dependency.getTargets().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ dependency.getSuppliers().add(destructionOccurrenceSpecification);
+ assertSuperset(dependency.getTargets()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ dependency.getSuppliers().add(lifeline);
+ assertSuperset(dependency.getTargets().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ dependency.getSuppliers().add(timeObservation);
+ assertSuperset(dependency.getTargets().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ dependency.getSuppliers().add(replyAction);
+ assertSuperset(dependency.getTargets().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ dependency.getSuppliers().add(gate);
+ assertSuperset(dependency.getTargets().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ dependency.getSuppliers().add(property);
+ assertSuperset(dependency.getTargets().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ dependency.getSuppliers().add(timeExpression);
+ assertSuperset(dependency.getTargets().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ dependency.getSuppliers().add(device);
+ assertSuperset(dependency.getTargets().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ dependency.getSuppliers().add(flowFinalNode);
+ assertSuperset(dependency.getTargets().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ dependency.getSuppliers().add(expansionRegion);
+ assertSuperset(dependency.getTargets().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ dependency.getSuppliers().add(abstraction);
+ assertSuperset(dependency.getTargets().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ dependency.getSuppliers().add(startObjectBehaviorAction);
+ assertSuperset(
+ dependency.getTargets().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ dependency.getSuppliers().add(enumeration);
+ assertSuperset(dependency.getTargets().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ dependency.getSuppliers().add(primitiveType);
+ assertSuperset(dependency.getTargets().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ dependency.getSuppliers().add(profile);
+ assertSuperset(dependency.getTargets().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ dependency.getSuppliers().add(message);
+ assertSuperset(dependency.getTargets().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ dependency.getSuppliers().add(generalizationSet);
+ assertSuperset(dependency.getTargets().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ dependency.getSuppliers().add(continuation);
+ assertSuperset(dependency.getTargets().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ dependency.getSuppliers().add(signal);
+ assertSuperset(dependency.getTargets().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ dependency.getSuppliers().add(callBehaviorAction);
+ assertSuperset(dependency.getTargets().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ dependency.getSuppliers().add(objectFlow);
+ assertSuperset(dependency.getTargets().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ dependency.getSuppliers().add(stateInvariant);
+ assertSuperset(dependency.getTargets().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ dependency.getSuppliers().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ dependency.getTargets().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ dependency.getSuppliers().add(activityParameterNode);
+ assertSuperset(dependency.getTargets().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ dependency.getSuppliers().add(addStructuralFeatureValueAction);
+ assertSuperset(
+ dependency.getTargets().contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ dependency.getSuppliers().add(readVariableAction);
+ assertSuperset(dependency.getTargets().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ dependency.getSuppliers().add(interruptibleActivityRegion);
+ assertSuperset(
+ dependency.getTargets().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ dependency.getSuppliers().add(removeStructuralFeatureValueAction);
+ assertSuperset(dependency.getTargets()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ dependency.getSuppliers().add(opaqueExpression);
+ assertSuperset(dependency.getTargets().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ dependency.getSuppliers().add(timeEvent);
+ assertSuperset(dependency.getTargets().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ dependency.getSuppliers().add(generalOrdering);
+ assertSuperset(dependency.getTargets().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ dependency.getSuppliers().add(region);
+ assertSuperset(dependency.getTargets().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ dependency.getSuppliers().add(transition);
+ assertSuperset(dependency.getTargets().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ dependency.getSuppliers().add(anyReceiveEvent);
+ assertSuperset(dependency.getTargets().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ dependency.getSuppliers().add(messageOccurrenceSpecification);
+ assertSuperset(
+ dependency.getTargets().contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ dependency.getSuppliers().add(literalInteger);
+ assertSuperset(dependency.getTargets().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ dependency.getSuppliers().add(reduceAction);
+ assertSuperset(dependency.getTargets().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ dependency.getSuppliers().add(acceptEventAction);
+ assertSuperset(dependency.getTargets().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ dependency.getSuppliers().add(initialNode);
+ assertSuperset(dependency.getTargets().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ dependency.getSuppliers().add(centralBufferNode);
+ assertSuperset(dependency.getTargets().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ dependency.getSuppliers().add(combinedFragment);
+ assertSuperset(dependency.getTargets().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ dependency.getSuppliers().add(intervalConstraint);
+ assertSuperset(dependency.getTargets().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ dependency.getSuppliers().add(extension);
+ assertSuperset(dependency.getTargets().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ dependency.getSuppliers().add(occurrenceSpecification);
+ assertSuperset(
+ dependency.getTargets().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ dependency.getSuppliers().add(extensionPoint);
+ assertSuperset(dependency.getTargets().contains(extensionPoint));
+
+ Dependency dependency2 = UML.createDependency();
+ assertValid(dependency2);
+ dependency.getSuppliers().add(dependency2);
+ assertSuperset(dependency.getTargets().contains(dependency2));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ dependency.getSuppliers().add(connector);
+ assertSuperset(dependency.getTargets().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ dependency.getSuppliers().add(expression);
+ assertSuperset(dependency.getTargets().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ dependency.getSuppliers().add(componentRealization);
+ assertSuperset(dependency.getTargets().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ dependency.getSuppliers().add(class_);
+ assertSuperset(dependency.getTargets().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ dependency.getSuppliers().add(state);
+ assertSuperset(dependency.getTargets().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ dependency.getSuppliers().add(protocolTransition);
+ assertSuperset(dependency.getTargets().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ dependency.getSuppliers().add(behaviorExecutionSpecification);
+ assertSuperset(
+ dependency.getTargets().contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ dependency.getSuppliers().add(collaborationUse);
+ assertSuperset(dependency.getTargets().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ dependency.getSuppliers().add(interactionOperand);
+ assertSuperset(dependency.getTargets().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ dependency.getSuppliers().add(acceptCallAction);
+ assertSuperset(dependency.getTargets().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ dependency.getSuppliers().add(addVariableValueAction);
+ assertSuperset(
+ dependency.getTargets().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ dependency.getSuppliers().add(readLinkObjectEndAction);
+ assertSuperset(
+ dependency.getTargets().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ dependency.getSuppliers().add(useCase);
+ assertSuperset(dependency.getTargets().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ dependency.getSuppliers().add(unmarshallAction);
+ assertSuperset(dependency.getTargets().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ dependency.getSuppliers().add(opaqueAction);
+ assertSuperset(dependency.getTargets().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ dependency.getSuppliers().add(stringExpression);
+ assertSuperset(dependency.getTargets().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ dependency.getSuppliers().add(mergeNode);
+ assertSuperset(dependency.getTargets().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ dependency.getSuppliers().add(changeEvent);
+ assertSuperset(dependency.getTargets().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ dependency.getSuppliers().add(createObjectAction);
+ assertSuperset(dependency.getTargets().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ dependency.getSuppliers().add(stereotype);
+ assertSuperset(dependency.getTargets().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ dependency.getSuppliers().add(readStructuralFeatureAction);
+ assertSuperset(
+ dependency.getTargets().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ dependency.getSuppliers().add(collaboration);
+ assertSuperset(dependency.getTargets().contains(collaboration));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DeploymentSpecificationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DeploymentSpecificationTest.java
new file mode 100755
index 00000000..4234b54e
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DeploymentSpecificationTest.java
@@ -0,0 +1,684 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class DeploymentSpecificationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ deploymentSpecification.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ deploymentSpecification.getOwnedComments().add(comment);
+ assertSuperset(
+ deploymentSpecification.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ EList<Element> elements = deploymentSpecification.getOwnedElements();
+ EList<Element> elements2 = deploymentSpecification.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ EList<Dependency> dependencys = deploymentSpecification
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = deploymentSpecification
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ deploymentSpecification.setNameExpression(stringExpression);
+ assertSuperset(deploymentSpecification.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ deploymentSpecification.getOwnedRules().add(intervalConstraint);
+ assertSuperset(deploymentSpecification.getOwnedMembers()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ deploymentSpecification.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ deploymentSpecification.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ deploymentSpecification.getOwnedRules().add(interactionConstraint);
+ assertSuperset(deploymentSpecification.getOwnedMembers()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ deploymentSpecification.getOwnedRules().add(constraint);
+ assertSuperset(
+ deploymentSpecification.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ deploymentSpecification.getOwnedRules().add(durationConstraint);
+ assertSuperset(deploymentSpecification.getOwnedMembers()
+ .contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ deploymentSpecification.getElementImports().add(elementImport);
+ assertSuperset(
+ deploymentSpecification.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ deploymentSpecification.getPackageImports().add(packageImport);
+ assertSuperset(
+ deploymentSpecification.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ EList<NamedElement> namedElements = deploymentSpecification
+ .getOwnedMembers();
+ EList<NamedElement> namedElements2 = deploymentSpecification
+ .getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ EList<PackageableElement> packageableElements = deploymentSpecification
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = deploymentSpecification
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ EList<NamedElement> namedElements = deploymentSpecification
+ .getMembers();
+ EList<NamedElement> namedElements2 = deploymentSpecification
+ .getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ EList<RedefinableElement> redefinableElements = deploymentSpecification
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = deploymentSpecification
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ EList<Classifier> classifiers = deploymentSpecification
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = deploymentSpecification
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ deploymentSpecification
+ .setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(
+ deploymentSpecification.getOwner() == classifierTemplateParameter);
+ assertSuperset(deploymentSpecification
+ .getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ deploymentSpecification
+ .setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ deploymentSpecification.getTemplateBindings().add(templateBinding);
+ assertSuperset(deploymentSpecification.getOwnedElements()
+ .contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ deploymentSpecification
+ .setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(deploymentSpecification.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ EList<Feature> features = deploymentSpecification.getFeatures();
+ EList<Feature> features2 = deploymentSpecification.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ EList<Property> propertys = deploymentSpecification.getAttributes();
+ EList<Property> propertys2 = deploymentSpecification.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ deploymentSpecification.getCollaborationUses().add(collaborationUse);
+ assertSuperset(deploymentSpecification.getOwnedElements()
+ .contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ EList<Classifier> classifiers = deploymentSpecification.getGenerals();
+ EList<Classifier> classifiers2 = deploymentSpecification.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ deploymentSpecification.getGeneralizations().add(generalization);
+ assertSuperset(deploymentSpecification.getOwnedElements()
+ .contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ deploymentSpecification.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ EList<NamedElement> namedElements = deploymentSpecification
+ .getInheritedMembers();
+ EList<NamedElement> namedElements2 = deploymentSpecification
+ .getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ deploymentSpecification.getOwnedUseCases().add(useCase);
+ assertSuperset(
+ deploymentSpecification.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ deploymentSpecification.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ deploymentSpecification.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ deploymentSpecification.getRedefinedClassifiers().add(activity);
+ assertSuperset(
+ deploymentSpecification.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ deploymentSpecification.getRedefinedClassifiers().add(interface_);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ deploymentSpecification.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ deploymentSpecification.getRedefinedClassifiers()
+ .add(communicationPath);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ deploymentSpecification.getRedefinedClassifiers()
+ .add(executionEnvironment);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ deploymentSpecification.getRedefinedClassifiers().add(component);
+ assertSuperset(
+ deploymentSpecification.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ deploymentSpecification.getRedefinedClassifiers().add(interaction);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(interaction));
+
+ DeploymentSpecification deploymentSpecification2 = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification2);
+ deploymentSpecification.getRedefinedClassifiers()
+ .add(deploymentSpecification2);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(deploymentSpecification2));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ deploymentSpecification.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ deploymentSpecification.getRedefinedClassifiers().add(association);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ deploymentSpecification.getRedefinedClassifiers().add(dataType);
+ assertSuperset(
+ deploymentSpecification.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ deploymentSpecification.getRedefinedClassifiers().add(device);
+ assertSuperset(
+ deploymentSpecification.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ deploymentSpecification.getRedefinedClassifiers().add(extension);
+ assertSuperset(
+ deploymentSpecification.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ deploymentSpecification.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ deploymentSpecification.getRedefinedClassifiers().add(class_);
+ assertSuperset(
+ deploymentSpecification.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ deploymentSpecification.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ deploymentSpecification.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ deploymentSpecification.getRedefinedClassifiers().add(actor);
+ assertSuperset(
+ deploymentSpecification.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ deploymentSpecification.getRedefinedClassifiers()
+ .add(protocolStateMachine);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ deploymentSpecification.getRedefinedClassifiers().add(useCase);
+ assertSuperset(
+ deploymentSpecification.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ deploymentSpecification.getRedefinedClassifiers().add(signal);
+ assertSuperset(
+ deploymentSpecification.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ deploymentSpecification.getRedefinedClassifiers().add(node);
+ assertSuperset(
+ deploymentSpecification.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ deploymentSpecification.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ deploymentSpecification.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ deploymentSpecification.getRedefinedClassifiers().add(artifact);
+ assertSuperset(
+ deploymentSpecification.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ deploymentSpecification.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(deploymentSpecification.getRedefinedElements()
+ .contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ deploymentSpecification.setRepresentation(collaborationUse);
+ assertSuperset(deploymentSpecification.getCollaborationUses()
+ .contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ deploymentSpecification.getSubstitutions().add(substitution);
+ assertSuperset(
+ deploymentSpecification.getOwnedElements().contains(substitution));
+ assertSuperset(deploymentSpecification.getClientDependencies()
+ .contains(substitution));
+ }
+
+ public void testManifestation() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ deploymentSpecification.getManifestations().add(manifestation);
+ assertSuperset(
+ deploymentSpecification.getOwnedElements().contains(manifestation));
+ }
+
+ public void testNestedArtifact() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ DeploymentSpecification deploymentSpecification2 = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification2);
+ deploymentSpecification.getNestedArtifacts()
+ .add(deploymentSpecification2);
+ assertSuperset(deploymentSpecification.getOwnedMembers()
+ .contains(deploymentSpecification2));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ deploymentSpecification.getNestedArtifacts().add(artifact);
+ assertSuperset(
+ deploymentSpecification.getOwnedMembers().contains(artifact));
+ }
+
+ public void testOwnedAttribute() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ deploymentSpecification.getOwnedAttributes().add(port);
+ assertSuperset(deploymentSpecification.getAttributes().contains(port));
+ assertSuperset(
+ deploymentSpecification.getOwnedMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ deploymentSpecification.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(
+ deploymentSpecification.getAttributes().contains(extensionEnd));
+ assertSuperset(
+ deploymentSpecification.getOwnedMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ deploymentSpecification.getOwnedAttributes().add(property);
+ assertSuperset(
+ deploymentSpecification.getAttributes().contains(property));
+ assertSuperset(
+ deploymentSpecification.getOwnedMembers().contains(property));
+ }
+
+ public void testOwnedOperation() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ deploymentSpecification.getOwnedOperations().add(operation);
+ assertSuperset(
+ deploymentSpecification.getFeatures().contains(operation));
+ assertSuperset(
+ deploymentSpecification.getOwnedMembers().contains(operation));
+ }
+
+ public void testDeployment() {
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ deploymentSpecification.setDeployment(deployment);
+ assertSuperset(deploymentSpecification.getOwner() == deployment);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DeploymentTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DeploymentTest.java
new file mode 100755
index 00000000..bbde64f9
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DeploymentTest.java
@@ -0,0 +1,2238 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class DeploymentTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ deployment.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ deployment.getOwnedComments().add(comment);
+ assertSuperset(deployment.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ EList<Element> elements = deployment.getOwnedElements();
+ EList<Element> elements2 = deployment.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ EList<Dependency> dependencys = deployment.getClientDependencies();
+ EList<Dependency> dependencys2 = deployment.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ deployment.setNameExpression(stringExpression);
+ assertSuperset(
+ deployment.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ deployment.setOwningTemplateParameter(templateParameter);
+ assertSuperset(deployment.getOwner() == templateParameter);
+ assertSuperset(deployment.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ deployment.setTemplateParameter(templateParameter);
+ }
+
+ public void testRelatedElement() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ EList<Element> elements = deployment.getRelatedElements();
+ EList<Element> elements2 = deployment.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ EList<Element> elements = deployment.getSources();
+ EList<Element> elements2 = deployment.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ EList<Element> elements = deployment.getTargets();
+ EList<Element> elements2 = deployment.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testClient() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ deployment.getClients().add(activity);
+ assertSuperset(deployment.getSources().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ deployment.getClients().add(communicationPath);
+ assertSuperset(deployment.getSources().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ deployment.getClients().add(readSelfAction);
+ assertSuperset(deployment.getSources().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ deployment.getClients().add(activityPartition);
+ assertSuperset(deployment.getSources().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ deployment.getClients().add(inputPin);
+ assertSuperset(deployment.getSources().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ deployment.getClients().add(readLinkObjectEndQualifierAction);
+ assertSuperset(
+ deployment.getSources().contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ deployment.getClients().add(component);
+ assertSuperset(deployment.getSources().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ deployment.getClients().add(manifestation);
+ assertSuperset(deployment.getSources().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ deployment.getClients().add(durationObservation);
+ assertSuperset(deployment.getSources().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ deployment.getClients().add(callEvent);
+ assertSuperset(deployment.getSources().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ deployment.getClients().add(joinNode);
+ assertSuperset(deployment.getSources().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ deployment.getClients().add(interaction);
+ assertSuperset(deployment.getSources().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ deployment.getClients().add(createLinkObjectAction);
+ assertSuperset(
+ deployment.getSources().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ deployment.getClients().add(opaqueBehavior);
+ assertSuperset(deployment.getSources().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ deployment.getClients().add(literalUnlimitedNatural);
+ assertSuperset(
+ deployment.getSources().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ deployment.getClients().add(sendSignalAction);
+ assertSuperset(deployment.getSources().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ deployment.getClients().add(readLinkAction);
+ assertSuperset(deployment.getSources().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ deployment.getClients().add(operation);
+ assertSuperset(deployment.getSources().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ deployment.getClients().add(clearAssociationAction);
+ assertSuperset(
+ deployment.getSources().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ deployment.getClients().add(model);
+ assertSuperset(deployment.getSources().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ deployment.getClients().add(parameter);
+ assertSuperset(deployment.getSources().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ deployment.getClients().add(instanceValue);
+ assertSuperset(deployment.getSources().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ deployment.getClients().add(trigger);
+ assertSuperset(deployment.getSources().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ deployment.getClients().add(interactionConstraint);
+ assertSuperset(deployment.getSources().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ deployment.getClients().add(associationClass);
+ assertSuperset(deployment.getSources().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ deployment.getClients().add(interactionUse);
+ assertSuperset(deployment.getSources().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ deployment.getClients().add(clearStructuralFeatureAction);
+ assertSuperset(
+ deployment.getSources().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ deployment.getClients().add(interval);
+ assertSuperset(deployment.getSources().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ deployment.getClients().add(structuredActivityNode);
+ assertSuperset(
+ deployment.getSources().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ deployment.getClients().add(literalString);
+ assertSuperset(deployment.getSources().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ deployment.getClients().add(valuePin);
+ assertSuperset(deployment.getSources().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ deployment.getClients().add(interfaceRealization);
+ assertSuperset(deployment.getSources().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ deployment.getClients().add(forkNode);
+ assertSuperset(deployment.getSources().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ deployment.getClients().add(decisionNode);
+ assertSuperset(deployment.getSources().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ deployment.getClients().add(actor);
+ assertSuperset(deployment.getSources().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ deployment.getClients().add(timeConstraint);
+ assertSuperset(deployment.getSources().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ deployment.getClients().add(reception);
+ assertSuperset(deployment.getSources().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ deployment.getClients().add(pseudostate);
+ assertSuperset(deployment.getSources().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ deployment.getClients().add(durationInterval);
+ assertSuperset(deployment.getSources().contains(durationInterval));
+
+ Deployment deployment2 = UML.createDeployment();
+ assertValid(deployment2);
+ deployment.getClients().add(deployment2);
+ assertSuperset(deployment.getSources().contains(deployment2));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ deployment.getClients().add(extensionEnd);
+ assertSuperset(deployment.getSources().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ deployment.getClients().add(considerIgnoreFragment);
+ assertSuperset(
+ deployment.getSources().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ deployment.getClients().add(conditionalNode);
+ assertSuperset(deployment.getSources().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ deployment.getClients().add(readExtentAction);
+ assertSuperset(deployment.getSources().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ deployment.getClients().add(actionInputPin);
+ assertSuperset(deployment.getSources().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ deployment.getClients().add(artifact);
+ assertSuperset(deployment.getSources().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ deployment.getClients().add(informationFlow);
+ assertSuperset(deployment.getSources().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ deployment.getClients().add(clearVariableAction);
+ assertSuperset(deployment.getSources().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ deployment.getClients().add(createLinkAction);
+ assertSuperset(deployment.getSources().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ deployment.getClients().add(signalEvent);
+ assertSuperset(deployment.getSources().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ deployment.getClients().add(connectionPointReference);
+ assertSuperset(
+ deployment.getSources().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ deployment.getClients().add(reclassifyObjectAction);
+ assertSuperset(
+ deployment.getSources().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ deployment.getClients().add(usage);
+ assertSuperset(deployment.getSources().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ deployment.getClients().add(dataStoreNode);
+ assertSuperset(deployment.getSources().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ deployment.getClients().add(executionEnvironment);
+ assertSuperset(deployment.getSources().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ deployment.getClients().add(sendObjectAction);
+ assertSuperset(deployment.getSources().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ deployment.getClients().add(controlFlow);
+ assertSuperset(deployment.getSources().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ deployment.getClients().add(deploymentSpecification);
+ assertSuperset(
+ deployment.getSources().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ deployment.getClients().add(partDecomposition);
+ assertSuperset(deployment.getSources().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ deployment.getClients().add(destroyLinkAction);
+ assertSuperset(deployment.getSources().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ deployment.getClients().add(realization);
+ assertSuperset(deployment.getSources().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ deployment.getClients().add(expansionNode);
+ assertSuperset(deployment.getSources().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ deployment.getClients().add(testIdentityAction);
+ assertSuperset(deployment.getSources().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ deployment.getClients().add(association);
+ assertSuperset(deployment.getSources().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ deployment.getClients().add(timeInterval);
+ assertSuperset(deployment.getSources().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ deployment.getClients().add(dataType);
+ assertSuperset(deployment.getSources().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ deployment.getClients().add(outputPin);
+ assertSuperset(deployment.getSources().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ deployment.getClients().add(substitution);
+ assertSuperset(deployment.getSources().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ deployment.getClients().add(include);
+ assertSuperset(deployment.getSources().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ deployment.getClients().add(extend);
+ assertSuperset(deployment.getSources().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ deployment.getClients().add(broadcastSignalAction);
+ assertSuperset(deployment.getSources().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ deployment.getClients().add(literalBoolean);
+ assertSuperset(deployment.getSources().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ deployment.getClients().add(finalState);
+ assertSuperset(deployment.getSources().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ deployment.getClients().add(raiseExceptionAction);
+ assertSuperset(deployment.getSources().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ deployment.getClients().add(durationConstraint);
+ assertSuperset(deployment.getSources().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ deployment.getClients().add(activityFinalNode);
+ assertSuperset(deployment.getSources().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ deployment.getClients().add(literalNull);
+ assertSuperset(deployment.getSources().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ deployment.getClients().add(callOperationAction);
+ assertSuperset(deployment.getSources().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ deployment.getClients().add(protocolStateMachine);
+ assertSuperset(deployment.getSources().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ deployment.getClients().add(loopNode);
+ assertSuperset(deployment.getSources().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ deployment.getClients().add(parameterSet);
+ assertSuperset(deployment.getSources().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ deployment.getClients().add(valueSpecificationAction);
+ assertSuperset(
+ deployment.getSources().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ deployment.getClients().add(node);
+ assertSuperset(deployment.getSources().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ deployment.getClients().add(sequenceNode);
+ assertSuperset(deployment.getSources().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ deployment.getClients().add(constraint);
+ assertSuperset(deployment.getSources().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ deployment.getClients().add(destroyObjectAction);
+ assertSuperset(deployment.getSources().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ deployment.getClients().add(stateMachine);
+ assertSuperset(deployment.getSources().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ deployment.getClients().add(enumerationLiteral);
+ assertSuperset(deployment.getSources().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ deployment.getClients().add(actionExecutionSpecification);
+ assertSuperset(
+ deployment.getSources().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ deployment.getClients().add(functionBehavior);
+ assertSuperset(deployment.getSources().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ deployment.getClients().add(interface_);
+ assertSuperset(deployment.getSources().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ deployment.getClients().add(instanceSpecification);
+ assertSuperset(deployment.getSources().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ deployment.getClients().add(startClassifierBehaviorAction);
+ assertSuperset(
+ deployment.getSources().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ deployment.getClients().add(port);
+ assertSuperset(deployment.getSources().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ deployment.getClients().add(removeVariableValueAction);
+ assertSuperset(
+ deployment.getSources().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ deployment.getClients().add(informationItem);
+ assertSuperset(deployment.getSources().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ deployment.getClients().add(literalReal);
+ assertSuperset(deployment.getSources().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ deployment.getClients().add(redefinableTemplateSignature);
+ assertSuperset(
+ deployment.getSources().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ deployment.getClients().add(executionOccurrenceSpecification);
+ assertSuperset(
+ deployment.getSources().contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ deployment.getClients().add(duration);
+ assertSuperset(deployment.getSources().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ deployment.getClients().add(package_);
+ assertSuperset(deployment.getSources().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ deployment.getClients().add(variable);
+ assertSuperset(deployment.getSources().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ deployment.getClients().add(destructionOccurrenceSpecification);
+ assertSuperset(deployment.getSources()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ deployment.getClients().add(lifeline);
+ assertSuperset(deployment.getSources().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ deployment.getClients().add(timeObservation);
+ assertSuperset(deployment.getSources().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ deployment.getClients().add(replyAction);
+ assertSuperset(deployment.getSources().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ deployment.getClients().add(gate);
+ assertSuperset(deployment.getSources().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ deployment.getClients().add(property);
+ assertSuperset(deployment.getSources().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ deployment.getClients().add(timeExpression);
+ assertSuperset(deployment.getSources().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ deployment.getClients().add(device);
+ assertSuperset(deployment.getSources().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ deployment.getClients().add(flowFinalNode);
+ assertSuperset(deployment.getSources().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ deployment.getClients().add(expansionRegion);
+ assertSuperset(deployment.getSources().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ deployment.getClients().add(abstraction);
+ assertSuperset(deployment.getSources().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ deployment.getClients().add(startObjectBehaviorAction);
+ assertSuperset(
+ deployment.getSources().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ deployment.getClients().add(enumeration);
+ assertSuperset(deployment.getSources().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ deployment.getClients().add(primitiveType);
+ assertSuperset(deployment.getSources().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ deployment.getClients().add(profile);
+ assertSuperset(deployment.getSources().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ deployment.getClients().add(message);
+ assertSuperset(deployment.getSources().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ deployment.getClients().add(generalizationSet);
+ assertSuperset(deployment.getSources().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ deployment.getClients().add(continuation);
+ assertSuperset(deployment.getSources().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ deployment.getClients().add(signal);
+ assertSuperset(deployment.getSources().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ deployment.getClients().add(callBehaviorAction);
+ assertSuperset(deployment.getSources().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ deployment.getClients().add(objectFlow);
+ assertSuperset(deployment.getSources().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ deployment.getClients().add(stateInvariant);
+ assertSuperset(deployment.getSources().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ deployment.getClients().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ deployment.getSources().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ deployment.getClients().add(activityParameterNode);
+ assertSuperset(deployment.getSources().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ deployment.getClients().add(addStructuralFeatureValueAction);
+ assertSuperset(
+ deployment.getSources().contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ deployment.getClients().add(readVariableAction);
+ assertSuperset(deployment.getSources().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ deployment.getClients().add(interruptibleActivityRegion);
+ assertSuperset(
+ deployment.getSources().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ deployment.getClients().add(removeStructuralFeatureValueAction);
+ assertSuperset(deployment.getSources()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ deployment.getClients().add(opaqueExpression);
+ assertSuperset(deployment.getSources().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ deployment.getClients().add(timeEvent);
+ assertSuperset(deployment.getSources().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ deployment.getClients().add(generalOrdering);
+ assertSuperset(deployment.getSources().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ deployment.getClients().add(region);
+ assertSuperset(deployment.getSources().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ deployment.getClients().add(transition);
+ assertSuperset(deployment.getSources().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ deployment.getClients().add(anyReceiveEvent);
+ assertSuperset(deployment.getSources().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ deployment.getClients().add(messageOccurrenceSpecification);
+ assertSuperset(
+ deployment.getSources().contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ deployment.getClients().add(literalInteger);
+ assertSuperset(deployment.getSources().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ deployment.getClients().add(reduceAction);
+ assertSuperset(deployment.getSources().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ deployment.getClients().add(acceptEventAction);
+ assertSuperset(deployment.getSources().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ deployment.getClients().add(initialNode);
+ assertSuperset(deployment.getSources().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ deployment.getClients().add(centralBufferNode);
+ assertSuperset(deployment.getSources().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ deployment.getClients().add(combinedFragment);
+ assertSuperset(deployment.getSources().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ deployment.getClients().add(intervalConstraint);
+ assertSuperset(deployment.getSources().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ deployment.getClients().add(extension);
+ assertSuperset(deployment.getSources().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ deployment.getClients().add(occurrenceSpecification);
+ assertSuperset(
+ deployment.getSources().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ deployment.getClients().add(extensionPoint);
+ assertSuperset(deployment.getSources().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ deployment.getClients().add(dependency);
+ assertSuperset(deployment.getSources().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ deployment.getClients().add(connector);
+ assertSuperset(deployment.getSources().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ deployment.getClients().add(expression);
+ assertSuperset(deployment.getSources().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ deployment.getClients().add(componentRealization);
+ assertSuperset(deployment.getSources().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ deployment.getClients().add(class_);
+ assertSuperset(deployment.getSources().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ deployment.getClients().add(state);
+ assertSuperset(deployment.getSources().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ deployment.getClients().add(protocolTransition);
+ assertSuperset(deployment.getSources().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ deployment.getClients().add(behaviorExecutionSpecification);
+ assertSuperset(
+ deployment.getSources().contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ deployment.getClients().add(collaborationUse);
+ assertSuperset(deployment.getSources().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ deployment.getClients().add(interactionOperand);
+ assertSuperset(deployment.getSources().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ deployment.getClients().add(acceptCallAction);
+ assertSuperset(deployment.getSources().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ deployment.getClients().add(addVariableValueAction);
+ assertSuperset(
+ deployment.getSources().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ deployment.getClients().add(readLinkObjectEndAction);
+ assertSuperset(
+ deployment.getSources().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ deployment.getClients().add(useCase);
+ assertSuperset(deployment.getSources().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ deployment.getClients().add(unmarshallAction);
+ assertSuperset(deployment.getSources().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ deployment.getClients().add(opaqueAction);
+ assertSuperset(deployment.getSources().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ deployment.getClients().add(stringExpression);
+ assertSuperset(deployment.getSources().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ deployment.getClients().add(mergeNode);
+ assertSuperset(deployment.getSources().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ deployment.getClients().add(changeEvent);
+ assertSuperset(deployment.getSources().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ deployment.getClients().add(createObjectAction);
+ assertSuperset(deployment.getSources().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ deployment.getClients().add(stereotype);
+ assertSuperset(deployment.getSources().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ deployment.getClients().add(readStructuralFeatureAction);
+ assertSuperset(
+ deployment.getSources().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ deployment.getClients().add(collaboration);
+ assertSuperset(deployment.getSources().contains(collaboration));
+ }
+
+ public void testSupplier() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ deployment.getSuppliers().add(activity);
+ assertSuperset(deployment.getTargets().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ deployment.getSuppliers().add(communicationPath);
+ assertSuperset(deployment.getTargets().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ deployment.getSuppliers().add(readSelfAction);
+ assertSuperset(deployment.getTargets().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ deployment.getSuppliers().add(activityPartition);
+ assertSuperset(deployment.getTargets().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ deployment.getSuppliers().add(inputPin);
+ assertSuperset(deployment.getTargets().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ deployment.getSuppliers().add(readLinkObjectEndQualifierAction);
+ assertSuperset(
+ deployment.getTargets().contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ deployment.getSuppliers().add(component);
+ assertSuperset(deployment.getTargets().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ deployment.getSuppliers().add(manifestation);
+ assertSuperset(deployment.getTargets().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ deployment.getSuppliers().add(durationObservation);
+ assertSuperset(deployment.getTargets().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ deployment.getSuppliers().add(callEvent);
+ assertSuperset(deployment.getTargets().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ deployment.getSuppliers().add(joinNode);
+ assertSuperset(deployment.getTargets().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ deployment.getSuppliers().add(interaction);
+ assertSuperset(deployment.getTargets().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ deployment.getSuppliers().add(createLinkObjectAction);
+ assertSuperset(
+ deployment.getTargets().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ deployment.getSuppliers().add(opaqueBehavior);
+ assertSuperset(deployment.getTargets().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ deployment.getSuppliers().add(literalUnlimitedNatural);
+ assertSuperset(
+ deployment.getTargets().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ deployment.getSuppliers().add(sendSignalAction);
+ assertSuperset(deployment.getTargets().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ deployment.getSuppliers().add(readLinkAction);
+ assertSuperset(deployment.getTargets().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ deployment.getSuppliers().add(operation);
+ assertSuperset(deployment.getTargets().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ deployment.getSuppliers().add(clearAssociationAction);
+ assertSuperset(
+ deployment.getTargets().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ deployment.getSuppliers().add(model);
+ assertSuperset(deployment.getTargets().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ deployment.getSuppliers().add(parameter);
+ assertSuperset(deployment.getTargets().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ deployment.getSuppliers().add(instanceValue);
+ assertSuperset(deployment.getTargets().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ deployment.getSuppliers().add(trigger);
+ assertSuperset(deployment.getTargets().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ deployment.getSuppliers().add(interactionConstraint);
+ assertSuperset(deployment.getTargets().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ deployment.getSuppliers().add(associationClass);
+ assertSuperset(deployment.getTargets().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ deployment.getSuppliers().add(interactionUse);
+ assertSuperset(deployment.getTargets().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ deployment.getSuppliers().add(clearStructuralFeatureAction);
+ assertSuperset(
+ deployment.getTargets().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ deployment.getSuppliers().add(interval);
+ assertSuperset(deployment.getTargets().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ deployment.getSuppliers().add(structuredActivityNode);
+ assertSuperset(
+ deployment.getTargets().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ deployment.getSuppliers().add(literalString);
+ assertSuperset(deployment.getTargets().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ deployment.getSuppliers().add(valuePin);
+ assertSuperset(deployment.getTargets().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ deployment.getSuppliers().add(interfaceRealization);
+ assertSuperset(deployment.getTargets().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ deployment.getSuppliers().add(forkNode);
+ assertSuperset(deployment.getTargets().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ deployment.getSuppliers().add(decisionNode);
+ assertSuperset(deployment.getTargets().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ deployment.getSuppliers().add(actor);
+ assertSuperset(deployment.getTargets().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ deployment.getSuppliers().add(timeConstraint);
+ assertSuperset(deployment.getTargets().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ deployment.getSuppliers().add(reception);
+ assertSuperset(deployment.getTargets().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ deployment.getSuppliers().add(pseudostate);
+ assertSuperset(deployment.getTargets().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ deployment.getSuppliers().add(durationInterval);
+ assertSuperset(deployment.getTargets().contains(durationInterval));
+
+ Deployment deployment2 = UML.createDeployment();
+ assertValid(deployment2);
+ deployment.getSuppliers().add(deployment2);
+ assertSuperset(deployment.getTargets().contains(deployment2));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ deployment.getSuppliers().add(extensionEnd);
+ assertSuperset(deployment.getTargets().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ deployment.getSuppliers().add(considerIgnoreFragment);
+ assertSuperset(
+ deployment.getTargets().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ deployment.getSuppliers().add(conditionalNode);
+ assertSuperset(deployment.getTargets().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ deployment.getSuppliers().add(readExtentAction);
+ assertSuperset(deployment.getTargets().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ deployment.getSuppliers().add(actionInputPin);
+ assertSuperset(deployment.getTargets().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ deployment.getSuppliers().add(artifact);
+ assertSuperset(deployment.getTargets().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ deployment.getSuppliers().add(informationFlow);
+ assertSuperset(deployment.getTargets().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ deployment.getSuppliers().add(clearVariableAction);
+ assertSuperset(deployment.getTargets().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ deployment.getSuppliers().add(createLinkAction);
+ assertSuperset(deployment.getTargets().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ deployment.getSuppliers().add(signalEvent);
+ assertSuperset(deployment.getTargets().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ deployment.getSuppliers().add(connectionPointReference);
+ assertSuperset(
+ deployment.getTargets().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ deployment.getSuppliers().add(reclassifyObjectAction);
+ assertSuperset(
+ deployment.getTargets().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ deployment.getSuppliers().add(usage);
+ assertSuperset(deployment.getTargets().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ deployment.getSuppliers().add(dataStoreNode);
+ assertSuperset(deployment.getTargets().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ deployment.getSuppliers().add(executionEnvironment);
+ assertSuperset(deployment.getTargets().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ deployment.getSuppliers().add(sendObjectAction);
+ assertSuperset(deployment.getTargets().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ deployment.getSuppliers().add(controlFlow);
+ assertSuperset(deployment.getTargets().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ deployment.getSuppliers().add(deploymentSpecification);
+ assertSuperset(
+ deployment.getTargets().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ deployment.getSuppliers().add(partDecomposition);
+ assertSuperset(deployment.getTargets().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ deployment.getSuppliers().add(destroyLinkAction);
+ assertSuperset(deployment.getTargets().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ deployment.getSuppliers().add(realization);
+ assertSuperset(deployment.getTargets().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ deployment.getSuppliers().add(expansionNode);
+ assertSuperset(deployment.getTargets().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ deployment.getSuppliers().add(testIdentityAction);
+ assertSuperset(deployment.getTargets().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ deployment.getSuppliers().add(association);
+ assertSuperset(deployment.getTargets().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ deployment.getSuppliers().add(timeInterval);
+ assertSuperset(deployment.getTargets().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ deployment.getSuppliers().add(dataType);
+ assertSuperset(deployment.getTargets().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ deployment.getSuppliers().add(outputPin);
+ assertSuperset(deployment.getTargets().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ deployment.getSuppliers().add(substitution);
+ assertSuperset(deployment.getTargets().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ deployment.getSuppliers().add(include);
+ assertSuperset(deployment.getTargets().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ deployment.getSuppliers().add(extend);
+ assertSuperset(deployment.getTargets().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ deployment.getSuppliers().add(broadcastSignalAction);
+ assertSuperset(deployment.getTargets().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ deployment.getSuppliers().add(literalBoolean);
+ assertSuperset(deployment.getTargets().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ deployment.getSuppliers().add(finalState);
+ assertSuperset(deployment.getTargets().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ deployment.getSuppliers().add(raiseExceptionAction);
+ assertSuperset(deployment.getTargets().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ deployment.getSuppliers().add(durationConstraint);
+ assertSuperset(deployment.getTargets().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ deployment.getSuppliers().add(activityFinalNode);
+ assertSuperset(deployment.getTargets().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ deployment.getSuppliers().add(literalNull);
+ assertSuperset(deployment.getTargets().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ deployment.getSuppliers().add(callOperationAction);
+ assertSuperset(deployment.getTargets().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ deployment.getSuppliers().add(protocolStateMachine);
+ assertSuperset(deployment.getTargets().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ deployment.getSuppliers().add(loopNode);
+ assertSuperset(deployment.getTargets().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ deployment.getSuppliers().add(parameterSet);
+ assertSuperset(deployment.getTargets().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ deployment.getSuppliers().add(valueSpecificationAction);
+ assertSuperset(
+ deployment.getTargets().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ deployment.getSuppliers().add(node);
+ assertSuperset(deployment.getTargets().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ deployment.getSuppliers().add(sequenceNode);
+ assertSuperset(deployment.getTargets().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ deployment.getSuppliers().add(constraint);
+ assertSuperset(deployment.getTargets().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ deployment.getSuppliers().add(destroyObjectAction);
+ assertSuperset(deployment.getTargets().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ deployment.getSuppliers().add(stateMachine);
+ assertSuperset(deployment.getTargets().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ deployment.getSuppliers().add(enumerationLiteral);
+ assertSuperset(deployment.getTargets().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ deployment.getSuppliers().add(actionExecutionSpecification);
+ assertSuperset(
+ deployment.getTargets().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ deployment.getSuppliers().add(functionBehavior);
+ assertSuperset(deployment.getTargets().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ deployment.getSuppliers().add(interface_);
+ assertSuperset(deployment.getTargets().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ deployment.getSuppliers().add(instanceSpecification);
+ assertSuperset(deployment.getTargets().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ deployment.getSuppliers().add(startClassifierBehaviorAction);
+ assertSuperset(
+ deployment.getTargets().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ deployment.getSuppliers().add(port);
+ assertSuperset(deployment.getTargets().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ deployment.getSuppliers().add(removeVariableValueAction);
+ assertSuperset(
+ deployment.getTargets().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ deployment.getSuppliers().add(informationItem);
+ assertSuperset(deployment.getTargets().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ deployment.getSuppliers().add(literalReal);
+ assertSuperset(deployment.getTargets().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ deployment.getSuppliers().add(redefinableTemplateSignature);
+ assertSuperset(
+ deployment.getTargets().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ deployment.getSuppliers().add(executionOccurrenceSpecification);
+ assertSuperset(
+ deployment.getTargets().contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ deployment.getSuppliers().add(duration);
+ assertSuperset(deployment.getTargets().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ deployment.getSuppliers().add(package_);
+ assertSuperset(deployment.getTargets().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ deployment.getSuppliers().add(variable);
+ assertSuperset(deployment.getTargets().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ deployment.getSuppliers().add(destructionOccurrenceSpecification);
+ assertSuperset(deployment.getTargets()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ deployment.getSuppliers().add(lifeline);
+ assertSuperset(deployment.getTargets().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ deployment.getSuppliers().add(timeObservation);
+ assertSuperset(deployment.getTargets().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ deployment.getSuppliers().add(replyAction);
+ assertSuperset(deployment.getTargets().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ deployment.getSuppliers().add(gate);
+ assertSuperset(deployment.getTargets().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ deployment.getSuppliers().add(property);
+ assertSuperset(deployment.getTargets().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ deployment.getSuppliers().add(timeExpression);
+ assertSuperset(deployment.getTargets().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ deployment.getSuppliers().add(device);
+ assertSuperset(deployment.getTargets().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ deployment.getSuppliers().add(flowFinalNode);
+ assertSuperset(deployment.getTargets().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ deployment.getSuppliers().add(expansionRegion);
+ assertSuperset(deployment.getTargets().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ deployment.getSuppliers().add(abstraction);
+ assertSuperset(deployment.getTargets().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ deployment.getSuppliers().add(startObjectBehaviorAction);
+ assertSuperset(
+ deployment.getTargets().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ deployment.getSuppliers().add(enumeration);
+ assertSuperset(deployment.getTargets().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ deployment.getSuppliers().add(primitiveType);
+ assertSuperset(deployment.getTargets().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ deployment.getSuppliers().add(profile);
+ assertSuperset(deployment.getTargets().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ deployment.getSuppliers().add(message);
+ assertSuperset(deployment.getTargets().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ deployment.getSuppliers().add(generalizationSet);
+ assertSuperset(deployment.getTargets().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ deployment.getSuppliers().add(continuation);
+ assertSuperset(deployment.getTargets().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ deployment.getSuppliers().add(signal);
+ assertSuperset(deployment.getTargets().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ deployment.getSuppliers().add(callBehaviorAction);
+ assertSuperset(deployment.getTargets().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ deployment.getSuppliers().add(objectFlow);
+ assertSuperset(deployment.getTargets().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ deployment.getSuppliers().add(stateInvariant);
+ assertSuperset(deployment.getTargets().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ deployment.getSuppliers().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ deployment.getTargets().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ deployment.getSuppliers().add(activityParameterNode);
+ assertSuperset(deployment.getTargets().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ deployment.getSuppliers().add(addStructuralFeatureValueAction);
+ assertSuperset(
+ deployment.getTargets().contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ deployment.getSuppliers().add(readVariableAction);
+ assertSuperset(deployment.getTargets().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ deployment.getSuppliers().add(interruptibleActivityRegion);
+ assertSuperset(
+ deployment.getTargets().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ deployment.getSuppliers().add(removeStructuralFeatureValueAction);
+ assertSuperset(deployment.getTargets()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ deployment.getSuppliers().add(opaqueExpression);
+ assertSuperset(deployment.getTargets().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ deployment.getSuppliers().add(timeEvent);
+ assertSuperset(deployment.getTargets().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ deployment.getSuppliers().add(generalOrdering);
+ assertSuperset(deployment.getTargets().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ deployment.getSuppliers().add(region);
+ assertSuperset(deployment.getTargets().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ deployment.getSuppliers().add(transition);
+ assertSuperset(deployment.getTargets().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ deployment.getSuppliers().add(anyReceiveEvent);
+ assertSuperset(deployment.getTargets().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ deployment.getSuppliers().add(messageOccurrenceSpecification);
+ assertSuperset(
+ deployment.getTargets().contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ deployment.getSuppliers().add(literalInteger);
+ assertSuperset(deployment.getTargets().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ deployment.getSuppliers().add(reduceAction);
+ assertSuperset(deployment.getTargets().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ deployment.getSuppliers().add(acceptEventAction);
+ assertSuperset(deployment.getTargets().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ deployment.getSuppliers().add(initialNode);
+ assertSuperset(deployment.getTargets().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ deployment.getSuppliers().add(centralBufferNode);
+ assertSuperset(deployment.getTargets().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ deployment.getSuppliers().add(combinedFragment);
+ assertSuperset(deployment.getTargets().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ deployment.getSuppliers().add(intervalConstraint);
+ assertSuperset(deployment.getTargets().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ deployment.getSuppliers().add(extension);
+ assertSuperset(deployment.getTargets().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ deployment.getSuppliers().add(occurrenceSpecification);
+ assertSuperset(
+ deployment.getTargets().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ deployment.getSuppliers().add(extensionPoint);
+ assertSuperset(deployment.getTargets().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ deployment.getSuppliers().add(dependency);
+ assertSuperset(deployment.getTargets().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ deployment.getSuppliers().add(connector);
+ assertSuperset(deployment.getTargets().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ deployment.getSuppliers().add(expression);
+ assertSuperset(deployment.getTargets().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ deployment.getSuppliers().add(componentRealization);
+ assertSuperset(deployment.getTargets().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ deployment.getSuppliers().add(class_);
+ assertSuperset(deployment.getTargets().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ deployment.getSuppliers().add(state);
+ assertSuperset(deployment.getTargets().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ deployment.getSuppliers().add(protocolTransition);
+ assertSuperset(deployment.getTargets().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ deployment.getSuppliers().add(behaviorExecutionSpecification);
+ assertSuperset(
+ deployment.getTargets().contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ deployment.getSuppliers().add(collaborationUse);
+ assertSuperset(deployment.getTargets().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ deployment.getSuppliers().add(interactionOperand);
+ assertSuperset(deployment.getTargets().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ deployment.getSuppliers().add(acceptCallAction);
+ assertSuperset(deployment.getTargets().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ deployment.getSuppliers().add(addVariableValueAction);
+ assertSuperset(
+ deployment.getTargets().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ deployment.getSuppliers().add(readLinkObjectEndAction);
+ assertSuperset(
+ deployment.getTargets().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ deployment.getSuppliers().add(useCase);
+ assertSuperset(deployment.getTargets().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ deployment.getSuppliers().add(unmarshallAction);
+ assertSuperset(deployment.getTargets().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ deployment.getSuppliers().add(opaqueAction);
+ assertSuperset(deployment.getTargets().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ deployment.getSuppliers().add(stringExpression);
+ assertSuperset(deployment.getTargets().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ deployment.getSuppliers().add(mergeNode);
+ assertSuperset(deployment.getTargets().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ deployment.getSuppliers().add(changeEvent);
+ assertSuperset(deployment.getTargets().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ deployment.getSuppliers().add(createObjectAction);
+ assertSuperset(deployment.getTargets().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ deployment.getSuppliers().add(stereotype);
+ assertSuperset(deployment.getTargets().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ deployment.getSuppliers().add(readStructuralFeatureAction);
+ assertSuperset(
+ deployment.getTargets().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ deployment.getSuppliers().add(collaboration);
+ assertSuperset(deployment.getTargets().contains(collaboration));
+ }
+
+ public void testConfiguration() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ deployment.getConfigurations().add(deploymentSpecification);
+ assertSuperset(
+ deployment.getOwnedElements().contains(deploymentSpecification));
+ }
+
+ public void testDeployedArtifact() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ deployment.getDeployedArtifacts().add(instanceSpecification);
+ assertSuperset(
+ deployment.getSuppliers().contains(instanceSpecification));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ deployment.getDeployedArtifacts().add(deploymentSpecification);
+ assertSuperset(
+ deployment.getSuppliers().contains(deploymentSpecification));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ deployment.getDeployedArtifacts().add(enumerationLiteral);
+ assertSuperset(deployment.getSuppliers().contains(enumerationLiteral));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ deployment.getDeployedArtifacts().add(artifact);
+ assertSuperset(deployment.getSuppliers().contains(artifact));
+ }
+
+ public void testLocation() {
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ deployment.setLocation(instanceSpecification);
+ assertSuperset(deployment.getClients().contains(instanceSpecification));
+ assertSuperset(deployment.getOwner() == instanceSpecification);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ deployment.setLocation(port);
+ assertSuperset(deployment.getClients().contains(port));
+ assertSuperset(deployment.getOwner() == port);
+
+ Deployment deployment2 = UML.createDeployment();
+ assertValid(deployment2);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ deployment2.setLocation(node);
+ assertSuperset(deployment2.getClients().contains(node));
+ assertSuperset(deployment2.getOwner() == node);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ deployment2.setLocation(extensionEnd);
+ assertSuperset(deployment2.getClients().contains(extensionEnd));
+ assertSuperset(deployment2.getOwner() == extensionEnd);
+
+ Deployment deployment3 = UML.createDeployment();
+ assertValid(deployment3);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ deployment3.setLocation(executionEnvironment);
+ assertSuperset(deployment3.getClients().contains(executionEnvironment));
+ assertSuperset(deployment3.getOwner() == executionEnvironment);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ deployment3.setLocation(property);
+ assertSuperset(deployment3.getClients().contains(property));
+ assertSuperset(deployment3.getOwner() == property);
+
+ Deployment deployment4 = UML.createDeployment();
+ assertValid(deployment4);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ deployment4.setLocation(enumerationLiteral);
+ assertSuperset(deployment4.getClients().contains(enumerationLiteral));
+ assertSuperset(deployment4.getOwner() == enumerationLiteral);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ deployment4.setLocation(device);
+ assertSuperset(deployment4.getClients().contains(device));
+ assertSuperset(deployment4.getOwner() == device);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DestroyLinkActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DestroyLinkActionTest.java
new file mode 100755
index 00000000..f0994105
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DestroyLinkActionTest.java
@@ -0,0 +1,781 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class DestroyLinkActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ destroyLinkAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ destroyLinkAction.getOwnedComments().add(comment);
+ assertSuperset(destroyLinkAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ EList<Element> elements = destroyLinkAction.getOwnedElements();
+ EList<Element> elements2 = destroyLinkAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ EList<Dependency> dependencys = destroyLinkAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = destroyLinkAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ destroyLinkAction.setNameExpression(stringExpression);
+ assertSuperset(
+ destroyLinkAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ EList<RedefinableElement> redefinableElements = destroyLinkAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = destroyLinkAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ EList<Classifier> classifiers = destroyLinkAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = destroyLinkAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ EList<ActivityGroup> activityGroups = destroyLinkAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = destroyLinkAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ destroyLinkAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(destroyLinkAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ destroyLinkAction.setInStructuredNode(loopNode);
+ assertSuperset(destroyLinkAction.getInGroups().contains(loopNode));
+ assertSuperset(destroyLinkAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ destroyLinkAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ destroyLinkAction.getInGroups().contains(expansionRegion));
+ assertSuperset(destroyLinkAction.getOwner() == expansionRegion);
+
+ DestroyLinkAction destroyLinkAction2 = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ destroyLinkAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(destroyLinkAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(destroyLinkAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ destroyLinkAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ destroyLinkAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(destroyLinkAction2.getOwner() == structuredActivityNode);
+
+ DestroyLinkAction destroyLinkAction3 = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ destroyLinkAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ destroyLinkAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(destroyLinkAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ destroyLinkAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ destroyLinkAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ destroyLinkAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ destroyLinkAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ destroyLinkAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ destroyLinkAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ destroyLinkAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ destroyLinkAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ destroyLinkAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ destroyLinkAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ destroyLinkAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ destroyLinkAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ destroyLinkAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ destroyLinkAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ destroyLinkAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ destroyLinkAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ destroyLinkAction.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ destroyLinkAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ destroyLinkAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ destroyLinkAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ destroyLinkAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ destroyLinkAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ destroyLinkAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ destroyLinkAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ destroyLinkAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ destroyLinkAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ destroyLinkAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ destroyLinkAction.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ destroyLinkAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ destroyLinkAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ destroyLinkAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ destroyLinkAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ destroyLinkAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ destroyLinkAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ destroyLinkAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ destroyLinkAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ destroyLinkAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ destroyLinkAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ destroyLinkAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction2 = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction2);
+ destroyLinkAction.getRedefinedNodes().add(destroyLinkAction2);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(destroyLinkAction2));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ destroyLinkAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ destroyLinkAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ destroyLinkAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ destroyLinkAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ destroyLinkAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ destroyLinkAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ destroyLinkAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ destroyLinkAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ destroyLinkAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ destroyLinkAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ destroyLinkAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ destroyLinkAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ destroyLinkAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ destroyLinkAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ destroyLinkAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ destroyLinkAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ destroyLinkAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ destroyLinkAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ destroyLinkAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ destroyLinkAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ destroyLinkAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ destroyLinkAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(destroyLinkAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ destroyLinkAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ destroyLinkAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ destroyLinkAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ destroyLinkAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ EList<InputPin> inputPins = destroyLinkAction.getInputs();
+ EList<InputPin> inputPins2 = destroyLinkAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ destroyLinkAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ destroyLinkAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ destroyLinkAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ destroyLinkAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ destroyLinkAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(destroyLinkAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ destroyLinkAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ destroyLinkAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ destroyLinkAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ destroyLinkAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ destroyLinkAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ destroyLinkAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ destroyLinkAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ destroyLinkAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ destroyLinkAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(destroyLinkAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ destroyLinkAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ destroyLinkAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ destroyLinkAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ destroyLinkAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ EList<OutputPin> outputPins = destroyLinkAction.getOutputs();
+ EList<OutputPin> outputPins2 = destroyLinkAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testEndData() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+ destroyLinkAction.getEndData().add(linkEndDestructionData);
+ assertSuperset(destroyLinkAction.getOwnedElements()
+ .contains(linkEndDestructionData));
+
+ LinkEndDestructionData linkEndDestructionData2 = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData2);
+ destroyLinkAction.getEndData().add(linkEndDestructionData2);
+ assertSuperset(destroyLinkAction.getOwnedElements()
+ .contains(linkEndDestructionData2));
+ }
+
+ public void testInputValue() {
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ destroyLinkAction.getInputValues().add(inputPin);
+ assertSuperset(destroyLinkAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ destroyLinkAction.getInputValues().add(valuePin);
+ assertSuperset(destroyLinkAction.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ destroyLinkAction.getInputValues().add(actionInputPin);
+ assertSuperset(destroyLinkAction.getInputs().contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DestroyObjectActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DestroyObjectActionTest.java
new file mode 100755
index 00000000..c6b98e22
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DestroyObjectActionTest.java
@@ -0,0 +1,795 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class DestroyObjectActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ destroyObjectAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ destroyObjectAction.getOwnedComments().add(comment);
+ assertSuperset(
+ destroyObjectAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ EList<Element> elements = destroyObjectAction.getOwnedElements();
+ EList<Element> elements2 = destroyObjectAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ EList<Dependency> dependencys = destroyObjectAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = destroyObjectAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ destroyObjectAction.setNameExpression(stringExpression);
+ assertSuperset(
+ destroyObjectAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ EList<RedefinableElement> redefinableElements = destroyObjectAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = destroyObjectAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ EList<Classifier> classifiers = destroyObjectAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = destroyObjectAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ EList<ActivityGroup> activityGroups = destroyObjectAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = destroyObjectAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ destroyObjectAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(destroyObjectAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ destroyObjectAction.setInStructuredNode(loopNode);
+ assertSuperset(destroyObjectAction.getInGroups().contains(loopNode));
+ assertSuperset(destroyObjectAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ destroyObjectAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ destroyObjectAction.getInGroups().contains(expansionRegion));
+ assertSuperset(destroyObjectAction.getOwner() == expansionRegion);
+
+ DestroyObjectAction destroyObjectAction2 = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ destroyObjectAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ destroyObjectAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(destroyObjectAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ destroyObjectAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(destroyObjectAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ destroyObjectAction2.getOwner() == structuredActivityNode);
+
+ DestroyObjectAction destroyObjectAction3 = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ destroyObjectAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ destroyObjectAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(destroyObjectAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ destroyObjectAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ destroyObjectAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ destroyObjectAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ destroyObjectAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ destroyObjectAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ destroyObjectAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ destroyObjectAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ destroyObjectAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ destroyObjectAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ destroyObjectAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ destroyObjectAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ destroyObjectAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ destroyObjectAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ destroyObjectAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ destroyObjectAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ destroyObjectAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ destroyObjectAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ destroyObjectAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ destroyObjectAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ destroyObjectAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ destroyObjectAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ destroyObjectAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ destroyObjectAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ destroyObjectAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ destroyObjectAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ destroyObjectAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ destroyObjectAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ destroyObjectAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ destroyObjectAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ destroyObjectAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ destroyObjectAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ destroyObjectAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ destroyObjectAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ destroyObjectAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ destroyObjectAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ destroyObjectAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ destroyObjectAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ destroyObjectAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ destroyObjectAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ destroyObjectAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ destroyObjectAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ destroyObjectAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ destroyObjectAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ destroyObjectAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ destroyObjectAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ destroyObjectAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ destroyObjectAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ destroyObjectAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ destroyObjectAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ destroyObjectAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ destroyObjectAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ destroyObjectAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ destroyObjectAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ destroyObjectAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ destroyObjectAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ destroyObjectAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ destroyObjectAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ destroyObjectAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ destroyObjectAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ destroyObjectAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction2 = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction2);
+ destroyObjectAction.getRedefinedNodes().add(destroyObjectAction2);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(destroyObjectAction2));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ destroyObjectAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(destroyObjectAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ destroyObjectAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ destroyObjectAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ destroyObjectAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ destroyObjectAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ EList<InputPin> inputPins = destroyObjectAction.getInputs();
+ EList<InputPin> inputPins2 = destroyObjectAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ destroyObjectAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(destroyObjectAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ destroyObjectAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ destroyObjectAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ destroyObjectAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(destroyObjectAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ destroyObjectAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ destroyObjectAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ destroyObjectAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(destroyObjectAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ destroyObjectAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(destroyObjectAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ destroyObjectAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ destroyObjectAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ destroyObjectAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(destroyObjectAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ destroyObjectAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ destroyObjectAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ destroyObjectAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(destroyObjectAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ EList<OutputPin> outputPins = destroyObjectAction.getOutputs();
+ EList<OutputPin> outputPins2 = destroyObjectAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testTarget() {
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ destroyObjectAction.setTarget(inputPin);
+ assertSuperset(destroyObjectAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ destroyObjectAction.setTarget(valuePin);
+ assertSuperset(destroyObjectAction.getInputs().contains(valuePin));
+
+ DestroyObjectAction destroyObjectAction2 = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ destroyObjectAction2.setTarget(actionInputPin);
+ assertSuperset(
+ destroyObjectAction2.getInputs().contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DestructionOccurrenceSpecificationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DestructionOccurrenceSpecificationTest.java
new file mode 100755
index 00000000..bc859ca3
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DestructionOccurrenceSpecificationTest.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.StringExpression;
+
+/**
+ * @author Eike Stepper
+ */
+public class DestructionOccurrenceSpecificationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ destructionOccurrenceSpecification.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ destructionOccurrenceSpecification.getOwnedComments().add(comment);
+ assertSuperset(destructionOccurrenceSpecification.getOwnedElements()
+ .contains(comment));
+ }
+
+ public void testOwnedElement() {
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ EList<Element> elements = destructionOccurrenceSpecification
+ .getOwnedElements();
+ EList<Element> elements2 = destructionOccurrenceSpecification
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ EList<Dependency> dependencys = destructionOccurrenceSpecification
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = destructionOccurrenceSpecification
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ destructionOccurrenceSpecification.setNameExpression(stringExpression);
+ assertSuperset(destructionOccurrenceSpecification.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testCovered() {
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ destructionOccurrenceSpecification.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ destructionOccurrenceSpecification
+ .setEnclosingOperand(interactionOperand);
+ assertSuperset(destructionOccurrenceSpecification
+ .getNamespace() == interactionOperand);
+ }
+
+ public void testEnclosingInteraction() {
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ destructionOccurrenceSpecification.setEnclosingInteraction(interaction);
+ assertSuperset(
+ destructionOccurrenceSpecification.getNamespace() == interaction);
+ }
+
+ public void testGeneralOrdering() {
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ destructionOccurrenceSpecification.getGeneralOrderings()
+ .add(generalOrdering);
+ assertSuperset(destructionOccurrenceSpecification.getOwnedElements()
+ .contains(generalOrdering));
+ }
+
+ public void testToAfter() {
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ destructionOccurrenceSpecification.getToAfters().add(generalOrdering);
+ }
+
+ public void testToBefore() {
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ destructionOccurrenceSpecification.getToBefores().add(generalOrdering);
+ }
+
+ public void testMessage() {
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ destructionOccurrenceSpecification.setMessage(message);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DeviceTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DeviceTest.java
new file mode 100755
index 00000000..c8aadedd
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DeviceTest.java
@@ -0,0 +1,851 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class DeviceTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ device.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ device.getOwnedComments().add(comment);
+ assertSuperset(device.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<Element> elements = device.getOwnedElements();
+ EList<Element> elements2 = device.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<Dependency> dependencys = device.getClientDependencies();
+ EList<Dependency> dependencys2 = device.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ device.setNameExpression(stringExpression);
+ assertSuperset(device.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ device.getOwnedRules().add(intervalConstraint);
+ assertSuperset(device.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ device.getOwnedRules().add(timeConstraint);
+ assertSuperset(device.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ device.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ device.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ device.getOwnedRules().add(constraint);
+ assertSuperset(device.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ device.getOwnedRules().add(durationConstraint);
+ assertSuperset(device.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ device.getElementImports().add(elementImport);
+ assertSuperset(device.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ device.getPackageImports().add(packageImport);
+ assertSuperset(device.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<NamedElement> namedElements = device.getOwnedMembers();
+ EList<NamedElement> namedElements2 = device.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<PackageableElement> packageableElements = device
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = device
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<NamedElement> namedElements = device.getMembers();
+ EList<NamedElement> namedElements2 = device.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<RedefinableElement> redefinableElements = device
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = device
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<Classifier> classifiers = device.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = device.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ device.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(device.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ device.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ device.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ device.getTemplateBindings().add(templateBinding);
+ assertSuperset(device.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ device.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(
+ device.getOwnedElements().contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<Feature> features = device.getFeatures();
+ EList<Feature> features2 = device.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<Property> propertys = device.getAttributes();
+ EList<Property> propertys2 = device.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ device.getCollaborationUses().add(collaborationUse);
+ assertSuperset(device.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<Classifier> classifiers = device.getGenerals();
+ EList<Classifier> classifiers2 = device.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ device.getGeneralizations().add(generalization);
+ assertSuperset(device.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ device.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<NamedElement> namedElements = device.getInheritedMembers();
+ EList<NamedElement> namedElements2 = device.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ device.getOwnedUseCases().add(useCase);
+ assertSuperset(device.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ device.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ device.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ device.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ device.getRedefinedClassifiers().add(activity);
+ assertSuperset(device.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ device.getRedefinedClassifiers().add(interface_);
+ assertSuperset(device.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ device.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(device.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ device.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ device.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ device.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ device.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ device.getRedefinedClassifiers().add(component);
+ assertSuperset(device.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ device.getRedefinedClassifiers().add(interaction);
+ assertSuperset(device.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ device.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ device.getRedefinedElements().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ device.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(device.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ device.getRedefinedClassifiers().add(association);
+ assertSuperset(device.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ device.getRedefinedClassifiers().add(dataType);
+ assertSuperset(device.getRedefinedElements().contains(dataType));
+
+ Device device2 = UML.createDevice();
+ assertValid(device2);
+ device.getRedefinedClassifiers().add(device2);
+ assertSuperset(device.getRedefinedElements().contains(device2));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ device.getRedefinedClassifiers().add(extension);
+ assertSuperset(device.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ device.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ device.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ device.getRedefinedClassifiers().add(class_);
+ assertSuperset(device.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ device.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(device.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ device.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(device.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ device.getRedefinedClassifiers().add(actor);
+ assertSuperset(device.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ device.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ device.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ device.getRedefinedClassifiers().add(useCase);
+ assertSuperset(device.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ device.getRedefinedClassifiers().add(signal);
+ assertSuperset(device.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ device.getRedefinedClassifiers().add(node);
+ assertSuperset(device.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ device.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(device.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ device.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(device.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ device.getRedefinedClassifiers().add(artifact);
+ assertSuperset(device.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ device.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(device.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ device.setRepresentation(collaborationUse);
+ assertSuperset(
+ device.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ device.getSubstitutions().add(substitution);
+ assertSuperset(device.getOwnedElements().contains(substitution));
+ assertSuperset(device.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ device.getOwnedAttributes().add(port);
+ assertSuperset(device.getAttributes().contains(port));
+ assertSuperset(device.getOwnedMembers().contains(port));
+ assertSuperset(device.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ device.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(device.getAttributes().contains(extensionEnd));
+ assertSuperset(device.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(device.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ device.getOwnedAttributes().add(property);
+ assertSuperset(device.getAttributes().contains(property));
+ assertSuperset(device.getOwnedMembers().contains(property));
+ assertSuperset(device.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ device.getOwnedConnectors().add(connector);
+ assertSuperset(device.getFeatures().contains(connector));
+ assertSuperset(device.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<Property> propertys = device.getParts();
+ EList<Property> propertys2 = device.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<ConnectableElement> connectableElements = device.getRoles();
+ EList<ConnectableElement> connectableElements2 = device.getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testOwnedPort() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<Port> ports = device.getOwnedPorts();
+ EList<Port> ports2 = device.getOwnedPorts();
+ assertSame(ports, ports2);
+ }
+
+ public void testClassifierBehavior() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ device.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(
+ device.getOwnedBehaviors().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ device.setClassifierBehavior(stateMachine);
+ assertSuperset(device.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ device.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(
+ device.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(
+ device.getClientDependencies().contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ device.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(device.getOwnedMembers().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ device.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(device.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testOwnedOperation() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ device.getOwnedOperations().add(operation);
+ assertSuperset(device.getFeatures().contains(operation));
+ assertSuperset(device.getOwnedMembers().contains(operation));
+ }
+
+ public void testExtension() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<Extension> extensions = device.getExtensions();
+ EList<Extension> extensions2 = device.getExtensions();
+ assertSame(extensions, extensions2);
+ }
+
+ public void testNestedClassifier() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ device.getNestedClassifiers().add(functionBehavior);
+ assertSuperset(device.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ device.getNestedClassifiers().add(activity);
+ assertSuperset(device.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ device.getNestedClassifiers().add(interface_);
+ assertSuperset(device.getOwnedMembers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ device.getNestedClassifiers().add(informationItem);
+ assertSuperset(device.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ device.getNestedClassifiers().add(communicationPath);
+ assertSuperset(device.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ device.getNestedClassifiers().add(executionEnvironment);
+ assertSuperset(device.getOwnedMembers().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ device.getNestedClassifiers().add(component);
+ assertSuperset(device.getOwnedMembers().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ device.getNestedClassifiers().add(interaction);
+ assertSuperset(device.getOwnedMembers().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ device.getNestedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ device.getOwnedMembers().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ device.getNestedClassifiers().add(opaqueBehavior);
+ assertSuperset(device.getOwnedMembers().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ device.getNestedClassifiers().add(association);
+ assertSuperset(device.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ device.getNestedClassifiers().add(dataType);
+ assertSuperset(device.getOwnedMembers().contains(dataType));
+
+ Device device2 = UML.createDevice();
+ assertValid(device2);
+ device.getNestedClassifiers().add(device2);
+ assertSuperset(device.getOwnedMembers().contains(device2));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ device.getNestedClassifiers().add(extension);
+ assertSuperset(device.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ device.getNestedClassifiers().add(associationClass);
+ assertSuperset(device.getOwnedMembers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ device.getNestedClassifiers().add(class_);
+ assertSuperset(device.getOwnedMembers().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ device.getNestedClassifiers().add(enumeration);
+ assertSuperset(device.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ device.getNestedClassifiers().add(primitiveType);
+ assertSuperset(device.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ device.getNestedClassifiers().add(actor);
+ assertSuperset(device.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ device.getNestedClassifiers().add(protocolStateMachine);
+ assertSuperset(device.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ device.getNestedClassifiers().add(useCase);
+ assertSuperset(device.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ device.getNestedClassifiers().add(signal);
+ assertSuperset(device.getOwnedMembers().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ device.getNestedClassifiers().add(node);
+ assertSuperset(device.getOwnedMembers().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ device.getNestedClassifiers().add(stereotype);
+ assertSuperset(device.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ device.getNestedClassifiers().add(stateMachine);
+ assertSuperset(device.getOwnedMembers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ device.getNestedClassifiers().add(artifact);
+ assertSuperset(device.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ device.getNestedClassifiers().add(collaboration);
+ assertSuperset(device.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedReception() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ device.getOwnedReceptions().add(reception);
+ assertSuperset(device.getFeatures().contains(reception));
+ assertSuperset(device.getOwnedMembers().contains(reception));
+ }
+
+ public void testSuperClass() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<org.eclipse.uml2.uml.Class> class_s = device.getSuperClasses();
+ EList<org.eclipse.uml2.uml.Class> class_s2 = device.getSuperClasses();
+ assertSame(class_s, class_s2);
+ }
+
+ public void testDeployedElement() {
+ Device device = UML.createDevice();
+ assertValid(device);
+ EList<PackageableElement> packageableElements = device
+ .getDeployedElements();
+ EList<PackageableElement> packageableElements2 = device
+ .getDeployedElements();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testDeployment() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ device.getDeployments().add(deployment);
+ assertSuperset(device.getOwnedElements().contains(deployment));
+ assertSuperset(device.getClientDependencies().contains(deployment));
+ }
+
+ public void testNestedNode() {
+ Device device = UML.createDevice();
+ assertValid(device);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ device.getNestedNodes().add(node);
+ assertSuperset(device.getOwnedMembers().contains(node));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ device.getNestedNodes().add(executionEnvironment);
+ assertSuperset(device.getOwnedMembers().contains(executionEnvironment));
+
+ Device device2 = UML.createDevice();
+ assertValid(device2);
+ device.getNestedNodes().add(device2);
+ assertSuperset(device.getOwnedMembers().contains(device2));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationConstraintTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationConstraintTest.java
new file mode 100755
index 00000000..b1a20045
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationConstraintTest.java
@@ -0,0 +1,1453 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Clause;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolConformance;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class DurationConstraintTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ durationConstraint.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ durationConstraint.getOwnedComments().add(comment);
+ assertSuperset(durationConstraint.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ EList<Element> elements = durationConstraint.getOwnedElements();
+ EList<Element> elements2 = durationConstraint.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ EList<Dependency> dependencys = durationConstraint
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = durationConstraint
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ durationConstraint.setNameExpression(stringExpression);
+ assertSuperset(
+ durationConstraint.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ durationConstraint.setOwningTemplateParameter(templateParameter);
+ assertSuperset(durationConstraint.getOwner() == templateParameter);
+ assertSuperset(
+ durationConstraint.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ durationConstraint.setTemplateParameter(templateParameter);
+ }
+
+ public void testConstrainedElement() {
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ durationConstraint.getConstrainedElements().add(activity);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ durationConstraint.getConstrainedElements().add(communicationPath);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ durationConstraint.getConstrainedElements().add(inputPin);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ durationConstraint.getConstrainedElements()
+ .add(readLinkObjectEndQualifierAction);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ durationConstraint.getConstrainedElements().add(component);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ durationConstraint.getConstrainedElements().add(durationObservation);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ durationConstraint.getConstrainedElements().add(callEvent);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ durationConstraint.getConstrainedElements().add(joinNode);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ durationConstraint.getConstrainedElements().add(createLinkObjectAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ durationConstraint.getConstrainedElements().add(readLinkAction);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ durationConstraint.getConstrainedElements().add(model);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ durationConstraint.getConstrainedElements().add(trigger);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ durationConstraint.getConstrainedElements().add(associationClass);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ durationConstraint.getConstrainedElements()
+ .add(classifierTemplateParameter);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ durationConstraint.getConstrainedElements()
+ .add(clearStructuralFeatureAction);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ durationConstraint.getConstrainedElements().add(structuredActivityNode);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ durationConstraint.getConstrainedElements().add(forkNode);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ durationConstraint.getConstrainedElements().add(timeConstraint);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ durationConstraint.getConstrainedElements().add(extensionEnd);
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ durationConstraint.getConstrainedElements().add(considerIgnoreFragment);
+
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+ durationConstraint.getConstrainedElements().add(protocolConformance);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ durationConstraint.getConstrainedElements().add(readExtentAction);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ durationConstraint.getConstrainedElements().add(actionInputPin);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ durationConstraint.getConstrainedElements().add(artifact);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ durationConstraint.getConstrainedElements().add(informationFlow);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ durationConstraint.getConstrainedElements().add(clearVariableAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ durationConstraint.getConstrainedElements().add(createLinkAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ durationConstraint.getConstrainedElements().add(sendObjectAction);
+
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+ durationConstraint.getConstrainedElements().add(linkEndData);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ durationConstraint.getConstrainedElements().add(controlFlow);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ durationConstraint.getConstrainedElements()
+ .add(deploymentSpecification);
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ durationConstraint.getConstrainedElements().add(partDecomposition);
+
+ Image image = UML.createImage();
+ assertValid(image);
+ durationConstraint.getConstrainedElements().add(image);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ durationConstraint.getConstrainedElements().add(destroyLinkAction);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ durationConstraint.getConstrainedElements().add(expansionNode);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ durationConstraint.getConstrainedElements().add(timeInterval);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ durationConstraint.getConstrainedElements().add(dataType);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ durationConstraint.getConstrainedElements().add(substitution);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ durationConstraint.getConstrainedElements().add(literalBoolean);
+
+ DurationConstraint durationConstraint2 = UML.createDurationConstraint();
+ assertValid(durationConstraint2);
+ durationConstraint.getConstrainedElements().add(durationConstraint2);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ durationConstraint.getConstrainedElements().add(literalNull);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ durationConstraint.getConstrainedElements().add(callOperationAction);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ durationConstraint.getConstrainedElements().add(node);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ durationConstraint.getConstrainedElements().add(constraint);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ durationConstraint.getConstrainedElements().add(stateMachine);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ durationConstraint.getConstrainedElements().add(interface_);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ durationConstraint.getConstrainedElements()
+ .add(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ durationConstraint.getConstrainedElements()
+ .add(removeVariableValueAction);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ durationConstraint.getConstrainedElements()
+ .add(redefinableTemplateSignature);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ durationConstraint.getConstrainedElements()
+ .add(executionOccurrenceSpecification);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ durationConstraint.getConstrainedElements().add(variable);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ durationConstraint.getConstrainedElements().add(property);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ durationConstraint.getConstrainedElements().add(expansionRegion);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ durationConstraint.getConstrainedElements().add(templateParameter);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ durationConstraint.getConstrainedElements()
+ .add(startObjectBehaviorAction);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ durationConstraint.getConstrainedElements().add(profile);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ durationConstraint.getConstrainedElements().add(message);
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ durationConstraint.getConstrainedElements().add(continuation);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ durationConstraint.getConstrainedElements().add(objectFlow);
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ durationConstraint.getConstrainedElements().add(stateInvariant);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ durationConstraint.getConstrainedElements()
+ .add(addStructuralFeatureValueAction);
+
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+ durationConstraint.getConstrainedElements().add(connectorEnd);
+
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+ durationConstraint.getConstrainedElements().add(linkEndCreationData);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ durationConstraint.getConstrainedElements()
+ .add(connectableElementTemplateParameter);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ durationConstraint.getConstrainedElements().add(templateBinding);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ durationConstraint.getConstrainedElements().add(opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ durationConstraint.getConstrainedElements().add(timeEvent);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ durationConstraint.getConstrainedElements().add(generalOrdering);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ durationConstraint.getConstrainedElements()
+ .add(messageOccurrenceSpecification);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ durationConstraint.getConstrainedElements().add(literalInteger);
+
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+ durationConstraint.getConstrainedElements().add(slot);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ durationConstraint.getConstrainedElements().add(centralBufferNode);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ durationConstraint.getConstrainedElements().add(extension);
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ durationConstraint.getConstrainedElements().add(extensionPoint);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ durationConstraint.getConstrainedElements().add(elementImport);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ durationConstraint.getConstrainedElements().add(dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ durationConstraint.getConstrainedElements().add(expression);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ durationConstraint.getConstrainedElements()
+ .add(behaviorExecutionSpecification);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ durationConstraint.getConstrainedElements().add(acceptCallAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ durationConstraint.getConstrainedElements()
+ .add(readLinkObjectEndAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ durationConstraint.getConstrainedElements().add(opaqueAction);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ durationConstraint.getConstrainedElements().add(packageImport);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ durationConstraint.getConstrainedElements().add(stringExpression);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ durationConstraint.getConstrainedElements().add(mergeNode);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ durationConstraint.getConstrainedElements().add(templateSignature);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ durationConstraint.getConstrainedElements().add(changeEvent);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ durationConstraint.getConstrainedElements().add(stereotype);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ durationConstraint.getConstrainedElements().add(comment);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ durationConstraint.getConstrainedElements().add(readSelfAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ durationConstraint.getConstrainedElements().add(activityPartition);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ durationConstraint.getConstrainedElements().add(manifestation);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ durationConstraint.getConstrainedElements().add(interaction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ durationConstraint.getConstrainedElements().add(exceptionHandler);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ durationConstraint.getConstrainedElements().add(opaqueBehavior);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ durationConstraint.getConstrainedElements()
+ .add(literalUnlimitedNatural);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ durationConstraint.getConstrainedElements().add(sendSignalAction);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ durationConstraint.getConstrainedElements().add(operation);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ durationConstraint.getConstrainedElements().add(clearAssociationAction);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ durationConstraint.getConstrainedElements().add(parameter);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ durationConstraint.getConstrainedElements().add(instanceValue);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ durationConstraint.getConstrainedElements().add(interactionConstraint);
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ durationConstraint.getConstrainedElements().add(interactionUse);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ durationConstraint.getConstrainedElements().add(interval);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ durationConstraint.getConstrainedElements().add(literalString);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ durationConstraint.getConstrainedElements().add(valuePin);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ durationConstraint.getConstrainedElements().add(interfaceRealization);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ durationConstraint.getConstrainedElements().add(decisionNode);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ durationConstraint.getConstrainedElements().add(actor);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ durationConstraint.getConstrainedElements().add(generalization);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ durationConstraint.getConstrainedElements().add(reception);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ durationConstraint.getConstrainedElements().add(pseudostate);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ durationConstraint.getConstrainedElements().add(durationInterval);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ durationConstraint.getConstrainedElements().add(deployment);
+
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+ durationConstraint.getConstrainedElements().add(qualifierValue);
+
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ durationConstraint.getConstrainedElements().add(packageMerge);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ durationConstraint.getConstrainedElements().add(conditionalNode);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ durationConstraint.getConstrainedElements().add(signalEvent);
+
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+ durationConstraint.getConstrainedElements()
+ .add(templateParameterSubstitution);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ durationConstraint.getConstrainedElements()
+ .add(connectionPointReference);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ durationConstraint.getConstrainedElements().add(reclassifyObjectAction);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ durationConstraint.getConstrainedElements().add(usage);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ durationConstraint.getConstrainedElements().add(dataStoreNode);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ durationConstraint.getConstrainedElements().add(executionEnvironment);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ durationConstraint.getConstrainedElements().add(realization);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ durationConstraint.getConstrainedElements().add(testIdentityAction);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ durationConstraint.getConstrainedElements().add(association);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ durationConstraint.getConstrainedElements().add(outputPin);
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ durationConstraint.getConstrainedElements().add(include);
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ durationConstraint.getConstrainedElements().add(extend);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ durationConstraint.getConstrainedElements().add(broadcastSignalAction);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ durationConstraint.getConstrainedElements().add(finalState);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ durationConstraint.getConstrainedElements().add(raiseExceptionAction);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ durationConstraint.getConstrainedElements().add(activityFinalNode);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ durationConstraint.getConstrainedElements().add(protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ durationConstraint.getConstrainedElements().add(loopNode);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ durationConstraint.getConstrainedElements().add(parameterSet);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ durationConstraint.getConstrainedElements()
+ .add(valueSpecificationAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ durationConstraint.getConstrainedElements().add(sequenceNode);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ durationConstraint.getConstrainedElements().add(destroyObjectAction);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ durationConstraint.getConstrainedElements().add(enumerationLiteral);
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ durationConstraint.getConstrainedElements()
+ .add(actionExecutionSpecification);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ durationConstraint.getConstrainedElements().add(functionBehavior);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ durationConstraint.getConstrainedElements().add(instanceSpecification);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ durationConstraint.getConstrainedElements().add(port);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ durationConstraint.getConstrainedElements().add(informationItem);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ durationConstraint.getConstrainedElements().add(literalReal);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ durationConstraint.getConstrainedElements().add(duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ durationConstraint.getConstrainedElements().add(package_);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ durationConstraint.getConstrainedElements()
+ .add(destructionOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ durationConstraint.getConstrainedElements().add(lifeline);
+
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ durationConstraint.getConstrainedElements().add(profileApplication);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ durationConstraint.getConstrainedElements().add(timeObservation);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ durationConstraint.getConstrainedElements().add(replyAction);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ durationConstraint.getConstrainedElements().add(gate);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ durationConstraint.getConstrainedElements().add(timeExpression);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ durationConstraint.getConstrainedElements().add(device);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ durationConstraint.getConstrainedElements().add(flowFinalNode);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ durationConstraint.getConstrainedElements().add(abstraction);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ durationConstraint.getConstrainedElements().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ durationConstraint.getConstrainedElements().add(primitiveType);
+
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+ durationConstraint.getConstrainedElements().add(linkEndDestructionData);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ durationConstraint.getConstrainedElements().add(generalizationSet);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ durationConstraint.getConstrainedElements().add(signal);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ durationConstraint.getConstrainedElements().add(callBehaviorAction);
+
+ Clause clause = UML.createClause();
+ assertValid(clause);
+ durationConstraint.getConstrainedElements().add(clause);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ durationConstraint.getConstrainedElements()
+ .add(readIsClassifiedObjectAction);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ durationConstraint.getConstrainedElements().add(activityParameterNode);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ durationConstraint.getConstrainedElements().add(readVariableAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ durationConstraint.getConstrainedElements()
+ .add(interruptibleActivityRegion);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ durationConstraint.getConstrainedElements()
+ .add(removeStructuralFeatureValueAction);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ durationConstraint.getConstrainedElements().add(region);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ durationConstraint.getConstrainedElements().add(transition);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ durationConstraint.getConstrainedElements().add(anyReceiveEvent);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ durationConstraint.getConstrainedElements().add(reduceAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ durationConstraint.getConstrainedElements().add(acceptEventAction);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ durationConstraint.getConstrainedElements().add(initialNode);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ durationConstraint.getConstrainedElements().add(combinedFragment);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ durationConstraint.getConstrainedElements().add(intervalConstraint);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ durationConstraint.getConstrainedElements()
+ .add(occurrenceSpecification);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ durationConstraint.getConstrainedElements().add(connector);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ durationConstraint.getConstrainedElements().add(componentRealization);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ durationConstraint.getConstrainedElements().add(class_);
+
+ State state = UML.createState();
+ assertValid(state);
+ durationConstraint.getConstrainedElements().add(state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ durationConstraint.getConstrainedElements().add(protocolTransition);
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ durationConstraint.getConstrainedElements()
+ .add(operationTemplateParameter);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ durationConstraint.getConstrainedElements().add(collaborationUse);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ durationConstraint.getConstrainedElements().add(interactionOperand);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ durationConstraint.getConstrainedElements().add(addVariableValueAction);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ durationConstraint.getConstrainedElements().add(useCase);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ durationConstraint.getConstrainedElements().add(unmarshallAction);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ durationConstraint.getConstrainedElements().add(createObjectAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ durationConstraint.getConstrainedElements()
+ .add(readStructuralFeatureAction);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ durationConstraint.getConstrainedElements().add(collaboration);
+ }
+
+ public void testContext() {
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ durationConstraint.setContext(functionBehavior);
+ assertSuperset(durationConstraint.getNamespace() == functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ durationConstraint.setContext(activity);
+ assertSuperset(durationConstraint.getNamespace() == activity);
+
+ DurationConstraint durationConstraint2 = UML.createDurationConstraint();
+ assertValid(durationConstraint2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ durationConstraint2.setContext(interface_);
+ assertSuperset(durationConstraint2.getNamespace() == interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ durationConstraint2.setContext(informationItem);
+ assertSuperset(durationConstraint2.getNamespace() == informationItem);
+
+ DurationConstraint durationConstraint3 = UML.createDurationConstraint();
+ assertValid(durationConstraint3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ durationConstraint3.setContext(communicationPath);
+ assertSuperset(durationConstraint3.getNamespace() == communicationPath);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ durationConstraint3.setContext(region);
+ assertSuperset(durationConstraint3.getNamespace() == region);
+
+ DurationConstraint durationConstraint4 = UML.createDurationConstraint();
+ assertValid(durationConstraint4);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ durationConstraint4.setContext(transition);
+ assertSuperset(durationConstraint4.getNamespace() == transition);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ durationConstraint4.setContext(executionEnvironment);
+ assertSuperset(
+ durationConstraint4.getNamespace() == executionEnvironment);
+
+ DurationConstraint durationConstraint5 = UML.createDurationConstraint();
+ assertValid(durationConstraint5);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ durationConstraint5.setContext(component);
+ assertSuperset(durationConstraint5.getNamespace() == component);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ durationConstraint5.setContext(package_);
+ assertSuperset(durationConstraint5.getNamespace() == package_);
+
+ DurationConstraint durationConstraint6 = UML.createDurationConstraint();
+ assertValid(durationConstraint6);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ durationConstraint6.setContext(interaction);
+ assertSuperset(durationConstraint6.getNamespace() == interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ durationConstraint6.setContext(deploymentSpecification);
+ assertSuperset(
+ durationConstraint6.getNamespace() == deploymentSpecification);
+
+ DurationConstraint durationConstraint7 = UML.createDurationConstraint();
+ assertValid(durationConstraint7);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ durationConstraint7.setContext(opaqueBehavior);
+ assertSuperset(durationConstraint7.getNamespace() == opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ durationConstraint7.setContext(association);
+ assertSuperset(durationConstraint7.getNamespace() == association);
+
+ DurationConstraint durationConstraint8 = UML.createDurationConstraint();
+ assertValid(durationConstraint8);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ durationConstraint8.setContext(operation);
+ assertSuperset(durationConstraint8.getNamespace() == operation);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ durationConstraint8.setContext(dataType);
+ assertSuperset(durationConstraint8.getNamespace() == dataType);
+
+ DurationConstraint durationConstraint9 = UML.createDurationConstraint();
+ assertValid(durationConstraint9);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ durationConstraint9.setContext(model);
+ assertSuperset(durationConstraint9.getNamespace() == model);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ durationConstraint9.setContext(device);
+ assertSuperset(durationConstraint9.getNamespace() == device);
+
+ DurationConstraint durationConstraint10 = UML
+ .createDurationConstraint();
+ assertValid(durationConstraint10);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ durationConstraint10.setContext(extension);
+ assertSuperset(durationConstraint10.getNamespace() == extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ durationConstraint10.setContext(associationClass);
+ assertSuperset(durationConstraint10.getNamespace() == associationClass);
+
+ DurationConstraint durationConstraint11 = UML
+ .createDurationConstraint();
+ assertValid(durationConstraint11);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ durationConstraint11.setContext(expansionRegion);
+ assertSuperset(durationConstraint11.getNamespace() == expansionRegion);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ durationConstraint11.setContext(structuredActivityNode);
+ assertSuperset(
+ durationConstraint11.getNamespace() == structuredActivityNode);
+
+ DurationConstraint durationConstraint12 = UML
+ .createDurationConstraint();
+ assertValid(durationConstraint12);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ durationConstraint12.setContext(finalState);
+ assertSuperset(durationConstraint12.getNamespace() == finalState);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ durationConstraint12.setContext(class_);
+ assertSuperset(durationConstraint12.getNamespace() == class_);
+
+ DurationConstraint durationConstraint13 = UML
+ .createDurationConstraint();
+ assertValid(durationConstraint13);
+
+ State state = UML.createState();
+ assertValid(state);
+ durationConstraint13.setContext(state);
+ assertSuperset(durationConstraint13.getNamespace() == state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ durationConstraint13.setContext(protocolTransition);
+ assertSuperset(
+ durationConstraint13.getNamespace() == protocolTransition);
+
+ DurationConstraint durationConstraint14 = UML
+ .createDurationConstraint();
+ assertValid(durationConstraint14);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ durationConstraint14.setContext(enumeration);
+ assertSuperset(durationConstraint14.getNamespace() == enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ durationConstraint14.setContext(primitiveType);
+ assertSuperset(durationConstraint14.getNamespace() == primitiveType);
+
+ DurationConstraint durationConstraint15 = UML
+ .createDurationConstraint();
+ assertValid(durationConstraint15);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ durationConstraint15.setContext(actor);
+ assertSuperset(durationConstraint15.getNamespace() == actor);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ durationConstraint15.setContext(profile);
+ assertSuperset(durationConstraint15.getNamespace() == profile);
+
+ DurationConstraint durationConstraint16 = UML
+ .createDurationConstraint();
+ assertValid(durationConstraint16);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ durationConstraint16.setContext(protocolStateMachine);
+ assertSuperset(
+ durationConstraint16.getNamespace() == protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ durationConstraint16.setContext(loopNode);
+ assertSuperset(durationConstraint16.getNamespace() == loopNode);
+
+ DurationConstraint durationConstraint17 = UML
+ .createDurationConstraint();
+ assertValid(durationConstraint17);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ durationConstraint17.setContext(interactionOperand);
+ assertSuperset(
+ durationConstraint17.getNamespace() == interactionOperand);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ durationConstraint17.setContext(reception);
+ assertSuperset(durationConstraint17.getNamespace() == reception);
+
+ DurationConstraint durationConstraint18 = UML
+ .createDurationConstraint();
+ assertValid(durationConstraint18);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ durationConstraint18.setContext(useCase);
+ assertSuperset(durationConstraint18.getNamespace() == useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ durationConstraint18.setContext(signal);
+ assertSuperset(durationConstraint18.getNamespace() == signal);
+
+ DurationConstraint durationConstraint19 = UML
+ .createDurationConstraint();
+ assertValid(durationConstraint19);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ durationConstraint19.setContext(node);
+ assertSuperset(durationConstraint19.getNamespace() == node);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ durationConstraint19.setContext(sequenceNode);
+ assertSuperset(durationConstraint19.getNamespace() == sequenceNode);
+
+ DurationConstraint durationConstraint20 = UML
+ .createDurationConstraint();
+ assertValid(durationConstraint20);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ durationConstraint20.setContext(stereotype);
+ assertSuperset(durationConstraint20.getNamespace() == stereotype);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ durationConstraint20.setContext(conditionalNode);
+ assertSuperset(durationConstraint20.getNamespace() == conditionalNode);
+
+ DurationConstraint durationConstraint21 = UML
+ .createDurationConstraint();
+ assertValid(durationConstraint21);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ durationConstraint21.setContext(stateMachine);
+ assertSuperset(durationConstraint21.getNamespace() == stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ durationConstraint21.setContext(artifact);
+ assertSuperset(durationConstraint21.getNamespace() == artifact);
+
+ DurationConstraint durationConstraint22 = UML
+ .createDurationConstraint();
+ assertValid(durationConstraint22);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ durationConstraint22.setContext(collaboration);
+ assertSuperset(durationConstraint22.getNamespace() == collaboration);
+ }
+
+ public void testSpecification() {
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ durationConstraint.setSpecification(durationInterval);
+ assertSuperset(
+ durationConstraint.getOwnedElements().contains(durationInterval));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationIntervalTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationIntervalTest.java
new file mode 100755
index 00000000..bf12a343
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationIntervalTest.java
@@ -0,0 +1,299 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class DurationIntervalTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ durationInterval.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ durationInterval.getOwnedComments().add(comment);
+ assertSuperset(durationInterval.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ EList<Element> elements = durationInterval.getOwnedElements();
+ EList<Element> elements2 = durationInterval.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ EList<Dependency> dependencys = durationInterval
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = durationInterval
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ durationInterval.setNameExpression(stringExpression);
+ assertSuperset(
+ durationInterval.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ durationInterval.setOwningTemplateParameter(templateParameter);
+ assertSuperset(durationInterval.getOwner() == templateParameter);
+ assertSuperset(
+ durationInterval.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ durationInterval.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ durationInterval.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ durationInterval.setType(activity);
+
+ DurationInterval durationInterval2 = UML.createDurationInterval();
+ assertValid(durationInterval2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ durationInterval2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ durationInterval2.setType(informationItem);
+
+ DurationInterval durationInterval3 = UML.createDurationInterval();
+ assertValid(durationInterval3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ durationInterval3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ durationInterval3.setType(executionEnvironment);
+
+ DurationInterval durationInterval4 = UML.createDurationInterval();
+ assertValid(durationInterval4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ durationInterval4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ durationInterval4.setType(interaction);
+
+ DurationInterval durationInterval5 = UML.createDurationInterval();
+ assertValid(durationInterval5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ durationInterval5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ durationInterval5.setType(opaqueBehavior);
+
+ DurationInterval durationInterval6 = UML.createDurationInterval();
+ assertValid(durationInterval6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ durationInterval6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ durationInterval6.setType(dataType);
+
+ DurationInterval durationInterval7 = UML.createDurationInterval();
+ assertValid(durationInterval7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ durationInterval7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ durationInterval7.setType(extension);
+
+ DurationInterval durationInterval8 = UML.createDurationInterval();
+ assertValid(durationInterval8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ durationInterval8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ durationInterval8.setType(class_);
+
+ DurationInterval durationInterval9 = UML.createDurationInterval();
+ assertValid(durationInterval9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ durationInterval9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ durationInterval9.setType(primitiveType);
+
+ DurationInterval durationInterval10 = UML.createDurationInterval();
+ assertValid(durationInterval10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ durationInterval10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ durationInterval10.setType(protocolStateMachine);
+
+ DurationInterval durationInterval11 = UML.createDurationInterval();
+ assertValid(durationInterval11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ durationInterval11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ durationInterval11.setType(signal);
+
+ DurationInterval durationInterval12 = UML.createDurationInterval();
+ assertValid(durationInterval12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ durationInterval12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ durationInterval12.setType(stereotype);
+
+ DurationInterval durationInterval13 = UML.createDurationInterval();
+ assertValid(durationInterval13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ durationInterval13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ durationInterval13.setType(artifact);
+
+ DurationInterval durationInterval14 = UML.createDurationInterval();
+ assertValid(durationInterval14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ durationInterval14.setType(collaboration);
+ }
+
+ public void testMax() {
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ durationInterval.setMax(duration);
+ }
+
+ public void testMin() {
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ durationInterval.setMin(duration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationObservationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationObservationTest.java
new file mode 100755
index 00000000..6457be9d
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationObservationTest.java
@@ -0,0 +1,1225 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class DurationObservationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ durationObservation.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ durationObservation.getOwnedComments().add(comment);
+ assertSuperset(
+ durationObservation.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ EList<Element> elements = durationObservation.getOwnedElements();
+ EList<Element> elements2 = durationObservation.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ EList<Dependency> dependencys = durationObservation
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = durationObservation
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ durationObservation.setNameExpression(stringExpression);
+ assertSuperset(
+ durationObservation.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ durationObservation.setOwningTemplateParameter(templateParameter);
+ assertSuperset(durationObservation.getOwner() == templateParameter);
+ assertSuperset(
+ durationObservation.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ durationObservation.setTemplateParameter(templateParameter);
+ }
+
+ public void testEvent() {
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ durationObservation.getEvents().add(activity);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ durationObservation.getEvents().add(communicationPath);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ durationObservation.getEvents().add(readSelfAction);
+
+ DurationObservation durationObservation2 = UML
+ .createDurationObservation();
+ assertValid(durationObservation2);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ durationObservation2.getEvents().add(activityPartition);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ durationObservation2.getEvents().add(inputPin);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ durationObservation2.getEvents().add(readLinkObjectEndQualifierAction);
+
+ DurationObservation durationObservation3 = UML
+ .createDurationObservation();
+ assertValid(durationObservation3);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ durationObservation3.getEvents().add(component);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ durationObservation3.getEvents().add(manifestation);
+
+ DurationObservation durationObservation4 = UML
+ .createDurationObservation();
+ assertValid(durationObservation4);
+ durationObservation3.getEvents().add(durationObservation4);
+
+ DurationObservation durationObservation5 = UML
+ .createDurationObservation();
+ assertValid(durationObservation5);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ durationObservation5.getEvents().add(callEvent);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ durationObservation5.getEvents().add(joinNode);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ durationObservation5.getEvents().add(interaction);
+
+ DurationObservation durationObservation6 = UML
+ .createDurationObservation();
+ assertValid(durationObservation6);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ durationObservation6.getEvents().add(createLinkObjectAction);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ durationObservation6.getEvents().add(opaqueBehavior);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ durationObservation6.getEvents().add(literalUnlimitedNatural);
+
+ DurationObservation durationObservation7 = UML
+ .createDurationObservation();
+ assertValid(durationObservation7);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ durationObservation7.getEvents().add(sendSignalAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ durationObservation7.getEvents().add(readLinkAction);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ durationObservation7.getEvents().add(operation);
+
+ DurationObservation durationObservation8 = UML
+ .createDurationObservation();
+ assertValid(durationObservation8);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ durationObservation8.getEvents().add(clearAssociationAction);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ durationObservation8.getEvents().add(model);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ durationObservation8.getEvents().add(parameter);
+
+ DurationObservation durationObservation9 = UML
+ .createDurationObservation();
+ assertValid(durationObservation9);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ durationObservation9.getEvents().add(instanceValue);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ durationObservation9.getEvents().add(trigger);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ durationObservation9.getEvents().add(interactionConstraint);
+
+ DurationObservation durationObservation10 = UML
+ .createDurationObservation();
+ assertValid(durationObservation10);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ durationObservation10.getEvents().add(associationClass);
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ durationObservation10.getEvents().add(interactionUse);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ durationObservation10.getEvents().add(clearStructuralFeatureAction);
+
+ DurationObservation durationObservation11 = UML
+ .createDurationObservation();
+ assertValid(durationObservation11);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ durationObservation11.getEvents().add(interval);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ durationObservation11.getEvents().add(structuredActivityNode);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ durationObservation11.getEvents().add(literalString);
+
+ DurationObservation durationObservation12 = UML
+ .createDurationObservation();
+ assertValid(durationObservation12);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ durationObservation12.getEvents().add(valuePin);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ durationObservation12.getEvents().add(interfaceRealization);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ durationObservation12.getEvents().add(forkNode);
+
+ DurationObservation durationObservation13 = UML
+ .createDurationObservation();
+ assertValid(durationObservation13);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ durationObservation13.getEvents().add(decisionNode);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ durationObservation13.getEvents().add(actor);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ durationObservation13.getEvents().add(timeConstraint);
+
+ DurationObservation durationObservation14 = UML
+ .createDurationObservation();
+ assertValid(durationObservation14);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ durationObservation14.getEvents().add(reception);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ durationObservation14.getEvents().add(pseudostate);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ durationObservation14.getEvents().add(durationInterval);
+
+ DurationObservation durationObservation15 = UML
+ .createDurationObservation();
+ assertValid(durationObservation15);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ durationObservation15.getEvents().add(deployment);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ durationObservation15.getEvents().add(extensionEnd);
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ durationObservation15.getEvents().add(considerIgnoreFragment);
+
+ DurationObservation durationObservation16 = UML
+ .createDurationObservation();
+ assertValid(durationObservation16);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ durationObservation16.getEvents().add(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ durationObservation16.getEvents().add(readExtentAction);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ durationObservation16.getEvents().add(actionInputPin);
+
+ DurationObservation durationObservation17 = UML
+ .createDurationObservation();
+ assertValid(durationObservation17);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ durationObservation17.getEvents().add(artifact);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ durationObservation17.getEvents().add(informationFlow);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ durationObservation17.getEvents().add(clearVariableAction);
+
+ DurationObservation durationObservation18 = UML
+ .createDurationObservation();
+ assertValid(durationObservation18);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ durationObservation18.getEvents().add(createLinkAction);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ durationObservation18.getEvents().add(signalEvent);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ durationObservation18.getEvents().add(connectionPointReference);
+
+ DurationObservation durationObservation19 = UML
+ .createDurationObservation();
+ assertValid(durationObservation19);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ durationObservation19.getEvents().add(reclassifyObjectAction);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ durationObservation19.getEvents().add(usage);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ durationObservation19.getEvents().add(dataStoreNode);
+
+ DurationObservation durationObservation20 = UML
+ .createDurationObservation();
+ assertValid(durationObservation20);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ durationObservation20.getEvents().add(executionEnvironment);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ durationObservation20.getEvents().add(sendObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ durationObservation20.getEvents().add(controlFlow);
+
+ DurationObservation durationObservation21 = UML
+ .createDurationObservation();
+ assertValid(durationObservation21);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ durationObservation21.getEvents().add(deploymentSpecification);
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ durationObservation21.getEvents().add(partDecomposition);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ durationObservation21.getEvents().add(destroyLinkAction);
+
+ DurationObservation durationObservation22 = UML
+ .createDurationObservation();
+ assertValid(durationObservation22);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ durationObservation22.getEvents().add(realization);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ durationObservation22.getEvents().add(expansionNode);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ durationObservation22.getEvents().add(testIdentityAction);
+
+ DurationObservation durationObservation23 = UML
+ .createDurationObservation();
+ assertValid(durationObservation23);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ durationObservation23.getEvents().add(association);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ durationObservation23.getEvents().add(timeInterval);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ durationObservation23.getEvents().add(dataType);
+
+ DurationObservation durationObservation24 = UML
+ .createDurationObservation();
+ assertValid(durationObservation24);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ durationObservation24.getEvents().add(outputPin);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ durationObservation24.getEvents().add(substitution);
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ durationObservation24.getEvents().add(include);
+
+ DurationObservation durationObservation25 = UML
+ .createDurationObservation();
+ assertValid(durationObservation25);
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ durationObservation25.getEvents().add(extend);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ durationObservation25.getEvents().add(broadcastSignalAction);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ durationObservation25.getEvents().add(literalBoolean);
+
+ DurationObservation durationObservation26 = UML
+ .createDurationObservation();
+ assertValid(durationObservation26);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ durationObservation26.getEvents().add(finalState);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ durationObservation26.getEvents().add(raiseExceptionAction);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ durationObservation26.getEvents().add(durationConstraint);
+
+ DurationObservation durationObservation27 = UML
+ .createDurationObservation();
+ assertValid(durationObservation27);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ durationObservation27.getEvents().add(activityFinalNode);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ durationObservation27.getEvents().add(literalNull);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ durationObservation27.getEvents().add(callOperationAction);
+
+ DurationObservation durationObservation28 = UML
+ .createDurationObservation();
+ assertValid(durationObservation28);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ durationObservation28.getEvents().add(protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ durationObservation28.getEvents().add(loopNode);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ durationObservation28.getEvents().add(parameterSet);
+
+ DurationObservation durationObservation29 = UML
+ .createDurationObservation();
+ assertValid(durationObservation29);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ durationObservation29.getEvents().add(valueSpecificationAction);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ durationObservation29.getEvents().add(node);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ durationObservation29.getEvents().add(sequenceNode);
+
+ DurationObservation durationObservation30 = UML
+ .createDurationObservation();
+ assertValid(durationObservation30);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ durationObservation30.getEvents().add(constraint);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ durationObservation30.getEvents().add(destroyObjectAction);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ durationObservation30.getEvents().add(stateMachine);
+
+ DurationObservation durationObservation31 = UML
+ .createDurationObservation();
+ assertValid(durationObservation31);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ durationObservation31.getEvents().add(enumerationLiteral);
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ durationObservation31.getEvents().add(actionExecutionSpecification);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ durationObservation31.getEvents().add(functionBehavior);
+
+ DurationObservation durationObservation32 = UML
+ .createDurationObservation();
+ assertValid(durationObservation32);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ durationObservation32.getEvents().add(interface_);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ durationObservation32.getEvents().add(instanceSpecification);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ durationObservation32.getEvents().add(startClassifierBehaviorAction);
+
+ DurationObservation durationObservation33 = UML
+ .createDurationObservation();
+ assertValid(durationObservation33);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ durationObservation33.getEvents().add(port);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ durationObservation33.getEvents().add(removeVariableValueAction);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ durationObservation33.getEvents().add(informationItem);
+
+ DurationObservation durationObservation34 = UML
+ .createDurationObservation();
+ assertValid(durationObservation34);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ durationObservation34.getEvents().add(literalReal);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ durationObservation34.getEvents().add(redefinableTemplateSignature);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ durationObservation34.getEvents().add(executionOccurrenceSpecification);
+
+ DurationObservation durationObservation35 = UML
+ .createDurationObservation();
+ assertValid(durationObservation35);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ durationObservation35.getEvents().add(duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ durationObservation35.getEvents().add(package_);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ durationObservation35.getEvents().add(variable);
+
+ DurationObservation durationObservation36 = UML
+ .createDurationObservation();
+ assertValid(durationObservation36);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ durationObservation36.getEvents()
+ .add(destructionOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ durationObservation36.getEvents().add(lifeline);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ durationObservation36.getEvents().add(timeObservation);
+
+ DurationObservation durationObservation37 = UML
+ .createDurationObservation();
+ assertValid(durationObservation37);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ durationObservation37.getEvents().add(replyAction);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ durationObservation37.getEvents().add(gate);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ durationObservation37.getEvents().add(property);
+
+ DurationObservation durationObservation38 = UML
+ .createDurationObservation();
+ assertValid(durationObservation38);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ durationObservation38.getEvents().add(timeExpression);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ durationObservation38.getEvents().add(device);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ durationObservation38.getEvents().add(flowFinalNode);
+
+ DurationObservation durationObservation39 = UML
+ .createDurationObservation();
+ assertValid(durationObservation39);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ durationObservation39.getEvents().add(expansionRegion);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ durationObservation39.getEvents().add(abstraction);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ durationObservation39.getEvents().add(startObjectBehaviorAction);
+
+ DurationObservation durationObservation40 = UML
+ .createDurationObservation();
+ assertValid(durationObservation40);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ durationObservation40.getEvents().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ durationObservation40.getEvents().add(primitiveType);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ durationObservation40.getEvents().add(profile);
+
+ DurationObservation durationObservation41 = UML
+ .createDurationObservation();
+ assertValid(durationObservation41);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ durationObservation41.getEvents().add(message);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ durationObservation41.getEvents().add(generalizationSet);
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ durationObservation41.getEvents().add(continuation);
+
+ DurationObservation durationObservation42 = UML
+ .createDurationObservation();
+ assertValid(durationObservation42);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ durationObservation42.getEvents().add(signal);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ durationObservation42.getEvents().add(callBehaviorAction);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ durationObservation42.getEvents().add(objectFlow);
+
+ DurationObservation durationObservation43 = UML
+ .createDurationObservation();
+ assertValid(durationObservation43);
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ durationObservation43.getEvents().add(stateInvariant);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ durationObservation43.getEvents().add(readIsClassifiedObjectAction);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ durationObservation43.getEvents().add(activityParameterNode);
+
+ DurationObservation durationObservation44 = UML
+ .createDurationObservation();
+ assertValid(durationObservation44);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ durationObservation44.getEvents().add(addStructuralFeatureValueAction);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ durationObservation44.getEvents().add(readVariableAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ durationObservation44.getEvents().add(interruptibleActivityRegion);
+
+ DurationObservation durationObservation45 = UML
+ .createDurationObservation();
+ assertValid(durationObservation45);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ durationObservation45.getEvents()
+ .add(removeStructuralFeatureValueAction);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ durationObservation45.getEvents().add(opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ durationObservation45.getEvents().add(timeEvent);
+
+ DurationObservation durationObservation46 = UML
+ .createDurationObservation();
+ assertValid(durationObservation46);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ durationObservation46.getEvents().add(generalOrdering);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ durationObservation46.getEvents().add(region);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ durationObservation46.getEvents().add(transition);
+
+ DurationObservation durationObservation47 = UML
+ .createDurationObservation();
+ assertValid(durationObservation47);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ durationObservation47.getEvents().add(anyReceiveEvent);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ durationObservation47.getEvents().add(messageOccurrenceSpecification);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ durationObservation47.getEvents().add(literalInteger);
+
+ DurationObservation durationObservation48 = UML
+ .createDurationObservation();
+ assertValid(durationObservation48);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ durationObservation48.getEvents().add(reduceAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ durationObservation48.getEvents().add(acceptEventAction);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ durationObservation48.getEvents().add(initialNode);
+
+ DurationObservation durationObservation49 = UML
+ .createDurationObservation();
+ assertValid(durationObservation49);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ durationObservation49.getEvents().add(centralBufferNode);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ durationObservation49.getEvents().add(combinedFragment);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ durationObservation49.getEvents().add(intervalConstraint);
+
+ DurationObservation durationObservation50 = UML
+ .createDurationObservation();
+ assertValid(durationObservation50);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ durationObservation50.getEvents().add(extension);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ durationObservation50.getEvents().add(occurrenceSpecification);
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ durationObservation50.getEvents().add(extensionPoint);
+
+ DurationObservation durationObservation51 = UML
+ .createDurationObservation();
+ assertValid(durationObservation51);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ durationObservation51.getEvents().add(dependency);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ durationObservation51.getEvents().add(connector);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ durationObservation51.getEvents().add(expression);
+
+ DurationObservation durationObservation52 = UML
+ .createDurationObservation();
+ assertValid(durationObservation52);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ durationObservation52.getEvents().add(componentRealization);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ durationObservation52.getEvents().add(class_);
+
+ State state = UML.createState();
+ assertValid(state);
+ durationObservation52.getEvents().add(state);
+
+ DurationObservation durationObservation53 = UML
+ .createDurationObservation();
+ assertValid(durationObservation53);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ durationObservation53.getEvents().add(protocolTransition);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ durationObservation53.getEvents().add(behaviorExecutionSpecification);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ durationObservation53.getEvents().add(collaborationUse);
+
+ DurationObservation durationObservation54 = UML
+ .createDurationObservation();
+ assertValid(durationObservation54);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ durationObservation54.getEvents().add(interactionOperand);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ durationObservation54.getEvents().add(acceptCallAction);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ durationObservation54.getEvents().add(addVariableValueAction);
+
+ DurationObservation durationObservation55 = UML
+ .createDurationObservation();
+ assertValid(durationObservation55);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ durationObservation55.getEvents().add(readLinkObjectEndAction);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ durationObservation55.getEvents().add(useCase);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ durationObservation55.getEvents().add(unmarshallAction);
+
+ DurationObservation durationObservation56 = UML
+ .createDurationObservation();
+ assertValid(durationObservation56);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ durationObservation56.getEvents().add(opaqueAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ durationObservation56.getEvents().add(stringExpression);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ durationObservation56.getEvents().add(mergeNode);
+
+ DurationObservation durationObservation57 = UML
+ .createDurationObservation();
+ assertValid(durationObservation57);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ durationObservation57.getEvents().add(changeEvent);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ durationObservation57.getEvents().add(createObjectAction);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ durationObservation57.getEvents().add(stereotype);
+
+ DurationObservation durationObservation58 = UML
+ .createDurationObservation();
+ assertValid(durationObservation58);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ durationObservation58.getEvents().add(readStructuralFeatureAction);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ durationObservation58.getEvents().add(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationTest.java
new file mode 100755
index 00000000..9f0dc155
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/DurationTest.java
@@ -0,0 +1,408 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class DurationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ duration.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ duration.getOwnedComments().add(comment);
+ assertSuperset(duration.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ EList<Element> elements = duration.getOwnedElements();
+ EList<Element> elements2 = duration.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ EList<Dependency> dependencys = duration.getClientDependencies();
+ EList<Dependency> dependencys2 = duration.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ duration.setNameExpression(stringExpression);
+ assertSuperset(duration.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ duration.setOwningTemplateParameter(templateParameter);
+ assertSuperset(duration.getOwner() == templateParameter);
+ assertSuperset(duration.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ duration.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ duration.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ duration.setType(activity);
+
+ Duration duration2 = UML.createDuration();
+ assertValid(duration2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ duration2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ duration2.setType(informationItem);
+
+ Duration duration3 = UML.createDuration();
+ assertValid(duration3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ duration3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ duration3.setType(executionEnvironment);
+
+ Duration duration4 = UML.createDuration();
+ assertValid(duration4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ duration4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ duration4.setType(interaction);
+
+ Duration duration5 = UML.createDuration();
+ assertValid(duration5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ duration5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ duration5.setType(opaqueBehavior);
+
+ Duration duration6 = UML.createDuration();
+ assertValid(duration6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ duration6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ duration6.setType(dataType);
+
+ Duration duration7 = UML.createDuration();
+ assertValid(duration7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ duration7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ duration7.setType(extension);
+
+ Duration duration8 = UML.createDuration();
+ assertValid(duration8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ duration8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ duration8.setType(class_);
+
+ Duration duration9 = UML.createDuration();
+ assertValid(duration9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ duration9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ duration9.setType(primitiveType);
+
+ Duration duration10 = UML.createDuration();
+ assertValid(duration10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ duration10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ duration10.setType(protocolStateMachine);
+
+ Duration duration11 = UML.createDuration();
+ assertValid(duration11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ duration11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ duration11.setType(signal);
+
+ Duration duration12 = UML.createDuration();
+ assertValid(duration12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ duration12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ duration12.setType(stereotype);
+
+ Duration duration13 = UML.createDuration();
+ assertValid(duration13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ duration13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ duration13.setType(artifact);
+
+ Duration duration14 = UML.createDuration();
+ assertValid(duration14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ duration14.setType(collaboration);
+ }
+
+ public void testExpr() {
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ duration.setExpr(literalBoolean);
+ assertSuperset(duration.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ duration.setExpr(interval);
+ assertSuperset(duration.getOwnedElements().contains(interval));
+
+ Duration duration2 = UML.createDuration();
+ assertValid(duration2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ duration2.setExpr(opaqueExpression);
+ assertSuperset(duration2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ duration2.setExpr(expression);
+ assertSuperset(duration2.getOwnedElements().contains(expression));
+
+ Duration duration3 = UML.createDuration();
+ assertValid(duration3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ duration3.setExpr(literalReal);
+ assertSuperset(duration3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ duration3.setExpr(literalString);
+ assertSuperset(duration3.getOwnedElements().contains(literalString));
+
+ Duration duration4 = UML.createDuration();
+ assertValid(duration4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ duration4.setExpr(literalNull);
+ assertSuperset(duration4.getOwnedElements().contains(literalNull));
+
+ Duration duration5 = UML.createDuration();
+ assertValid(duration5);
+ duration4.setExpr(duration5);
+ assertSuperset(duration4.getOwnedElements().contains(duration5));
+
+ Duration duration6 = UML.createDuration();
+ assertValid(duration6);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ duration6.setExpr(literalInteger);
+ assertSuperset(duration6.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ duration6.setExpr(durationInterval);
+ assertSuperset(duration6.getOwnedElements().contains(durationInterval));
+
+ Duration duration7 = UML.createDuration();
+ assertValid(duration7);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ duration7.setExpr(stringExpression);
+ assertSuperset(duration7.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ duration7.setExpr(literalUnlimitedNatural);
+ assertSuperset(
+ duration7.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Duration duration8 = UML.createDuration();
+ assertValid(duration8);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ duration8.setExpr(timeInterval);
+ assertSuperset(duration8.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ duration8.setExpr(timeExpression);
+ assertSuperset(duration8.getOwnedElements().contains(timeExpression));
+
+ Duration duration9 = UML.createDuration();
+ assertValid(duration9);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ duration9.setExpr(instanceValue);
+ assertSuperset(duration9.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testObservation() {
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ duration.getObservations().add(timeObservation);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ duration.getObservations().add(durationObservation);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ElementImportTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ElementImportTest.java
new file mode 100755
index 00000000..15404b48
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ElementImportTest.java
@@ -0,0 +1,974 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ElementImportTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ elementImport.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ elementImport.getOwnedComments().add(comment);
+ assertSuperset(elementImport.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ EList<Element> elements = elementImport.getOwnedElements();
+ EList<Element> elements2 = elementImport.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testRelatedElement() {
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ EList<Element> elements = elementImport.getRelatedElements();
+ EList<Element> elements2 = elementImport.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ EList<Element> elements = elementImport.getSources();
+ EList<Element> elements2 = elementImport.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ EList<Element> elements = elementImport.getTargets();
+ EList<Element> elements2 = elementImport.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testImportedElement() {
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ elementImport.setImportedElement(functionBehavior);
+ assertSuperset(elementImport.getTargets().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ elementImport.setImportedElement(activity);
+ assertSuperset(elementImport.getTargets().contains(activity));
+
+ ElementImport elementImport2 = UML.createElementImport();
+ assertValid(elementImport2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ elementImport2.setImportedElement(interface_);
+ assertSuperset(elementImport2.getTargets().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ elementImport2.setImportedElement(instanceSpecification);
+ assertSuperset(
+ elementImport2.getTargets().contains(instanceSpecification));
+
+ ElementImport elementImport3 = UML.createElementImport();
+ assertValid(elementImport3);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ elementImport3.setImportedElement(informationItem);
+ assertSuperset(elementImport3.getTargets().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ elementImport3.setImportedElement(communicationPath);
+ assertSuperset(elementImport3.getTargets().contains(communicationPath));
+
+ ElementImport elementImport4 = UML.createElementImport();
+ assertValid(elementImport4);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ elementImport4.setImportedElement(literalReal);
+ assertSuperset(elementImport4.getTargets().contains(literalReal));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ elementImport4.setImportedElement(component);
+ assertSuperset(elementImport4.getTargets().contains(component));
+
+ ElementImport elementImport5 = UML.createElementImport();
+ assertValid(elementImport5);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ elementImport5.setImportedElement(duration);
+ assertSuperset(elementImport5.getTargets().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ elementImport5.setImportedElement(package_);
+ assertSuperset(elementImport5.getTargets().contains(package_));
+
+ ElementImport elementImport6 = UML.createElementImport();
+ assertValid(elementImport6);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ elementImport6.setImportedElement(manifestation);
+ assertSuperset(elementImport6.getTargets().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ elementImport6.setImportedElement(durationObservation);
+ assertSuperset(
+ elementImport6.getTargets().contains(durationObservation));
+
+ ElementImport elementImport7 = UML.createElementImport();
+ assertValid(elementImport7);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ elementImport7.setImportedElement(callEvent);
+ assertSuperset(elementImport7.getTargets().contains(callEvent));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ elementImport7.setImportedElement(interaction);
+ assertSuperset(elementImport7.getTargets().contains(interaction));
+
+ ElementImport elementImport8 = UML.createElementImport();
+ assertValid(elementImport8);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ elementImport8.setImportedElement(opaqueBehavior);
+ assertSuperset(elementImport8.getTargets().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ elementImport8.setImportedElement(literalUnlimitedNatural);
+ assertSuperset(
+ elementImport8.getTargets().contains(literalUnlimitedNatural));
+
+ ElementImport elementImport9 = UML.createElementImport();
+ assertValid(elementImport9);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ elementImport9.setImportedElement(timeObservation);
+ assertSuperset(elementImport9.getTargets().contains(timeObservation));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ elementImport9.setImportedElement(model);
+ assertSuperset(elementImport9.getTargets().contains(model));
+
+ ElementImport elementImport10 = UML.createElementImport();
+ assertValid(elementImport10);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ elementImport10.setImportedElement(timeExpression);
+ assertSuperset(elementImport10.getTargets().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ elementImport10.setImportedElement(device);
+ assertSuperset(elementImport10.getTargets().contains(device));
+
+ ElementImport elementImport11 = UML.createElementImport();
+ assertValid(elementImport11);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ elementImport11.setImportedElement(instanceValue);
+ assertSuperset(elementImport11.getTargets().contains(instanceValue));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ elementImport11.setImportedElement(interactionConstraint);
+ assertSuperset(
+ elementImport11.getTargets().contains(interactionConstraint));
+
+ ElementImport elementImport12 = UML.createElementImport();
+ assertValid(elementImport12);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ elementImport12.setImportedElement(associationClass);
+ assertSuperset(elementImport12.getTargets().contains(associationClass));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ elementImport12.setImportedElement(interval);
+ assertSuperset(elementImport12.getTargets().contains(interval));
+
+ ElementImport elementImport13 = UML.createElementImport();
+ assertValid(elementImport13);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ elementImport13.setImportedElement(abstraction);
+ assertSuperset(elementImport13.getTargets().contains(abstraction));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ elementImport13.setImportedElement(literalString);
+ assertSuperset(elementImport13.getTargets().contains(literalString));
+
+ ElementImport elementImport14 = UML.createElementImport();
+ assertValid(elementImport14);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ elementImport14.setImportedElement(interfaceRealization);
+ assertSuperset(
+ elementImport14.getTargets().contains(interfaceRealization));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ elementImport14.setImportedElement(enumeration);
+ assertSuperset(elementImport14.getTargets().contains(enumeration));
+
+ ElementImport elementImport15 = UML.createElementImport();
+ assertValid(elementImport15);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ elementImport15.setImportedElement(primitiveType);
+ assertSuperset(elementImport15.getTargets().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ elementImport15.setImportedElement(actor);
+ assertSuperset(elementImport15.getTargets().contains(actor));
+
+ ElementImport elementImport16 = UML.createElementImport();
+ assertValid(elementImport16);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ elementImport16.setImportedElement(profile);
+ assertSuperset(elementImport16.getTargets().contains(profile));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ elementImport16.setImportedElement(timeConstraint);
+ assertSuperset(elementImport16.getTargets().contains(timeConstraint));
+
+ ElementImport elementImport17 = UML.createElementImport();
+ assertValid(elementImport17);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ elementImport17.setImportedElement(durationInterval);
+ assertSuperset(elementImport17.getTargets().contains(durationInterval));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ elementImport17.setImportedElement(generalizationSet);
+ assertSuperset(
+ elementImport17.getTargets().contains(generalizationSet));
+
+ ElementImport elementImport18 = UML.createElementImport();
+ assertValid(elementImport18);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ elementImport18.setImportedElement(signal);
+ assertSuperset(elementImport18.getTargets().contains(signal));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ elementImport18.setImportedElement(deployment);
+ assertSuperset(elementImport18.getTargets().contains(deployment));
+
+ ElementImport elementImport19 = UML.createElementImport();
+ assertValid(elementImport19);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ elementImport19.setImportedElement(artifact);
+ assertSuperset(elementImport19.getTargets().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ elementImport19.setImportedElement(informationFlow);
+ assertSuperset(elementImport19.getTargets().contains(informationFlow));
+
+ ElementImport elementImport20 = UML.createElementImport();
+ assertValid(elementImport20);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ elementImport20.setImportedElement(signalEvent);
+ assertSuperset(elementImport20.getTargets().contains(signalEvent));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ elementImport20.setImportedElement(opaqueExpression);
+ assertSuperset(elementImport20.getTargets().contains(opaqueExpression));
+
+ ElementImport elementImport21 = UML.createElementImport();
+ assertValid(elementImport21);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ elementImport21.setImportedElement(timeEvent);
+ assertSuperset(elementImport21.getTargets().contains(timeEvent));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ elementImport21.setImportedElement(usage);
+ assertSuperset(elementImport21.getTargets().contains(usage));
+
+ ElementImport elementImport22 = UML.createElementImport();
+ assertValid(elementImport22);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ elementImport22.setImportedElement(anyReceiveEvent);
+ assertSuperset(elementImport22.getTargets().contains(anyReceiveEvent));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ elementImport22.setImportedElement(executionEnvironment);
+ assertSuperset(
+ elementImport22.getTargets().contains(executionEnvironment));
+
+ ElementImport elementImport23 = UML.createElementImport();
+ assertValid(elementImport23);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ elementImport23.setImportedElement(literalInteger);
+ assertSuperset(elementImport23.getTargets().contains(literalInteger));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ elementImport23.setImportedElement(deploymentSpecification);
+ assertSuperset(
+ elementImport23.getTargets().contains(deploymentSpecification));
+
+ ElementImport elementImport24 = UML.createElementImport();
+ assertValid(elementImport24);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ elementImport24.setImportedElement(realization);
+ assertSuperset(elementImport24.getTargets().contains(realization));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ elementImport24.setImportedElement(association);
+ assertSuperset(elementImport24.getTargets().contains(association));
+
+ ElementImport elementImport25 = UML.createElementImport();
+ assertValid(elementImport25);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ elementImport25.setImportedElement(timeInterval);
+ assertSuperset(elementImport25.getTargets().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ elementImport25.setImportedElement(dataType);
+ assertSuperset(elementImport25.getTargets().contains(dataType));
+
+ ElementImport elementImport26 = UML.createElementImport();
+ assertValid(elementImport26);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ elementImport26.setImportedElement(substitution);
+ assertSuperset(elementImport26.getTargets().contains(substitution));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ elementImport26.setImportedElement(intervalConstraint);
+ assertSuperset(
+ elementImport26.getTargets().contains(intervalConstraint));
+
+ ElementImport elementImport27 = UML.createElementImport();
+ assertValid(elementImport27);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ elementImport27.setImportedElement(extension);
+ assertSuperset(elementImport27.getTargets().contains(extension));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ elementImport27.setImportedElement(literalBoolean);
+ assertSuperset(elementImport27.getTargets().contains(literalBoolean));
+
+ ElementImport elementImport28 = UML.createElementImport();
+ assertValid(elementImport28);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ elementImport28.setImportedElement(dependency);
+ assertSuperset(elementImport28.getTargets().contains(dependency));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ elementImport28.setImportedElement(expression);
+ assertSuperset(elementImport28.getTargets().contains(expression));
+
+ ElementImport elementImport29 = UML.createElementImport();
+ assertValid(elementImport29);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ elementImport29.setImportedElement(componentRealization);
+ assertSuperset(
+ elementImport29.getTargets().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ elementImport29.setImportedElement(class_);
+ assertSuperset(elementImport29.getTargets().contains(class_));
+
+ ElementImport elementImport30 = UML.createElementImport();
+ assertValid(elementImport30);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ elementImport30.setImportedElement(durationConstraint);
+ assertSuperset(
+ elementImport30.getTargets().contains(durationConstraint));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ elementImport30.setImportedElement(literalNull);
+ assertSuperset(elementImport30.getTargets().contains(literalNull));
+
+ ElementImport elementImport31 = UML.createElementImport();
+ assertValid(elementImport31);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ elementImport31.setImportedElement(protocolStateMachine);
+ assertSuperset(
+ elementImport31.getTargets().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ elementImport31.setImportedElement(useCase);
+ assertSuperset(elementImport31.getTargets().contains(useCase));
+
+ ElementImport elementImport32 = UML.createElementImport();
+ assertValid(elementImport32);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ elementImport32.setImportedElement(stringExpression);
+ assertSuperset(elementImport32.getTargets().contains(stringExpression));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ elementImport32.setImportedElement(node);
+ assertSuperset(elementImport32.getTargets().contains(node));
+
+ ElementImport elementImport33 = UML.createElementImport();
+ assertValid(elementImport33);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ elementImport33.setImportedElement(changeEvent);
+ assertSuperset(elementImport33.getTargets().contains(changeEvent));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ elementImport33.setImportedElement(constraint);
+ assertSuperset(elementImport33.getTargets().contains(constraint));
+
+ ElementImport elementImport34 = UML.createElementImport();
+ assertValid(elementImport34);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ elementImport34.setImportedElement(stereotype);
+ assertSuperset(elementImport34.getTargets().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ elementImport34.setImportedElement(stateMachine);
+ assertSuperset(elementImport34.getTargets().contains(stateMachine));
+
+ ElementImport elementImport35 = UML.createElementImport();
+ assertValid(elementImport35);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ elementImport35.setImportedElement(enumerationLiteral);
+ assertSuperset(
+ elementImport35.getTargets().contains(enumerationLiteral));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ elementImport35.setImportedElement(collaboration);
+ assertSuperset(elementImport35.getTargets().contains(collaboration));
+ }
+
+ public void testImportingNamespace() {
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ elementImport.setImportingNamespace(functionBehavior);
+ assertSuperset(elementImport.getSources().contains(functionBehavior));
+ assertSuperset(elementImport.getOwner() == functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ elementImport.setImportingNamespace(activity);
+ assertSuperset(elementImport.getSources().contains(activity));
+ assertSuperset(elementImport.getOwner() == activity);
+
+ ElementImport elementImport2 = UML.createElementImport();
+ assertValid(elementImport2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ elementImport2.setImportingNamespace(interface_);
+ assertSuperset(elementImport2.getSources().contains(interface_));
+ assertSuperset(elementImport2.getOwner() == interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ elementImport2.setImportingNamespace(informationItem);
+ assertSuperset(elementImport2.getSources().contains(informationItem));
+ assertSuperset(elementImport2.getOwner() == informationItem);
+
+ ElementImport elementImport3 = UML.createElementImport();
+ assertValid(elementImport3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ elementImport3.setImportingNamespace(communicationPath);
+ assertSuperset(elementImport3.getSources().contains(communicationPath));
+ assertSuperset(elementImport3.getOwner() == communicationPath);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ elementImport3.setImportingNamespace(region);
+ assertSuperset(elementImport3.getSources().contains(region));
+ assertSuperset(elementImport3.getOwner() == region);
+
+ ElementImport elementImport4 = UML.createElementImport();
+ assertValid(elementImport4);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ elementImport4.setImportingNamespace(transition);
+ assertSuperset(elementImport4.getSources().contains(transition));
+ assertSuperset(elementImport4.getOwner() == transition);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ elementImport4.setImportingNamespace(executionEnvironment);
+ assertSuperset(
+ elementImport4.getSources().contains(executionEnvironment));
+ assertSuperset(elementImport4.getOwner() == executionEnvironment);
+
+ ElementImport elementImport5 = UML.createElementImport();
+ assertValid(elementImport5);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ elementImport5.setImportingNamespace(component);
+ assertSuperset(elementImport5.getSources().contains(component));
+ assertSuperset(elementImport5.getOwner() == component);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ elementImport5.setImportingNamespace(package_);
+ assertSuperset(elementImport5.getSources().contains(package_));
+ assertSuperset(elementImport5.getOwner() == package_);
+
+ ElementImport elementImport6 = UML.createElementImport();
+ assertValid(elementImport6);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ elementImport6.setImportingNamespace(interaction);
+ assertSuperset(elementImport6.getSources().contains(interaction));
+ assertSuperset(elementImport6.getOwner() == interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ elementImport6.setImportingNamespace(deploymentSpecification);
+ assertSuperset(
+ elementImport6.getSources().contains(deploymentSpecification));
+ assertSuperset(elementImport6.getOwner() == deploymentSpecification);
+
+ ElementImport elementImport7 = UML.createElementImport();
+ assertValid(elementImport7);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ elementImport7.setImportingNamespace(opaqueBehavior);
+ assertSuperset(elementImport7.getSources().contains(opaqueBehavior));
+ assertSuperset(elementImport7.getOwner() == opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ elementImport7.setImportingNamespace(association);
+ assertSuperset(elementImport7.getSources().contains(association));
+ assertSuperset(elementImport7.getOwner() == association);
+
+ ElementImport elementImport8 = UML.createElementImport();
+ assertValid(elementImport8);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ elementImport8.setImportingNamespace(operation);
+ assertSuperset(elementImport8.getSources().contains(operation));
+ assertSuperset(elementImport8.getOwner() == operation);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ elementImport8.setImportingNamespace(dataType);
+ assertSuperset(elementImport8.getSources().contains(dataType));
+ assertSuperset(elementImport8.getOwner() == dataType);
+
+ ElementImport elementImport9 = UML.createElementImport();
+ assertValid(elementImport9);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ elementImport9.setImportingNamespace(model);
+ assertSuperset(elementImport9.getSources().contains(model));
+ assertSuperset(elementImport9.getOwner() == model);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ elementImport9.setImportingNamespace(device);
+ assertSuperset(elementImport9.getSources().contains(device));
+ assertSuperset(elementImport9.getOwner() == device);
+
+ ElementImport elementImport10 = UML.createElementImport();
+ assertValid(elementImport10);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ elementImport10.setImportingNamespace(extension);
+ assertSuperset(elementImport10.getSources().contains(extension));
+ assertSuperset(elementImport10.getOwner() == extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ elementImport10.setImportingNamespace(associationClass);
+ assertSuperset(elementImport10.getSources().contains(associationClass));
+ assertSuperset(elementImport10.getOwner() == associationClass);
+
+ ElementImport elementImport11 = UML.createElementImport();
+ assertValid(elementImport11);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ elementImport11.setImportingNamespace(expansionRegion);
+ assertSuperset(elementImport11.getSources().contains(expansionRegion));
+ assertSuperset(elementImport11.getOwner() == expansionRegion);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ elementImport11.setImportingNamespace(structuredActivityNode);
+ assertSuperset(
+ elementImport11.getSources().contains(structuredActivityNode));
+ assertSuperset(elementImport11.getOwner() == structuredActivityNode);
+
+ ElementImport elementImport12 = UML.createElementImport();
+ assertValid(elementImport12);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ elementImport12.setImportingNamespace(finalState);
+ assertSuperset(elementImport12.getSources().contains(finalState));
+ assertSuperset(elementImport12.getOwner() == finalState);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ elementImport12.setImportingNamespace(class_);
+ assertSuperset(elementImport12.getSources().contains(class_));
+ assertSuperset(elementImport12.getOwner() == class_);
+
+ ElementImport elementImport13 = UML.createElementImport();
+ assertValid(elementImport13);
+
+ State state = UML.createState();
+ assertValid(state);
+ elementImport13.setImportingNamespace(state);
+ assertSuperset(elementImport13.getSources().contains(state));
+ assertSuperset(elementImport13.getOwner() == state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ elementImport13.setImportingNamespace(protocolTransition);
+ assertSuperset(
+ elementImport13.getSources().contains(protocolTransition));
+ assertSuperset(elementImport13.getOwner() == protocolTransition);
+
+ ElementImport elementImport14 = UML.createElementImport();
+ assertValid(elementImport14);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ elementImport14.setImportingNamespace(enumeration);
+ assertSuperset(elementImport14.getSources().contains(enumeration));
+ assertSuperset(elementImport14.getOwner() == enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ elementImport14.setImportingNamespace(primitiveType);
+ assertSuperset(elementImport14.getSources().contains(primitiveType));
+ assertSuperset(elementImport14.getOwner() == primitiveType);
+
+ ElementImport elementImport15 = UML.createElementImport();
+ assertValid(elementImport15);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ elementImport15.setImportingNamespace(actor);
+ assertSuperset(elementImport15.getSources().contains(actor));
+ assertSuperset(elementImport15.getOwner() == actor);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ elementImport15.setImportingNamespace(profile);
+ assertSuperset(elementImport15.getSources().contains(profile));
+ assertSuperset(elementImport15.getOwner() == profile);
+
+ ElementImport elementImport16 = UML.createElementImport();
+ assertValid(elementImport16);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ elementImport16.setImportingNamespace(protocolStateMachine);
+ assertSuperset(
+ elementImport16.getSources().contains(protocolStateMachine));
+ assertSuperset(elementImport16.getOwner() == protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ elementImport16.setImportingNamespace(loopNode);
+ assertSuperset(elementImport16.getSources().contains(loopNode));
+ assertSuperset(elementImport16.getOwner() == loopNode);
+
+ ElementImport elementImport17 = UML.createElementImport();
+ assertValid(elementImport17);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ elementImport17.setImportingNamespace(interactionOperand);
+ assertSuperset(
+ elementImport17.getSources().contains(interactionOperand));
+ assertSuperset(elementImport17.getOwner() == interactionOperand);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ elementImport17.setImportingNamespace(reception);
+ assertSuperset(elementImport17.getSources().contains(reception));
+ assertSuperset(elementImport17.getOwner() == reception);
+
+ ElementImport elementImport18 = UML.createElementImport();
+ assertValid(elementImport18);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ elementImport18.setImportingNamespace(useCase);
+ assertSuperset(elementImport18.getSources().contains(useCase));
+ assertSuperset(elementImport18.getOwner() == useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ elementImport18.setImportingNamespace(signal);
+ assertSuperset(elementImport18.getSources().contains(signal));
+ assertSuperset(elementImport18.getOwner() == signal);
+
+ ElementImport elementImport19 = UML.createElementImport();
+ assertValid(elementImport19);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ elementImport19.setImportingNamespace(node);
+ assertSuperset(elementImport19.getSources().contains(node));
+ assertSuperset(elementImport19.getOwner() == node);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ elementImport19.setImportingNamespace(sequenceNode);
+ assertSuperset(elementImport19.getSources().contains(sequenceNode));
+ assertSuperset(elementImport19.getOwner() == sequenceNode);
+
+ ElementImport elementImport20 = UML.createElementImport();
+ assertValid(elementImport20);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ elementImport20.setImportingNamespace(stereotype);
+ assertSuperset(elementImport20.getSources().contains(stereotype));
+ assertSuperset(elementImport20.getOwner() == stereotype);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ elementImport20.setImportingNamespace(conditionalNode);
+ assertSuperset(elementImport20.getSources().contains(conditionalNode));
+ assertSuperset(elementImport20.getOwner() == conditionalNode);
+
+ ElementImport elementImport21 = UML.createElementImport();
+ assertValid(elementImport21);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ elementImport21.setImportingNamespace(stateMachine);
+ assertSuperset(elementImport21.getSources().contains(stateMachine));
+ assertSuperset(elementImport21.getOwner() == stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ elementImport21.setImportingNamespace(artifact);
+ assertSuperset(elementImport21.getSources().contains(artifact));
+ assertSuperset(elementImport21.getOwner() == artifact);
+
+ ElementImport elementImport22 = UML.createElementImport();
+ assertValid(elementImport22);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ elementImport22.setImportingNamespace(collaboration);
+ assertSuperset(elementImport22.getSources().contains(collaboration));
+ assertSuperset(elementImport22.getOwner() == collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/EnumerationLiteralTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/EnumerationLiteralTest.java
new file mode 100755
index 00000000..be2c730d
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/EnumerationLiteralTest.java
@@ -0,0 +1,418 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class EnumerationLiteralTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ enumerationLiteral.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ enumerationLiteral.getOwnedComments().add(comment);
+ assertSuperset(enumerationLiteral.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ EList<Element> elements = enumerationLiteral.getOwnedElements();
+ EList<Element> elements2 = enumerationLiteral.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ EList<Dependency> dependencys = enumerationLiteral
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = enumerationLiteral
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ enumerationLiteral.setNameExpression(stringExpression);
+ assertSuperset(
+ enumerationLiteral.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testDeployedElement() {
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ EList<PackageableElement> packageableElements = enumerationLiteral
+ .getDeployedElements();
+ EList<PackageableElement> packageableElements2 = enumerationLiteral
+ .getDeployedElements();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testDeployment() {
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ enumerationLiteral.getDeployments().add(deployment);
+ assertSuperset(
+ enumerationLiteral.getOwnedElements().contains(deployment));
+ assertSuperset(
+ enumerationLiteral.getClientDependencies().contains(deployment));
+ }
+
+ public void testOwningTemplateParameter() {
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ enumerationLiteral.setOwningTemplateParameter(templateParameter);
+ assertSuperset(enumerationLiteral.getOwner() == templateParameter);
+ assertSuperset(
+ enumerationLiteral.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ enumerationLiteral.setTemplateParameter(templateParameter);
+ }
+
+ public void testClassifier() {
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ enumerationLiteral.getClassifiers().add(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ enumerationLiteral.getClassifiers().add(activity);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ enumerationLiteral.getClassifiers().add(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ enumerationLiteral.getClassifiers().add(informationItem);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ enumerationLiteral.getClassifiers().add(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ enumerationLiteral.getClassifiers().add(executionEnvironment);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ enumerationLiteral.getClassifiers().add(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ enumerationLiteral.getClassifiers().add(interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ enumerationLiteral.getClassifiers().add(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ enumerationLiteral.getClassifiers().add(opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ enumerationLiteral.getClassifiers().add(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ enumerationLiteral.getClassifiers().add(dataType);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ enumerationLiteral.getClassifiers().add(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ enumerationLiteral.getClassifiers().add(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ enumerationLiteral.getClassifiers().add(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ enumerationLiteral.getClassifiers().add(class_);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ enumerationLiteral.getClassifiers().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ enumerationLiteral.getClassifiers().add(primitiveType);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ enumerationLiteral.getClassifiers().add(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ enumerationLiteral.getClassifiers().add(protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ enumerationLiteral.getClassifiers().add(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ enumerationLiteral.getClassifiers().add(signal);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ enumerationLiteral.getClassifiers().add(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ enumerationLiteral.getClassifiers().add(stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ enumerationLiteral.getClassifiers().add(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ enumerationLiteral.getClassifiers().add(artifact);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ enumerationLiteral.getClassifiers().add(collaboration);
+ }
+
+ public void testSlot() {
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+ enumerationLiteral.getSlots().add(slot);
+ assertSuperset(enumerationLiteral.getOwnedElements().contains(slot));
+ }
+
+ public void testSpecification() {
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ enumerationLiteral.setSpecification(literalBoolean);
+ assertSuperset(
+ enumerationLiteral.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ enumerationLiteral.setSpecification(interval);
+ assertSuperset(
+ enumerationLiteral.getOwnedElements().contains(interval));
+
+ EnumerationLiteral enumerationLiteral2 = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ enumerationLiteral2.setSpecification(opaqueExpression);
+ assertSuperset(
+ enumerationLiteral2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ enumerationLiteral2.setSpecification(expression);
+ assertSuperset(
+ enumerationLiteral2.getOwnedElements().contains(expression));
+
+ EnumerationLiteral enumerationLiteral3 = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ enumerationLiteral3.setSpecification(literalReal);
+ assertSuperset(
+ enumerationLiteral3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ enumerationLiteral3.setSpecification(literalString);
+ assertSuperset(
+ enumerationLiteral3.getOwnedElements().contains(literalString));
+
+ EnumerationLiteral enumerationLiteral4 = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ enumerationLiteral4.setSpecification(literalNull);
+ assertSuperset(
+ enumerationLiteral4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ enumerationLiteral4.setSpecification(duration);
+ assertSuperset(
+ enumerationLiteral4.getOwnedElements().contains(duration));
+
+ EnumerationLiteral enumerationLiteral5 = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ enumerationLiteral5.setSpecification(literalInteger);
+ assertSuperset(
+ enumerationLiteral5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ enumerationLiteral5.setSpecification(durationInterval);
+ assertSuperset(
+ enumerationLiteral5.getOwnedElements().contains(durationInterval));
+
+ EnumerationLiteral enumerationLiteral6 = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ enumerationLiteral6.setSpecification(stringExpression);
+ assertSuperset(
+ enumerationLiteral6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ enumerationLiteral6.setSpecification(literalUnlimitedNatural);
+ assertSuperset(enumerationLiteral6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ EnumerationLiteral enumerationLiteral7 = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ enumerationLiteral7.setSpecification(timeInterval);
+ assertSuperset(
+ enumerationLiteral7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ enumerationLiteral7.setSpecification(timeExpression);
+ assertSuperset(
+ enumerationLiteral7.getOwnedElements().contains(timeExpression));
+
+ EnumerationLiteral enumerationLiteral8 = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ enumerationLiteral8.setSpecification(instanceValue);
+ assertSuperset(
+ enumerationLiteral8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testEnumeration() {
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ enumerationLiteral.setEnumeration(enumeration);
+ assertSuperset(enumerationLiteral.getNamespace() == enumeration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/EnumerationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/EnumerationTest.java
new file mode 100755
index 00000000..77be805f
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/EnumerationTest.java
@@ -0,0 +1,574 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class EnumerationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ enumeration.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ enumeration.getOwnedComments().add(comment);
+ assertSuperset(enumeration.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ EList<Element> elements = enumeration.getOwnedElements();
+ EList<Element> elements2 = enumeration.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ EList<Dependency> dependencys = enumeration.getClientDependencies();
+ EList<Dependency> dependencys2 = enumeration.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ enumeration.setNameExpression(stringExpression);
+ assertSuperset(
+ enumeration.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ enumeration.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ enumeration.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ enumeration.getOwnedRules().add(timeConstraint);
+ assertSuperset(enumeration.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ enumeration.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ enumeration.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ enumeration.getOwnedRules().add(constraint);
+ assertSuperset(enumeration.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ enumeration.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ enumeration.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ enumeration.getElementImports().add(elementImport);
+ assertSuperset(enumeration.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ enumeration.getPackageImports().add(packageImport);
+ assertSuperset(enumeration.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ EList<NamedElement> namedElements = enumeration.getOwnedMembers();
+ EList<NamedElement> namedElements2 = enumeration.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ EList<PackageableElement> packageableElements = enumeration
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = enumeration
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ EList<NamedElement> namedElements = enumeration.getMembers();
+ EList<NamedElement> namedElements2 = enumeration.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ EList<RedefinableElement> redefinableElements = enumeration
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = enumeration
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ EList<Classifier> classifiers = enumeration.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = enumeration.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ enumeration.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(enumeration.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ enumeration.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ enumeration.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ enumeration.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ enumeration.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ enumeration.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(enumeration.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ EList<Feature> features = enumeration.getFeatures();
+ EList<Feature> features2 = enumeration.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ EList<Property> propertys = enumeration.getAttributes();
+ EList<Property> propertys2 = enumeration.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ enumeration.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ enumeration.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ EList<Classifier> classifiers = enumeration.getGenerals();
+ EList<Classifier> classifiers2 = enumeration.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ enumeration.getGeneralizations().add(generalization);
+ assertSuperset(enumeration.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ enumeration.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ EList<NamedElement> namedElements = enumeration.getInheritedMembers();
+ EList<NamedElement> namedElements2 = enumeration.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ enumeration.getOwnedUseCases().add(useCase);
+ assertSuperset(enumeration.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ enumeration.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ enumeration.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ enumeration.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ enumeration.getRedefinedClassifiers().add(activity);
+ assertSuperset(enumeration.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ enumeration.getRedefinedClassifiers().add(interface_);
+ assertSuperset(enumeration.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ enumeration.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ enumeration.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ enumeration.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ enumeration.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ enumeration.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ enumeration.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ enumeration.getRedefinedClassifiers().add(component);
+ assertSuperset(enumeration.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ enumeration.getRedefinedClassifiers().add(interaction);
+ assertSuperset(
+ enumeration.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ enumeration.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(enumeration.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ enumeration.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ enumeration.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ enumeration.getRedefinedClassifiers().add(association);
+ assertSuperset(
+ enumeration.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ enumeration.getRedefinedClassifiers().add(dataType);
+ assertSuperset(enumeration.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ enumeration.getRedefinedClassifiers().add(device);
+ assertSuperset(enumeration.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ enumeration.getRedefinedClassifiers().add(extension);
+ assertSuperset(enumeration.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ enumeration.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ enumeration.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ enumeration.getRedefinedClassifiers().add(class_);
+ assertSuperset(enumeration.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration2 = UML.createEnumeration();
+ assertValid(enumeration2);
+ enumeration.getRedefinedClassifiers().add(enumeration2);
+ assertSuperset(
+ enumeration.getRedefinedElements().contains(enumeration2));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ enumeration.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ enumeration.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ enumeration.getRedefinedClassifiers().add(actor);
+ assertSuperset(enumeration.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ enumeration.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ enumeration.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ enumeration.getRedefinedClassifiers().add(useCase);
+ assertSuperset(enumeration.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ enumeration.getRedefinedClassifiers().add(signal);
+ assertSuperset(enumeration.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ enumeration.getRedefinedClassifiers().add(node);
+ assertSuperset(enumeration.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ enumeration.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(enumeration.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ enumeration.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ enumeration.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ enumeration.getRedefinedClassifiers().add(artifact);
+ assertSuperset(enumeration.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ enumeration.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ enumeration.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ enumeration.setRepresentation(collaborationUse);
+ assertSuperset(
+ enumeration.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ enumeration.getSubstitutions().add(substitution);
+ assertSuperset(enumeration.getOwnedElements().contains(substitution));
+ assertSuperset(
+ enumeration.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ enumeration.getOwnedAttributes().add(port);
+ assertSuperset(enumeration.getAttributes().contains(port));
+ assertSuperset(enumeration.getOwnedMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ enumeration.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(enumeration.getAttributes().contains(extensionEnd));
+ assertSuperset(enumeration.getOwnedMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ enumeration.getOwnedAttributes().add(property);
+ assertSuperset(enumeration.getAttributes().contains(property));
+ assertSuperset(enumeration.getOwnedMembers().contains(property));
+ }
+
+ public void testOwnedOperation() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ enumeration.getOwnedOperations().add(operation);
+ assertSuperset(enumeration.getFeatures().contains(operation));
+ assertSuperset(enumeration.getOwnedMembers().contains(operation));
+ }
+
+ public void testOwnedLiteral() {
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ enumeration.getOwnedLiterals().add(enumerationLiteral);
+ assertSuperset(
+ enumeration.getOwnedMembers().contains(enumerationLiteral));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExceptionHandlerTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExceptionHandlerTest.java
new file mode 100755
index 00000000..23905f82
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExceptionHandlerTest.java
@@ -0,0 +1,854 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ExceptionHandlerTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ exceptionHandler.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ exceptionHandler.getOwnedComments().add(comment);
+ assertSuperset(exceptionHandler.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ EList<Element> elements = exceptionHandler.getOwnedElements();
+ EList<Element> elements2 = exceptionHandler.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testExceptionInput() {
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ exceptionHandler.setExceptionInput(activityParameterNode);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ exceptionHandler.setExceptionInput(inputPin);
+
+ ExceptionHandler exceptionHandler2 = UML.createExceptionHandler();
+ assertValid(exceptionHandler2);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ exceptionHandler2.setExceptionInput(expansionNode);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ exceptionHandler2.setExceptionInput(valuePin);
+
+ ExceptionHandler exceptionHandler3 = UML.createExceptionHandler();
+ assertValid(exceptionHandler3);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ exceptionHandler3.setExceptionInput(actionInputPin);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ exceptionHandler3.setExceptionInput(dataStoreNode);
+
+ ExceptionHandler exceptionHandler4 = UML.createExceptionHandler();
+ assertValid(exceptionHandler4);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ exceptionHandler4.setExceptionInput(outputPin);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ exceptionHandler4.setExceptionInput(centralBufferNode);
+ }
+
+ public void testExceptionType() {
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ exceptionHandler.getExceptionTypes().add(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ exceptionHandler.getExceptionTypes().add(activity);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ exceptionHandler.getExceptionTypes().add(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ exceptionHandler.getExceptionTypes().add(informationItem);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ exceptionHandler.getExceptionTypes().add(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ exceptionHandler.getExceptionTypes().add(executionEnvironment);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ exceptionHandler.getExceptionTypes().add(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ exceptionHandler.getExceptionTypes().add(interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ exceptionHandler.getExceptionTypes().add(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ exceptionHandler.getExceptionTypes().add(opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ exceptionHandler.getExceptionTypes().add(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ exceptionHandler.getExceptionTypes().add(dataType);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ exceptionHandler.getExceptionTypes().add(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ exceptionHandler.getExceptionTypes().add(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ exceptionHandler.getExceptionTypes().add(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ exceptionHandler.getExceptionTypes().add(class_);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ exceptionHandler.getExceptionTypes().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ exceptionHandler.getExceptionTypes().add(primitiveType);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ exceptionHandler.getExceptionTypes().add(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ exceptionHandler.getExceptionTypes().add(protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ exceptionHandler.getExceptionTypes().add(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ exceptionHandler.getExceptionTypes().add(signal);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ exceptionHandler.getExceptionTypes().add(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ exceptionHandler.getExceptionTypes().add(stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ exceptionHandler.getExceptionTypes().add(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ exceptionHandler.getExceptionTypes().add(artifact);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ exceptionHandler.getExceptionTypes().add(collaboration);
+ }
+
+ public void testHandlerBody() {
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ exceptionHandler.setHandlerBody(readIsClassifiedObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ exceptionHandler.setHandlerBody(startClassifierBehaviorAction);
+
+ ExceptionHandler exceptionHandler2 = UML.createExceptionHandler();
+ assertValid(exceptionHandler2);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ exceptionHandler2.setHandlerBody(removeVariableValueAction);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ exceptionHandler2.setHandlerBody(addStructuralFeatureValueAction);
+
+ ExceptionHandler exceptionHandler3 = UML.createExceptionHandler();
+ assertValid(exceptionHandler3);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ exceptionHandler3.setHandlerBody(readVariableAction);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ exceptionHandler3.setHandlerBody(clearVariableAction);
+
+ ExceptionHandler exceptionHandler4 = UML.createExceptionHandler();
+ assertValid(exceptionHandler4);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ exceptionHandler4.setHandlerBody(removeStructuralFeatureValueAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ exceptionHandler4.setHandlerBody(createLinkAction);
+
+ ExceptionHandler exceptionHandler5 = UML.createExceptionHandler();
+ assertValid(exceptionHandler5);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ exceptionHandler5.setHandlerBody(readSelfAction);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ exceptionHandler5.setHandlerBody(reclassifyObjectAction);
+
+ ExceptionHandler exceptionHandler6 = UML.createExceptionHandler();
+ assertValid(exceptionHandler6);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ exceptionHandler6.setHandlerBody(readLinkObjectEndQualifierAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ exceptionHandler6.setHandlerBody(sendObjectAction);
+
+ ExceptionHandler exceptionHandler7 = UML.createExceptionHandler();
+ assertValid(exceptionHandler7);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ exceptionHandler7.setHandlerBody(reduceAction);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ exceptionHandler7.setHandlerBody(createLinkObjectAction);
+
+ ExceptionHandler exceptionHandler8 = UML.createExceptionHandler();
+ assertValid(exceptionHandler8);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ exceptionHandler8.setHandlerBody(acceptEventAction);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ exceptionHandler8.setHandlerBody(destroyLinkAction);
+
+ ExceptionHandler exceptionHandler9 = UML.createExceptionHandler();
+ assertValid(exceptionHandler9);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ exceptionHandler9.setHandlerBody(sendSignalAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ exceptionHandler9.setHandlerBody(readLinkAction);
+
+ ExceptionHandler exceptionHandler10 = UML.createExceptionHandler();
+ assertValid(exceptionHandler10);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ exceptionHandler10.setHandlerBody(replyAction);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ exceptionHandler10.setHandlerBody(testIdentityAction);
+
+ ExceptionHandler exceptionHandler11 = UML.createExceptionHandler();
+ assertValid(exceptionHandler11);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ exceptionHandler11.setHandlerBody(clearAssociationAction);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ exceptionHandler11.setHandlerBody(broadcastSignalAction);
+
+ ExceptionHandler exceptionHandler12 = UML.createExceptionHandler();
+ assertValid(exceptionHandler12);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ exceptionHandler12.setHandlerBody(clearStructuralFeatureAction);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ exceptionHandler12.setHandlerBody(expansionRegion);
+
+ ExceptionHandler exceptionHandler13 = UML.createExceptionHandler();
+ assertValid(exceptionHandler13);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ exceptionHandler13.setHandlerBody(structuredActivityNode);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ exceptionHandler13.setHandlerBody(raiseExceptionAction);
+
+ ExceptionHandler exceptionHandler14 = UML.createExceptionHandler();
+ assertValid(exceptionHandler14);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ exceptionHandler14.setHandlerBody(startObjectBehaviorAction);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ exceptionHandler14.setHandlerBody(callOperationAction);
+
+ ExceptionHandler exceptionHandler15 = UML.createExceptionHandler();
+ assertValid(exceptionHandler15);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ exceptionHandler15.setHandlerBody(loopNode);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ exceptionHandler15.setHandlerBody(valueSpecificationAction);
+
+ ExceptionHandler exceptionHandler16 = UML.createExceptionHandler();
+ assertValid(exceptionHandler16);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ exceptionHandler16.setHandlerBody(acceptCallAction);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ exceptionHandler16.setHandlerBody(addVariableValueAction);
+
+ ExceptionHandler exceptionHandler17 = UML.createExceptionHandler();
+ assertValid(exceptionHandler17);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ exceptionHandler17.setHandlerBody(readLinkObjectEndAction);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ exceptionHandler17.setHandlerBody(unmarshallAction);
+
+ ExceptionHandler exceptionHandler18 = UML.createExceptionHandler();
+ assertValid(exceptionHandler18);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ exceptionHandler18.setHandlerBody(opaqueAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ exceptionHandler18.setHandlerBody(sequenceNode);
+
+ ExceptionHandler exceptionHandler19 = UML.createExceptionHandler();
+ assertValid(exceptionHandler19);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ exceptionHandler19.setHandlerBody(createObjectAction);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ exceptionHandler19.setHandlerBody(destroyObjectAction);
+
+ ExceptionHandler exceptionHandler20 = UML.createExceptionHandler();
+ assertValid(exceptionHandler20);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ exceptionHandler20.setHandlerBody(callBehaviorAction);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ exceptionHandler20.setHandlerBody(conditionalNode);
+
+ ExceptionHandler exceptionHandler21 = UML.createExceptionHandler();
+ assertValid(exceptionHandler21);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ exceptionHandler21.setHandlerBody(readExtentAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ exceptionHandler21.setHandlerBody(readStructuralFeatureAction);
+ }
+
+ public void testProtectedNode() {
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ exceptionHandler.setProtectedNode(readIsClassifiedObjectAction);
+ assertSuperset(
+ exceptionHandler.getOwner() == readIsClassifiedObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ exceptionHandler.setProtectedNode(startClassifierBehaviorAction);
+ assertSuperset(
+ exceptionHandler.getOwner() == startClassifierBehaviorAction);
+
+ ExceptionHandler exceptionHandler2 = UML.createExceptionHandler();
+ assertValid(exceptionHandler2);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ exceptionHandler2.setProtectedNode(removeVariableValueAction);
+ assertSuperset(
+ exceptionHandler2.getOwner() == removeVariableValueAction);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ exceptionHandler2.setProtectedNode(addStructuralFeatureValueAction);
+ assertSuperset(
+ exceptionHandler2.getOwner() == addStructuralFeatureValueAction);
+
+ ExceptionHandler exceptionHandler3 = UML.createExceptionHandler();
+ assertValid(exceptionHandler3);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ exceptionHandler3.setProtectedNode(readVariableAction);
+ assertSuperset(exceptionHandler3.getOwner() == readVariableAction);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ exceptionHandler3.setProtectedNode(clearVariableAction);
+ assertSuperset(exceptionHandler3.getOwner() == clearVariableAction);
+
+ ExceptionHandler exceptionHandler4 = UML.createExceptionHandler();
+ assertValid(exceptionHandler4);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ exceptionHandler4.setProtectedNode(removeStructuralFeatureValueAction);
+ assertSuperset(
+ exceptionHandler4.getOwner() == removeStructuralFeatureValueAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ exceptionHandler4.setProtectedNode(createLinkAction);
+ assertSuperset(exceptionHandler4.getOwner() == createLinkAction);
+
+ ExceptionHandler exceptionHandler5 = UML.createExceptionHandler();
+ assertValid(exceptionHandler5);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ exceptionHandler5.setProtectedNode(readSelfAction);
+ assertSuperset(exceptionHandler5.getOwner() == readSelfAction);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ exceptionHandler5.setProtectedNode(reclassifyObjectAction);
+ assertSuperset(exceptionHandler5.getOwner() == reclassifyObjectAction);
+
+ ExceptionHandler exceptionHandler6 = UML.createExceptionHandler();
+ assertValid(exceptionHandler6);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ exceptionHandler6.setProtectedNode(readLinkObjectEndQualifierAction);
+ assertSuperset(
+ exceptionHandler6.getOwner() == readLinkObjectEndQualifierAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ exceptionHandler6.setProtectedNode(sendObjectAction);
+ assertSuperset(exceptionHandler6.getOwner() == sendObjectAction);
+
+ ExceptionHandler exceptionHandler7 = UML.createExceptionHandler();
+ assertValid(exceptionHandler7);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ exceptionHandler7.setProtectedNode(reduceAction);
+ assertSuperset(exceptionHandler7.getOwner() == reduceAction);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ exceptionHandler7.setProtectedNode(createLinkObjectAction);
+ assertSuperset(exceptionHandler7.getOwner() == createLinkObjectAction);
+
+ ExceptionHandler exceptionHandler8 = UML.createExceptionHandler();
+ assertValid(exceptionHandler8);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ exceptionHandler8.setProtectedNode(acceptEventAction);
+ assertSuperset(exceptionHandler8.getOwner() == acceptEventAction);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ exceptionHandler8.setProtectedNode(destroyLinkAction);
+ assertSuperset(exceptionHandler8.getOwner() == destroyLinkAction);
+
+ ExceptionHandler exceptionHandler9 = UML.createExceptionHandler();
+ assertValid(exceptionHandler9);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ exceptionHandler9.setProtectedNode(sendSignalAction);
+ assertSuperset(exceptionHandler9.getOwner() == sendSignalAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ exceptionHandler9.setProtectedNode(readLinkAction);
+ assertSuperset(exceptionHandler9.getOwner() == readLinkAction);
+
+ ExceptionHandler exceptionHandler10 = UML.createExceptionHandler();
+ assertValid(exceptionHandler10);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ exceptionHandler10.setProtectedNode(replyAction);
+ assertSuperset(exceptionHandler10.getOwner() == replyAction);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ exceptionHandler10.setProtectedNode(testIdentityAction);
+ assertSuperset(exceptionHandler10.getOwner() == testIdentityAction);
+
+ ExceptionHandler exceptionHandler11 = UML.createExceptionHandler();
+ assertValid(exceptionHandler11);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ exceptionHandler11.setProtectedNode(clearAssociationAction);
+ assertSuperset(exceptionHandler11.getOwner() == clearAssociationAction);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ exceptionHandler11.setProtectedNode(broadcastSignalAction);
+ assertSuperset(exceptionHandler11.getOwner() == broadcastSignalAction);
+
+ ExceptionHandler exceptionHandler12 = UML.createExceptionHandler();
+ assertValid(exceptionHandler12);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ exceptionHandler12.setProtectedNode(clearStructuralFeatureAction);
+ assertSuperset(
+ exceptionHandler12.getOwner() == clearStructuralFeatureAction);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ exceptionHandler12.setProtectedNode(expansionRegion);
+ assertSuperset(exceptionHandler12.getOwner() == expansionRegion);
+
+ ExceptionHandler exceptionHandler13 = UML.createExceptionHandler();
+ assertValid(exceptionHandler13);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ exceptionHandler13.setProtectedNode(structuredActivityNode);
+ assertSuperset(exceptionHandler13.getOwner() == structuredActivityNode);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ exceptionHandler13.setProtectedNode(raiseExceptionAction);
+ assertSuperset(exceptionHandler13.getOwner() == raiseExceptionAction);
+
+ ExceptionHandler exceptionHandler14 = UML.createExceptionHandler();
+ assertValid(exceptionHandler14);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ exceptionHandler14.setProtectedNode(startObjectBehaviorAction);
+ assertSuperset(
+ exceptionHandler14.getOwner() == startObjectBehaviorAction);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ exceptionHandler14.setProtectedNode(callOperationAction);
+ assertSuperset(exceptionHandler14.getOwner() == callOperationAction);
+
+ ExceptionHandler exceptionHandler15 = UML.createExceptionHandler();
+ assertValid(exceptionHandler15);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ exceptionHandler15.setProtectedNode(loopNode);
+ assertSuperset(exceptionHandler15.getOwner() == loopNode);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ exceptionHandler15.setProtectedNode(valueSpecificationAction);
+ assertSuperset(
+ exceptionHandler15.getOwner() == valueSpecificationAction);
+
+ ExceptionHandler exceptionHandler16 = UML.createExceptionHandler();
+ assertValid(exceptionHandler16);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ exceptionHandler16.setProtectedNode(acceptCallAction);
+ assertSuperset(exceptionHandler16.getOwner() == acceptCallAction);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ exceptionHandler16.setProtectedNode(addVariableValueAction);
+ assertSuperset(exceptionHandler16.getOwner() == addVariableValueAction);
+
+ ExceptionHandler exceptionHandler17 = UML.createExceptionHandler();
+ assertValid(exceptionHandler17);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ exceptionHandler17.setProtectedNode(readLinkObjectEndAction);
+ assertSuperset(
+ exceptionHandler17.getOwner() == readLinkObjectEndAction);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ exceptionHandler17.setProtectedNode(unmarshallAction);
+ assertSuperset(exceptionHandler17.getOwner() == unmarshallAction);
+
+ ExceptionHandler exceptionHandler18 = UML.createExceptionHandler();
+ assertValid(exceptionHandler18);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ exceptionHandler18.setProtectedNode(opaqueAction);
+ assertSuperset(exceptionHandler18.getOwner() == opaqueAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ exceptionHandler18.setProtectedNode(sequenceNode);
+ assertSuperset(exceptionHandler18.getOwner() == sequenceNode);
+
+ ExceptionHandler exceptionHandler19 = UML.createExceptionHandler();
+ assertValid(exceptionHandler19);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ exceptionHandler19.setProtectedNode(createObjectAction);
+ assertSuperset(exceptionHandler19.getOwner() == createObjectAction);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ exceptionHandler19.setProtectedNode(destroyObjectAction);
+ assertSuperset(exceptionHandler19.getOwner() == destroyObjectAction);
+
+ ExceptionHandler exceptionHandler20 = UML.createExceptionHandler();
+ assertValid(exceptionHandler20);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ exceptionHandler20.setProtectedNode(callBehaviorAction);
+ assertSuperset(exceptionHandler20.getOwner() == callBehaviorAction);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ exceptionHandler20.setProtectedNode(conditionalNode);
+ assertSuperset(exceptionHandler20.getOwner() == conditionalNode);
+
+ ExceptionHandler exceptionHandler21 = UML.createExceptionHandler();
+ assertValid(exceptionHandler21);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ exceptionHandler21.setProtectedNode(readExtentAction);
+ assertSuperset(exceptionHandler21.getOwner() == readExtentAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ exceptionHandler21.setProtectedNode(readStructuralFeatureAction);
+ assertSuperset(
+ exceptionHandler21.getOwner() == readStructuralFeatureAction);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExecutionEnvironmentTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExecutionEnvironmentTest.java
new file mode 100755
index 00000000..7a862fdc
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExecutionEnvironmentTest.java
@@ -0,0 +1,984 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ExecutionEnvironmentTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ executionEnvironment.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ executionEnvironment.getOwnedComments().add(comment);
+ assertSuperset(
+ executionEnvironment.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<Element> elements = executionEnvironment.getOwnedElements();
+ EList<Element> elements2 = executionEnvironment.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<Dependency> dependencys = executionEnvironment
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = executionEnvironment
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ executionEnvironment.setNameExpression(stringExpression);
+ assertSuperset(
+ executionEnvironment.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ executionEnvironment.getOwnedRules().add(intervalConstraint);
+ assertSuperset(executionEnvironment.getOwnedMembers()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ executionEnvironment.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ executionEnvironment.getOwnedRules().add(interactionConstraint);
+ assertSuperset(executionEnvironment.getOwnedMembers()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ executionEnvironment.getOwnedRules().add(constraint);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ executionEnvironment.getOwnedRules().add(durationConstraint);
+ assertSuperset(executionEnvironment.getOwnedMembers()
+ .contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ executionEnvironment.getElementImports().add(elementImport);
+ assertSuperset(
+ executionEnvironment.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ executionEnvironment.getPackageImports().add(packageImport);
+ assertSuperset(
+ executionEnvironment.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<NamedElement> namedElements = executionEnvironment
+ .getOwnedMembers();
+ EList<NamedElement> namedElements2 = executionEnvironment
+ .getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<PackageableElement> packageableElements = executionEnvironment
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = executionEnvironment
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<NamedElement> namedElements = executionEnvironment.getMembers();
+ EList<NamedElement> namedElements2 = executionEnvironment.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<RedefinableElement> redefinableElements = executionEnvironment
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = executionEnvironment
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<Classifier> classifiers = executionEnvironment
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = executionEnvironment
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ executionEnvironment
+ .setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(
+ executionEnvironment.getOwner() == classifierTemplateParameter);
+ assertSuperset(executionEnvironment
+ .getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ executionEnvironment.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ executionEnvironment.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ executionEnvironment.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ executionEnvironment
+ .setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(executionEnvironment.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<Feature> features = executionEnvironment.getFeatures();
+ EList<Feature> features2 = executionEnvironment.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<Property> propertys = executionEnvironment.getAttributes();
+ EList<Property> propertys2 = executionEnvironment.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ executionEnvironment.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ executionEnvironment.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<Classifier> classifiers = executionEnvironment.getGenerals();
+ EList<Classifier> classifiers2 = executionEnvironment.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ executionEnvironment.getGeneralizations().add(generalization);
+ assertSuperset(
+ executionEnvironment.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ executionEnvironment.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<NamedElement> namedElements = executionEnvironment
+ .getInheritedMembers();
+ EList<NamedElement> namedElements2 = executionEnvironment
+ .getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ executionEnvironment.getOwnedUseCases().add(useCase);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ executionEnvironment.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ executionEnvironment.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(executionEnvironment.getRedefinedElements()
+ .contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ executionEnvironment.getRedefinedClassifiers().add(activity);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ executionEnvironment.getRedefinedClassifiers().add(interface_);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ executionEnvironment.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(executionEnvironment.getRedefinedElements()
+ .contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ executionEnvironment.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(executionEnvironment.getRedefinedElements()
+ .contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment2 = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment2);
+ executionEnvironment.getRedefinedClassifiers()
+ .add(executionEnvironment2);
+ assertSuperset(executionEnvironment.getRedefinedElements()
+ .contains(executionEnvironment2));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ executionEnvironment.getRedefinedClassifiers().add(component);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ executionEnvironment.getRedefinedClassifiers().add(interaction);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ executionEnvironment.getRedefinedClassifiers()
+ .add(deploymentSpecification);
+ assertSuperset(executionEnvironment.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ executionEnvironment.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(executionEnvironment.getRedefinedElements()
+ .contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ executionEnvironment.getRedefinedClassifiers().add(association);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ executionEnvironment.getRedefinedClassifiers().add(dataType);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ executionEnvironment.getRedefinedClassifiers().add(device);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ executionEnvironment.getRedefinedClassifiers().add(extension);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ executionEnvironment.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(executionEnvironment.getRedefinedElements()
+ .contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ executionEnvironment.getRedefinedClassifiers().add(class_);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ executionEnvironment.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ executionEnvironment.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(executionEnvironment.getRedefinedElements()
+ .contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ executionEnvironment.getRedefinedClassifiers().add(actor);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ executionEnvironment.getRedefinedClassifiers()
+ .add(protocolStateMachine);
+ assertSuperset(executionEnvironment.getRedefinedElements()
+ .contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ executionEnvironment.getRedefinedClassifiers().add(useCase);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ executionEnvironment.getRedefinedClassifiers().add(signal);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ executionEnvironment.getRedefinedClassifiers().add(node);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ executionEnvironment.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ executionEnvironment.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ executionEnvironment.getRedefinedClassifiers().add(artifact);
+ assertSuperset(
+ executionEnvironment.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ executionEnvironment.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(executionEnvironment.getRedefinedElements()
+ .contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ executionEnvironment.setRepresentation(collaborationUse);
+ assertSuperset(executionEnvironment.getCollaborationUses()
+ .contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ executionEnvironment.getSubstitutions().add(substitution);
+ assertSuperset(
+ executionEnvironment.getOwnedElements().contains(substitution));
+ assertSuperset(executionEnvironment.getClientDependencies()
+ .contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ executionEnvironment.getOwnedAttributes().add(port);
+ assertSuperset(executionEnvironment.getAttributes().contains(port));
+ assertSuperset(executionEnvironment.getOwnedMembers().contains(port));
+ assertSuperset(executionEnvironment.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ executionEnvironment.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(
+ executionEnvironment.getAttributes().contains(extensionEnd));
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(executionEnvironment.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ executionEnvironment.getOwnedAttributes().add(property);
+ assertSuperset(executionEnvironment.getAttributes().contains(property));
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(property));
+ assertSuperset(executionEnvironment.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ executionEnvironment.getOwnedConnectors().add(connector);
+ assertSuperset(executionEnvironment.getFeatures().contains(connector));
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<Property> propertys = executionEnvironment.getParts();
+ EList<Property> propertys2 = executionEnvironment.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<ConnectableElement> connectableElements = executionEnvironment
+ .getRoles();
+ EList<ConnectableElement> connectableElements2 = executionEnvironment
+ .getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testOwnedPort() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<Port> ports = executionEnvironment.getOwnedPorts();
+ EList<Port> ports2 = executionEnvironment.getOwnedPorts();
+ assertSame(ports, ports2);
+ }
+
+ public void testClassifierBehavior() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ executionEnvironment.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(executionEnvironment.getOwnedBehaviors()
+ .contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ executionEnvironment.setClassifierBehavior(stateMachine);
+ assertSuperset(
+ executionEnvironment.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ executionEnvironment.getInterfaceRealizations()
+ .add(interfaceRealization);
+ assertSuperset(executionEnvironment.getOwnedElements()
+ .contains(interfaceRealization));
+ assertSuperset(executionEnvironment.getClientDependencies()
+ .contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ executionEnvironment.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(executionEnvironment.getOwnedMembers()
+ .contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ executionEnvironment.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testOwnedOperation() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ executionEnvironment.getOwnedOperations().add(operation);
+ assertSuperset(executionEnvironment.getFeatures().contains(operation));
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(operation));
+ }
+
+ public void testExtension() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<Extension> extensions = executionEnvironment.getExtensions();
+ EList<Extension> extensions2 = executionEnvironment.getExtensions();
+ assertSame(extensions, extensions2);
+ }
+
+ public void testNestedClassifier() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ executionEnvironment.getNestedClassifiers().add(functionBehavior);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ executionEnvironment.getNestedClassifiers().add(activity);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ executionEnvironment.getNestedClassifiers().add(interface_);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ executionEnvironment.getNestedClassifiers().add(informationItem);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ executionEnvironment.getNestedClassifiers().add(communicationPath);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment2 = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment2);
+ executionEnvironment.getNestedClassifiers().add(executionEnvironment2);
+ assertSuperset(executionEnvironment.getOwnedMembers()
+ .contains(executionEnvironment2));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ executionEnvironment.getNestedClassifiers().add(component);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ executionEnvironment.getNestedClassifiers().add(interaction);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ executionEnvironment.getNestedClassifiers()
+ .add(deploymentSpecification);
+ assertSuperset(executionEnvironment.getOwnedMembers()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ executionEnvironment.getNestedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ executionEnvironment.getNestedClassifiers().add(association);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ executionEnvironment.getNestedClassifiers().add(dataType);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ executionEnvironment.getNestedClassifiers().add(device);
+ assertSuperset(executionEnvironment.getOwnedMembers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ executionEnvironment.getNestedClassifiers().add(extension);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ executionEnvironment.getNestedClassifiers().add(associationClass);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ executionEnvironment.getNestedClassifiers().add(class_);
+ assertSuperset(executionEnvironment.getOwnedMembers().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ executionEnvironment.getNestedClassifiers().add(enumeration);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ executionEnvironment.getNestedClassifiers().add(primitiveType);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ executionEnvironment.getNestedClassifiers().add(actor);
+ assertSuperset(executionEnvironment.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ executionEnvironment.getNestedClassifiers().add(protocolStateMachine);
+ assertSuperset(executionEnvironment.getOwnedMembers()
+ .contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ executionEnvironment.getNestedClassifiers().add(useCase);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ executionEnvironment.getNestedClassifiers().add(signal);
+ assertSuperset(executionEnvironment.getOwnedMembers().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ executionEnvironment.getNestedClassifiers().add(node);
+ assertSuperset(executionEnvironment.getOwnedMembers().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ executionEnvironment.getNestedClassifiers().add(stereotype);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ executionEnvironment.getNestedClassifiers().add(stateMachine);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ executionEnvironment.getNestedClassifiers().add(artifact);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ executionEnvironment.getNestedClassifiers().add(collaboration);
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedReception() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ executionEnvironment.getOwnedReceptions().add(reception);
+ assertSuperset(executionEnvironment.getFeatures().contains(reception));
+ assertSuperset(
+ executionEnvironment.getOwnedMembers().contains(reception));
+ }
+
+ public void testSuperClass() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<org.eclipse.uml2.uml.Class> class_s = executionEnvironment
+ .getSuperClasses();
+ EList<org.eclipse.uml2.uml.Class> class_s2 = executionEnvironment
+ .getSuperClasses();
+ assertSame(class_s, class_s2);
+ }
+
+ public void testDeployedElement() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ EList<PackageableElement> packageableElements = executionEnvironment
+ .getDeployedElements();
+ EList<PackageableElement> packageableElements2 = executionEnvironment
+ .getDeployedElements();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testDeployment() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ executionEnvironment.getDeployments().add(deployment);
+ assertSuperset(
+ executionEnvironment.getOwnedElements().contains(deployment));
+ assertSuperset(
+ executionEnvironment.getClientDependencies().contains(deployment));
+ }
+
+ public void testNestedNode() {
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ executionEnvironment.getNestedNodes().add(node);
+ assertSuperset(executionEnvironment.getOwnedMembers().contains(node));
+
+ ExecutionEnvironment executionEnvironment2 = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment2);
+ executionEnvironment.getNestedNodes().add(executionEnvironment2);
+ assertSuperset(executionEnvironment.getOwnedMembers()
+ .contains(executionEnvironment2));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ executionEnvironment.getNestedNodes().add(device);
+ assertSuperset(executionEnvironment.getOwnedMembers().contains(device));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExecutionOccurrenceSpecificationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExecutionOccurrenceSpecificationTest.java
new file mode 100755
index 00000000..329c24e8
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExecutionOccurrenceSpecificationTest.java
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.StringExpression;
+
+/**
+ * @author Eike Stepper
+ */
+public class ExecutionOccurrenceSpecificationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ executionOccurrenceSpecification.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ executionOccurrenceSpecification.getOwnedComments().add(comment);
+ assertSuperset(executionOccurrenceSpecification.getOwnedElements()
+ .contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ EList<Element> elements = executionOccurrenceSpecification
+ .getOwnedElements();
+ EList<Element> elements2 = executionOccurrenceSpecification
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ EList<Dependency> dependencys = executionOccurrenceSpecification
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = executionOccurrenceSpecification
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ executionOccurrenceSpecification.setNameExpression(stringExpression);
+ assertSuperset(executionOccurrenceSpecification.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testCovered() {
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ executionOccurrenceSpecification.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ executionOccurrenceSpecification
+ .setEnclosingOperand(interactionOperand);
+ assertSuperset(executionOccurrenceSpecification
+ .getNamespace() == interactionOperand);
+ }
+
+ public void testEnclosingInteraction() {
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ executionOccurrenceSpecification.setEnclosingInteraction(interaction);
+ assertSuperset(
+ executionOccurrenceSpecification.getNamespace() == interaction);
+ }
+
+ public void testGeneralOrdering() {
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ executionOccurrenceSpecification.getGeneralOrderings()
+ .add(generalOrdering);
+ assertSuperset(executionOccurrenceSpecification.getOwnedElements()
+ .contains(generalOrdering));
+ }
+
+ public void testToAfter() {
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ executionOccurrenceSpecification.getToAfters().add(generalOrdering);
+ }
+
+ public void testToBefore() {
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ executionOccurrenceSpecification.getToBefores().add(generalOrdering);
+ }
+
+ public void testExecution() {
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ executionOccurrenceSpecification
+ .setExecution(behaviorExecutionSpecification);
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ executionOccurrenceSpecification
+ .setExecution(actionExecutionSpecification);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExpansionNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExpansionNodeTest.java
new file mode 100755
index 00000000..802c4c32
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExpansionNodeTest.java
@@ -0,0 +1,967 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ExpansionNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ expansionNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ expansionNode.getOwnedComments().add(comment);
+ assertSuperset(expansionNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ EList<Element> elements = expansionNode.getOwnedElements();
+ EList<Element> elements2 = expansionNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ EList<Dependency> dependencys = expansionNode.getClientDependencies();
+ EList<Dependency> dependencys2 = expansionNode.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ expansionNode.setNameExpression(stringExpression);
+ assertSuperset(
+ expansionNode.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ EList<RedefinableElement> redefinableElements = expansionNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = expansionNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ EList<Classifier> classifiers = expansionNode.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = expansionNode
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ EList<ActivityGroup> activityGroups = expansionNode.getInGroups();
+ EList<ActivityGroup> activityGroups2 = expansionNode.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ expansionNode.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ expansionNode.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ expansionNode.setInStructuredNode(loopNode);
+ assertSuperset(expansionNode.getInGroups().contains(loopNode));
+ assertSuperset(expansionNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ expansionNode.setInStructuredNode(expansionRegion);
+ assertSuperset(expansionNode.getInGroups().contains(expansionRegion));
+ assertSuperset(expansionNode.getOwner() == expansionRegion);
+
+ ExpansionNode expansionNode2 = UML.createExpansionNode();
+ assertValid(expansionNode2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ expansionNode2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ expansionNode2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(expansionNode2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ expansionNode2.setInStructuredNode(conditionalNode);
+ assertSuperset(expansionNode2.getInGroups().contains(conditionalNode));
+ assertSuperset(expansionNode2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ expansionNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ expansionNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ expansionNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ expansionNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ expansionNode.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ expansionNode.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ expansionNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ expansionNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(expansionNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ expansionNode.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ expansionNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(expansionNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ expansionNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ expansionNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ expansionNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ expansionNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ expansionNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ expansionNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ expansionNode.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ expansionNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ expansionNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ expansionNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(expansionNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ expansionNode.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ expansionNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(expansionNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ expansionNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ expansionNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ expansionNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ expansionNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ expansionNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ expansionNode.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ expansionNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ expansionNode.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ expansionNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ expansionNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ expansionNode.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ expansionNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ expansionNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ expansionNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ expansionNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ expansionNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ expansionNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ expansionNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode2 = UML.createExpansionNode();
+ assertValid(expansionNode2);
+ expansionNode.getRedefinedNodes().add(expansionNode2);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(expansionNode2));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ expansionNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ expansionNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ expansionNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ expansionNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ expansionNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ expansionNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ expansionNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ expansionNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ expansionNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(expansionNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ expansionNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ expansionNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ expansionNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ expansionNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ expansionNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ expansionNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ expansionNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ expansionNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ expansionNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ expansionNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ expansionNode.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ expansionNode.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(expansionNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ expansionNode.getInPartitions().add(activityPartition);
+ assertSuperset(expansionNode.getInGroups().contains(activityPartition));
+ }
+
+ public void testType() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ expansionNode.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ expansionNode.setType(activity);
+
+ ExpansionNode expansionNode2 = UML.createExpansionNode();
+ assertValid(expansionNode2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ expansionNode2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ expansionNode2.setType(informationItem);
+
+ ExpansionNode expansionNode3 = UML.createExpansionNode();
+ assertValid(expansionNode3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ expansionNode3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ expansionNode3.setType(executionEnvironment);
+
+ ExpansionNode expansionNode4 = UML.createExpansionNode();
+ assertValid(expansionNode4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ expansionNode4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ expansionNode4.setType(interaction);
+
+ ExpansionNode expansionNode5 = UML.createExpansionNode();
+ assertValid(expansionNode5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ expansionNode5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ expansionNode5.setType(opaqueBehavior);
+
+ ExpansionNode expansionNode6 = UML.createExpansionNode();
+ assertValid(expansionNode6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ expansionNode6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ expansionNode6.setType(dataType);
+
+ ExpansionNode expansionNode7 = UML.createExpansionNode();
+ assertValid(expansionNode7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ expansionNode7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ expansionNode7.setType(extension);
+
+ ExpansionNode expansionNode8 = UML.createExpansionNode();
+ assertValid(expansionNode8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ expansionNode8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ expansionNode8.setType(class_);
+
+ ExpansionNode expansionNode9 = UML.createExpansionNode();
+ assertValid(expansionNode9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ expansionNode9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ expansionNode9.setType(primitiveType);
+
+ ExpansionNode expansionNode10 = UML.createExpansionNode();
+ assertValid(expansionNode10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ expansionNode10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ expansionNode10.setType(protocolStateMachine);
+
+ ExpansionNode expansionNode11 = UML.createExpansionNode();
+ assertValid(expansionNode11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ expansionNode11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ expansionNode11.setType(signal);
+
+ ExpansionNode expansionNode12 = UML.createExpansionNode();
+ assertValid(expansionNode12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ expansionNode12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ expansionNode12.setType(stereotype);
+
+ ExpansionNode expansionNode13 = UML.createExpansionNode();
+ assertValid(expansionNode13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ expansionNode13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ expansionNode13.setType(artifact);
+
+ ExpansionNode expansionNode14 = UML.createExpansionNode();
+ assertValid(expansionNode14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ expansionNode14.setType(collaboration);
+ }
+
+ public void testInState() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ expansionNode.getInStates().add(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ expansionNode.getInStates().add(state);
+ }
+
+ public void testSelection() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ expansionNode.setSelection(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ expansionNode.setSelection(stateMachine);
+ }
+
+ public void testUpperBound() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ expansionNode.setUpperBound(literalBoolean);
+ assertSuperset(
+ expansionNode.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ expansionNode.setUpperBound(interval);
+ assertSuperset(expansionNode.getOwnedElements().contains(interval));
+
+ ExpansionNode expansionNode2 = UML.createExpansionNode();
+ assertValid(expansionNode2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ expansionNode2.setUpperBound(opaqueExpression);
+ assertSuperset(
+ expansionNode2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ expansionNode2.setUpperBound(expression);
+ assertSuperset(expansionNode2.getOwnedElements().contains(expression));
+
+ ExpansionNode expansionNode3 = UML.createExpansionNode();
+ assertValid(expansionNode3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ expansionNode3.setUpperBound(literalReal);
+ assertSuperset(expansionNode3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ expansionNode3.setUpperBound(literalString);
+ assertSuperset(
+ expansionNode3.getOwnedElements().contains(literalString));
+
+ ExpansionNode expansionNode4 = UML.createExpansionNode();
+ assertValid(expansionNode4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ expansionNode4.setUpperBound(literalNull);
+ assertSuperset(expansionNode4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ expansionNode4.setUpperBound(duration);
+ assertSuperset(expansionNode4.getOwnedElements().contains(duration));
+
+ ExpansionNode expansionNode5 = UML.createExpansionNode();
+ assertValid(expansionNode5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ expansionNode5.setUpperBound(literalInteger);
+ assertSuperset(
+ expansionNode5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ expansionNode5.setUpperBound(durationInterval);
+ assertSuperset(
+ expansionNode5.getOwnedElements().contains(durationInterval));
+
+ ExpansionNode expansionNode6 = UML.createExpansionNode();
+ assertValid(expansionNode6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ expansionNode6.setUpperBound(stringExpression);
+ assertSuperset(
+ expansionNode6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ expansionNode6.setUpperBound(literalUnlimitedNatural);
+ assertSuperset(expansionNode6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ ExpansionNode expansionNode7 = UML.createExpansionNode();
+ assertValid(expansionNode7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ expansionNode7.setUpperBound(timeInterval);
+ assertSuperset(
+ expansionNode7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ expansionNode7.setUpperBound(timeExpression);
+ assertSuperset(
+ expansionNode7.getOwnedElements().contains(timeExpression));
+
+ ExpansionNode expansionNode8 = UML.createExpansionNode();
+ assertValid(expansionNode8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ expansionNode8.setUpperBound(instanceValue);
+ assertSuperset(
+ expansionNode8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testRegionAsInput() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ expansionNode.setRegionAsInput(expansionRegion);
+ }
+
+ public void testRegionAsOutput() {
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ expansionNode.setRegionAsOutput(expansionRegion);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExpansionRegionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExpansionRegionTest.java
new file mode 100755
index 00000000..d1cadda0
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExpansionRegionTest.java
@@ -0,0 +1,1400 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class ExpansionRegionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ expansionRegion.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ expansionRegion.getOwnedComments().add(comment);
+ assertSuperset(expansionRegion.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ EList<Element> elements = expansionRegion.getOwnedElements();
+ EList<Element> elements2 = expansionRegion.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ EList<Dependency> dependencys = expansionRegion.getClientDependencies();
+ EList<Dependency> dependencys2 = expansionRegion
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ expansionRegion.setNameExpression(stringExpression);
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ EList<RedefinableElement> redefinableElements = expansionRegion
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = expansionRegion
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ EList<Classifier> classifiers = expansionRegion
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = expansionRegion
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ EList<ActivityGroup> activityGroups = expansionRegion.getInGroups();
+ EList<ActivityGroup> activityGroups2 = expansionRegion.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ expansionRegion.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(expansionRegion.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ expansionRegion.setInStructuredNode(loopNode);
+ assertSuperset(expansionRegion.getInGroups().contains(loopNode));
+ assertSuperset(expansionRegion.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion2 = UML.createExpansionRegion();
+ assertValid(expansionRegion2);
+ expansionRegion.setInStructuredNode(expansionRegion2);
+ assertSuperset(
+ expansionRegion.getInGroups().contains(expansionRegion2));
+ assertSuperset(expansionRegion.getOwner() == expansionRegion2);
+
+ ExpansionRegion expansionRegion3 = UML.createExpansionRegion();
+ assertValid(expansionRegion3);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ expansionRegion3.setInStructuredNode(sequenceNode);
+ assertSuperset(expansionRegion3.getInGroups().contains(sequenceNode));
+ assertSuperset(expansionRegion3.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ expansionRegion3.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ expansionRegion3.getInGroups().contains(structuredActivityNode));
+ assertSuperset(expansionRegion3.getOwner() == structuredActivityNode);
+
+ ExpansionRegion expansionRegion4 = UML.createExpansionRegion();
+ assertValid(expansionRegion4);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ expansionRegion4.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ expansionRegion4.getInGroups().contains(conditionalNode));
+ assertSuperset(expansionRegion4.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ expansionRegion.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ expansionRegion.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ expansionRegion.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ expansionRegion.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ expansionRegion.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ expansionRegion.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ expansionRegion.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ expansionRegion.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ expansionRegion.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ expansionRegion.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ expansionRegion.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ expansionRegion.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ expansionRegion.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ expansionRegion.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ expansionRegion.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ expansionRegion.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ expansionRegion.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion2 = UML.createExpansionRegion();
+ assertValid(expansionRegion2);
+ expansionRegion.getRedefinedNodes().add(expansionRegion2);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(expansionRegion2));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ expansionRegion.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ expansionRegion.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ expansionRegion.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ expansionRegion.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ expansionRegion.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ expansionRegion.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ expansionRegion.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ expansionRegion.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ expansionRegion.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ expansionRegion.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ expansionRegion.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ expansionRegion.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ expansionRegion.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ expansionRegion.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ expansionRegion.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ expansionRegion.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ expansionRegion.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ expansionRegion.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ expansionRegion.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ expansionRegion.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ expansionRegion.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ expansionRegion.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ expansionRegion.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ expansionRegion.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ expansionRegion.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ expansionRegion.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ expansionRegion.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ expansionRegion.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ expansionRegion.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ expansionRegion.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ expansionRegion.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ expansionRegion.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ expansionRegion.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ expansionRegion.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ expansionRegion.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ expansionRegion.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ expansionRegion.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ expansionRegion.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ expansionRegion.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ expansionRegion.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ expansionRegion.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ expansionRegion.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ expansionRegion.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ expansionRegion.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(expansionRegion.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ expansionRegion.getInPartitions().add(activityPartition);
+ assertSuperset(
+ expansionRegion.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ expansionRegion.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ EList<InputPin> inputPins = expansionRegion.getInputs();
+ EList<InputPin> inputPins2 = expansionRegion.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ expansionRegion.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ expansionRegion.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ expansionRegion.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ expansionRegion.getLocalPostconditions().add(constraint);
+ assertSuperset(expansionRegion.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ expansionRegion.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ expansionRegion.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ expansionRegion.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ expansionRegion.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ expansionRegion.getLocalPreconditions().add(constraint);
+ assertSuperset(expansionRegion.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ expansionRegion.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ EList<OutputPin> outputPins = expansionRegion.getOutputs();
+ EList<OutputPin> outputPins2 = expansionRegion.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testOwnedRule() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ expansionRegion.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ expansionRegion.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ expansionRegion.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ expansionRegion.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ expansionRegion.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ expansionRegion.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ expansionRegion.getOwnedRules().add(constraint);
+ assertSuperset(expansionRegion.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ expansionRegion.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ expansionRegion.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ expansionRegion.getElementImports().add(elementImport);
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ expansionRegion.getPackageImports().add(packageImport);
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ EList<NamedElement> namedElements = expansionRegion.getOwnedMembers();
+ EList<NamedElement> namedElements2 = expansionRegion.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ EList<PackageableElement> packageableElements = expansionRegion
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = expansionRegion
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ EList<NamedElement> namedElements = expansionRegion.getMembers();
+ EList<NamedElement> namedElements2 = expansionRegion.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testContainedEdge() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ EList<ActivityEdge> activityEdges = expansionRegion.getContainedEdges();
+ EList<ActivityEdge> activityEdges2 = expansionRegion
+ .getContainedEdges();
+ assertSame(activityEdges, activityEdges2);
+ }
+
+ public void testContainedNode() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ EList<ActivityNode> activityNodes = expansionRegion.getContainedNodes();
+ EList<ActivityNode> activityNodes2 = expansionRegion
+ .getContainedNodes();
+ assertSame(activityNodes, activityNodes2);
+ }
+
+ public void testSubgroup() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ EList<ActivityGroup> activityGroups = expansionRegion.getSubgroups();
+ EList<ActivityGroup> activityGroups2 = expansionRegion.getSubgroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testEdge() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ expansionRegion.getEdges().add(controlFlow);
+ assertSuperset(
+ expansionRegion.getContainedEdges().contains(controlFlow));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(controlFlow));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ expansionRegion.getEdges().add(objectFlow);
+ assertSuperset(
+ expansionRegion.getContainedEdges().contains(objectFlow));
+ assertSuperset(expansionRegion.getOwnedElements().contains(objectFlow));
+ }
+
+ public void testStructuredNodeInput() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ expansionRegion.getStructuredNodeInputs().add(inputPin);
+ assertSuperset(expansionRegion.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ expansionRegion.getStructuredNodeInputs().add(valuePin);
+ assertSuperset(expansionRegion.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ expansionRegion.getStructuredNodeInputs().add(actionInputPin);
+ assertSuperset(expansionRegion.getInputs().contains(actionInputPin));
+ }
+
+ public void testStructuredNodeOutput() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ expansionRegion.getStructuredNodeOutputs().add(outputPin);
+ assertSuperset(expansionRegion.getOutputs().contains(outputPin));
+ }
+
+ public void testVariable() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ expansionRegion.getVariables().add(variable);
+ assertSuperset(expansionRegion.getOwnedMembers().contains(variable));
+ }
+
+ public void testNode() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ expansionRegion.getNodes().add(startClassifierBehaviorAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(startClassifierBehaviorAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ expansionRegion.getNodes().add(removeVariableValueAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(removeVariableValueAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ expansionRegion.getNodes().add(readSelfAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(readSelfAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ expansionRegion.getNodes().add(inputPin);
+ assertSuperset(expansionRegion.getContainedNodes().contains(inputPin));
+ assertSuperset(expansionRegion.getOwnedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ expansionRegion.getNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(readLinkObjectEndQualifierAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ expansionRegion.getNodes().add(joinNode);
+ assertSuperset(expansionRegion.getContainedNodes().contains(joinNode));
+ assertSuperset(expansionRegion.getOwnedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ expansionRegion.getNodes().add(createLinkObjectAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(createLinkObjectAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ expansionRegion.getNodes().add(sendSignalAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(sendSignalAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ expansionRegion.getNodes().add(readLinkAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(readLinkAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ expansionRegion.getNodes().add(replyAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(replyAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ expansionRegion.getNodes().add(clearAssociationAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(clearAssociationAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ expansionRegion.getNodes().add(flowFinalNode);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(flowFinalNode));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ expansionRegion.getNodes().add(clearStructuralFeatureAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(clearStructuralFeatureAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion2 = UML.createExpansionRegion();
+ assertValid(expansionRegion2);
+ expansionRegion.getNodes().add(expansionRegion2);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(expansionRegion2));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(expansionRegion2));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ expansionRegion.getNodes().add(structuredActivityNode);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(structuredActivityNode));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ expansionRegion.getNodes().add(valuePin);
+ assertSuperset(expansionRegion.getContainedNodes().contains(valuePin));
+ assertSuperset(expansionRegion.getOwnedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ expansionRegion.getNodes().add(startObjectBehaviorAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(startObjectBehaviorAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ expansionRegion.getNodes().add(forkNode);
+ assertSuperset(expansionRegion.getContainedNodes().contains(forkNode));
+ assertSuperset(expansionRegion.getOwnedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ expansionRegion.getNodes().add(decisionNode);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(decisionNode));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ expansionRegion.getNodes().add(callBehaviorAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(callBehaviorAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ expansionRegion.getNodes().add(conditionalNode);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(conditionalNode));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ expansionRegion.getNodes().add(readExtentAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(readExtentAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ expansionRegion.getNodes().add(actionInputPin);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(actionInputPin));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ expansionRegion.getNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(readIsClassifiedObjectAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ expansionRegion.getNodes().add(activityParameterNode);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(activityParameterNode));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ expansionRegion.getNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(addStructuralFeatureValueAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ expansionRegion.getNodes().add(readVariableAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(readVariableAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ expansionRegion.getNodes().add(clearVariableAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(clearVariableAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ expansionRegion.getNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(removeStructuralFeatureValueAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ expansionRegion.getNodes().add(createLinkAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(createLinkAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ expansionRegion.getNodes().add(reclassifyObjectAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(reclassifyObjectAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ expansionRegion.getNodes().add(dataStoreNode);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(dataStoreNode));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ expansionRegion.getNodes().add(sendObjectAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(sendObjectAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ expansionRegion.getNodes().add(reduceAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(reduceAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ expansionRegion.getNodes().add(acceptEventAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(acceptEventAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ expansionRegion.getNodes().add(destroyLinkAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(destroyLinkAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ expansionRegion.getNodes().add(expansionNode);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(expansionNode));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ expansionRegion.getNodes().add(initialNode);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(initialNode));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ expansionRegion.getNodes().add(testIdentityAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(testIdentityAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ expansionRegion.getNodes().add(outputPin);
+ assertSuperset(expansionRegion.getContainedNodes().contains(outputPin));
+ assertSuperset(expansionRegion.getOwnedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ expansionRegion.getNodes().add(centralBufferNode);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(centralBufferNode));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ expansionRegion.getNodes().add(broadcastSignalAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(broadcastSignalAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ expansionRegion.getNodes().add(raiseExceptionAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(raiseExceptionAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ expansionRegion.getNodes().add(activityFinalNode);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(activityFinalNode));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ expansionRegion.getNodes().add(callOperationAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(callOperationAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ expansionRegion.getNodes().add(loopNode);
+ assertSuperset(expansionRegion.getContainedNodes().contains(loopNode));
+ assertSuperset(expansionRegion.getOwnedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ expansionRegion.getNodes().add(valueSpecificationAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(valueSpecificationAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ expansionRegion.getNodes().add(acceptCallAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(acceptCallAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ expansionRegion.getNodes().add(addVariableValueAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(addVariableValueAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ expansionRegion.getNodes().add(readLinkObjectEndAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(readLinkObjectEndAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ expansionRegion.getNodes().add(unmarshallAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(unmarshallAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ expansionRegion.getNodes().add(opaqueAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(opaqueAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ expansionRegion.getNodes().add(mergeNode);
+ assertSuperset(expansionRegion.getContainedNodes().contains(mergeNode));
+ assertSuperset(expansionRegion.getOwnedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ expansionRegion.getNodes().add(sequenceNode);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(sequenceNode));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ expansionRegion.getNodes().add(createObjectAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(createObjectAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ expansionRegion.getNodes().add(destroyObjectAction);
+ assertSuperset(
+ expansionRegion.getContainedNodes().contains(destroyObjectAction));
+ assertSuperset(
+ expansionRegion.getOwnedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ expansionRegion.getNodes().add(readStructuralFeatureAction);
+ assertSuperset(expansionRegion.getContainedNodes()
+ .contains(readStructuralFeatureAction));
+ assertSuperset(expansionRegion.getOwnedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testOutputElement() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ expansionRegion.getOutputElements().add(expansionNode);
+ }
+
+ public void testInputElement() {
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ expansionRegion.getInputElements().add(expansionNode);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExpressionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExpressionTest.java
new file mode 100755
index 00000000..48d6a13e
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExpressionTest.java
@@ -0,0 +1,375 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ExpressionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ expression.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ expression.getOwnedComments().add(comment);
+ assertSuperset(expression.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ EList<Element> elements = expression.getOwnedElements();
+ EList<Element> elements2 = expression.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ EList<Dependency> dependencys = expression.getClientDependencies();
+ EList<Dependency> dependencys2 = expression.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ expression.setNameExpression(stringExpression);
+ assertSuperset(
+ expression.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ expression.setOwningTemplateParameter(templateParameter);
+ assertSuperset(expression.getOwner() == templateParameter);
+ assertSuperset(expression.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ expression.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ expression.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ expression.setType(activity);
+
+ Expression expression2 = UML.createExpression();
+ assertValid(expression2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ expression2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ expression2.setType(informationItem);
+
+ Expression expression3 = UML.createExpression();
+ assertValid(expression3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ expression3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ expression3.setType(executionEnvironment);
+
+ Expression expression4 = UML.createExpression();
+ assertValid(expression4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ expression4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ expression4.setType(interaction);
+
+ Expression expression5 = UML.createExpression();
+ assertValid(expression5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ expression5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ expression5.setType(opaqueBehavior);
+
+ Expression expression6 = UML.createExpression();
+ assertValid(expression6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ expression6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ expression6.setType(dataType);
+
+ Expression expression7 = UML.createExpression();
+ assertValid(expression7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ expression7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ expression7.setType(extension);
+
+ Expression expression8 = UML.createExpression();
+ assertValid(expression8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ expression8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ expression8.setType(class_);
+
+ Expression expression9 = UML.createExpression();
+ assertValid(expression9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ expression9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ expression9.setType(primitiveType);
+
+ Expression expression10 = UML.createExpression();
+ assertValid(expression10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ expression10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ expression10.setType(protocolStateMachine);
+
+ Expression expression11 = UML.createExpression();
+ assertValid(expression11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ expression11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ expression11.setType(signal);
+
+ Expression expression12 = UML.createExpression();
+ assertValid(expression12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ expression12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ expression12.setType(stereotype);
+
+ Expression expression13 = UML.createExpression();
+ assertValid(expression13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ expression13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ expression13.setType(artifact);
+
+ Expression expression14 = UML.createExpression();
+ assertValid(expression14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ expression14.setType(collaboration);
+ }
+
+ public void testOperand() {
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ expression.getOperands().add(literalBoolean);
+ assertSuperset(expression.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ expression.getOperands().add(interval);
+ assertSuperset(expression.getOwnedElements().contains(interval));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ expression.getOperands().add(opaqueExpression);
+ assertSuperset(
+ expression.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression2 = UML.createExpression();
+ assertValid(expression2);
+ expression.getOperands().add(expression2);
+ assertSuperset(expression.getOwnedElements().contains(expression2));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ expression.getOperands().add(literalReal);
+ assertSuperset(expression.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ expression.getOperands().add(literalString);
+ assertSuperset(expression.getOwnedElements().contains(literalString));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ expression.getOperands().add(literalNull);
+ assertSuperset(expression.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ expression.getOperands().add(duration);
+ assertSuperset(expression.getOwnedElements().contains(duration));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ expression.getOperands().add(literalInteger);
+ assertSuperset(expression.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ expression.getOperands().add(durationInterval);
+ assertSuperset(
+ expression.getOwnedElements().contains(durationInterval));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ expression.getOperands().add(stringExpression);
+ assertSuperset(
+ expression.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ expression.getOperands().add(literalUnlimitedNatural);
+ assertSuperset(
+ expression.getOwnedElements().contains(literalUnlimitedNatural));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ expression.getOperands().add(timeInterval);
+ assertSuperset(expression.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ expression.getOperands().add(timeExpression);
+ assertSuperset(expression.getOwnedElements().contains(timeExpression));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ expression.getOperands().add(instanceValue);
+ assertSuperset(expression.getOwnedElements().contains(instanceValue));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtendTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtendTest.java
new file mode 100755
index 00000000..1a7d5f99
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtendTest.java
@@ -0,0 +1,173 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ExtendTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ extend.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ extend.getOwnedComments().add(comment);
+ assertSuperset(extend.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ EList<Element> elements = extend.getOwnedElements();
+ EList<Element> elements2 = extend.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ EList<Dependency> dependencys = extend.getClientDependencies();
+ EList<Dependency> dependencys2 = extend.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ extend.setNameExpression(stringExpression);
+ assertSuperset(extend.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRelatedElement() {
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ EList<Element> elements = extend.getRelatedElements();
+ EList<Element> elements2 = extend.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ EList<Element> elements = extend.getSources();
+ EList<Element> elements2 = extend.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ EList<Element> elements = extend.getTargets();
+ EList<Element> elements2 = extend.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testCondition() {
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ extend.setCondition(intervalConstraint);
+ assertSuperset(extend.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ extend.setCondition(timeConstraint);
+ assertSuperset(extend.getOwnedElements().contains(timeConstraint));
+
+ Extend extend2 = UML.createExtend();
+ assertValid(extend2);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ extend2.setCondition(interactionConstraint);
+ assertSuperset(
+ extend2.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ extend2.setCondition(constraint);
+ assertSuperset(extend2.getOwnedElements().contains(constraint));
+
+ Extend extend3 = UML.createExtend();
+ assertValid(extend3);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ extend3.setCondition(durationConstraint);
+ assertSuperset(extend3.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testExtendedCase() {
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ extend.setExtendedCase(useCase);
+ assertSuperset(extend.getTargets().contains(useCase));
+ }
+
+ public void testExtensionLocation() {
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ extend.getExtensionLocations().add(extensionPoint);
+ }
+
+ public void testExtension() {
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ extend.setExtension(useCase);
+ assertSuperset(extend.getSources().contains(useCase));
+ assertSuperset(extend.getNamespace() == useCase);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtensionEndTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtensionEndTest.java
new file mode 100755
index 00000000..fde7b57c
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtensionEndTest.java
@@ -0,0 +1,722 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+
+/**
+ * @author Eike Stepper
+ */
+public class ExtensionEndTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ extensionEnd.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ extensionEnd.getOwnedComments().add(comment);
+ assertSuperset(extensionEnd.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ EList<Element> elements = extensionEnd.getOwnedElements();
+ EList<Element> elements2 = extensionEnd.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ EList<Dependency> dependencys = extensionEnd.getClientDependencies();
+ EList<Dependency> dependencys2 = extensionEnd.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ extensionEnd.setNameExpression(stringExpression);
+ assertSuperset(
+ extensionEnd.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ EList<RedefinableElement> redefinableElements = extensionEnd
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = extensionEnd
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ EList<Classifier> classifiers = extensionEnd.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = extensionEnd.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testFeaturingClassifier() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ EList<Classifier> classifiers = extensionEnd.getFeaturingClassifiers();
+ EList<Classifier> classifiers2 = extensionEnd.getFeaturingClassifiers();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testType() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ extensionEnd.setType(stereotype);
+ }
+
+ public void testLowerValue() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ extensionEnd.setLowerValue(literalBoolean);
+ assertSuperset(
+ extensionEnd.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ extensionEnd.setLowerValue(interval);
+ assertSuperset(extensionEnd.getOwnedElements().contains(interval));
+
+ ExtensionEnd extensionEnd2 = UML.createExtensionEnd();
+ assertValid(extensionEnd2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ extensionEnd2.setLowerValue(opaqueExpression);
+ assertSuperset(
+ extensionEnd2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ extensionEnd2.setLowerValue(expression);
+ assertSuperset(extensionEnd2.getOwnedElements().contains(expression));
+
+ ExtensionEnd extensionEnd3 = UML.createExtensionEnd();
+ assertValid(extensionEnd3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ extensionEnd3.setLowerValue(literalReal);
+ assertSuperset(extensionEnd3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ extensionEnd3.setLowerValue(literalString);
+ assertSuperset(
+ extensionEnd3.getOwnedElements().contains(literalString));
+
+ ExtensionEnd extensionEnd4 = UML.createExtensionEnd();
+ assertValid(extensionEnd4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ extensionEnd4.setLowerValue(literalNull);
+ assertSuperset(extensionEnd4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ extensionEnd4.setLowerValue(duration);
+ assertSuperset(extensionEnd4.getOwnedElements().contains(duration));
+
+ ExtensionEnd extensionEnd5 = UML.createExtensionEnd();
+ assertValid(extensionEnd5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ extensionEnd5.setLowerValue(literalInteger);
+ assertSuperset(
+ extensionEnd5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ extensionEnd5.setLowerValue(durationInterval);
+ assertSuperset(
+ extensionEnd5.getOwnedElements().contains(durationInterval));
+
+ ExtensionEnd extensionEnd6 = UML.createExtensionEnd();
+ assertValid(extensionEnd6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ extensionEnd6.setLowerValue(stringExpression);
+ assertSuperset(
+ extensionEnd6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ extensionEnd6.setLowerValue(literalUnlimitedNatural);
+ assertSuperset(
+ extensionEnd6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ExtensionEnd extensionEnd7 = UML.createExtensionEnd();
+ assertValid(extensionEnd7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ extensionEnd7.setLowerValue(timeInterval);
+ assertSuperset(extensionEnd7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ extensionEnd7.setLowerValue(timeExpression);
+ assertSuperset(
+ extensionEnd7.getOwnedElements().contains(timeExpression));
+
+ ExtensionEnd extensionEnd8 = UML.createExtensionEnd();
+ assertValid(extensionEnd8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ extensionEnd8.setLowerValue(instanceValue);
+ assertSuperset(
+ extensionEnd8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testUpperValue() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ extensionEnd.setUpperValue(literalBoolean);
+ assertSuperset(
+ extensionEnd.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ extensionEnd.setUpperValue(interval);
+ assertSuperset(extensionEnd.getOwnedElements().contains(interval));
+
+ ExtensionEnd extensionEnd2 = UML.createExtensionEnd();
+ assertValid(extensionEnd2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ extensionEnd2.setUpperValue(opaqueExpression);
+ assertSuperset(
+ extensionEnd2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ extensionEnd2.setUpperValue(expression);
+ assertSuperset(extensionEnd2.getOwnedElements().contains(expression));
+
+ ExtensionEnd extensionEnd3 = UML.createExtensionEnd();
+ assertValid(extensionEnd3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ extensionEnd3.setUpperValue(literalReal);
+ assertSuperset(extensionEnd3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ extensionEnd3.setUpperValue(literalString);
+ assertSuperset(
+ extensionEnd3.getOwnedElements().contains(literalString));
+
+ ExtensionEnd extensionEnd4 = UML.createExtensionEnd();
+ assertValid(extensionEnd4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ extensionEnd4.setUpperValue(literalNull);
+ assertSuperset(extensionEnd4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ extensionEnd4.setUpperValue(duration);
+ assertSuperset(extensionEnd4.getOwnedElements().contains(duration));
+
+ ExtensionEnd extensionEnd5 = UML.createExtensionEnd();
+ assertValid(extensionEnd5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ extensionEnd5.setUpperValue(literalInteger);
+ assertSuperset(
+ extensionEnd5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ extensionEnd5.setUpperValue(durationInterval);
+ assertSuperset(
+ extensionEnd5.getOwnedElements().contains(durationInterval));
+
+ ExtensionEnd extensionEnd6 = UML.createExtensionEnd();
+ assertValid(extensionEnd6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ extensionEnd6.setUpperValue(stringExpression);
+ assertSuperset(
+ extensionEnd6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ extensionEnd6.setUpperValue(literalUnlimitedNatural);
+ assertSuperset(
+ extensionEnd6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ExtensionEnd extensionEnd7 = UML.createExtensionEnd();
+ assertValid(extensionEnd7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ extensionEnd7.setUpperValue(timeInterval);
+ assertSuperset(extensionEnd7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ extensionEnd7.setUpperValue(timeExpression);
+ assertSuperset(
+ extensionEnd7.getOwnedElements().contains(timeExpression));
+
+ ExtensionEnd extensionEnd8 = UML.createExtensionEnd();
+ assertValid(extensionEnd8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ extensionEnd8.setUpperValue(instanceValue);
+ assertSuperset(
+ extensionEnd8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testOwningTemplateParameter() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ extensionEnd
+ .setOwningTemplateParameter(connectableElementTemplateParameter);
+ assertSuperset(
+ extensionEnd.getOwner() == connectableElementTemplateParameter);
+ assertSuperset(extensionEnd
+ .getTemplateParameter() == connectableElementTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ extensionEnd.setTemplateParameter(connectableElementTemplateParameter);
+ }
+
+ public void testDeployedElement() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ EList<PackageableElement> packageableElements = extensionEnd
+ .getDeployedElements();
+ EList<PackageableElement> packageableElements2 = extensionEnd
+ .getDeployedElements();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testDeployment() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ extensionEnd.getDeployments().add(deployment);
+ assertSuperset(extensionEnd.getOwnedElements().contains(deployment));
+ assertSuperset(
+ extensionEnd.getClientDependencies().contains(deployment));
+ }
+
+ public void testDatatype() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ extensionEnd.setDatatype(enumeration);
+ assertSuperset(extensionEnd.getNamespace() == enumeration);
+ assertSuperset(
+ extensionEnd.getFeaturingClassifiers().contains(enumeration));
+ assertSuperset(
+ extensionEnd.getRedefinitionContexts().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ extensionEnd.setDatatype(primitiveType);
+ assertSuperset(extensionEnd.getNamespace() == primitiveType);
+ assertSuperset(
+ extensionEnd.getFeaturingClassifiers().contains(primitiveType));
+ assertSuperset(
+ extensionEnd.getRedefinitionContexts().contains(primitiveType));
+
+ ExtensionEnd extensionEnd2 = UML.createExtensionEnd();
+ assertValid(extensionEnd2);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ extensionEnd2.setDatatype(dataType);
+ assertSuperset(extensionEnd2.getNamespace() == dataType);
+ assertSuperset(
+ extensionEnd2.getFeaturingClassifiers().contains(dataType));
+ assertSuperset(
+ extensionEnd2.getRedefinitionContexts().contains(dataType));
+ }
+
+ public void testInterface() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ extensionEnd.setInterface(interface_);
+ assertSuperset(extensionEnd.getNamespace() == interface_);
+ assertSuperset(
+ extensionEnd.getFeaturingClassifiers().contains(interface_));
+ assertSuperset(
+ extensionEnd.getRedefinitionContexts().contains(interface_));
+ }
+
+ public void testAssociationEnd() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ extensionEnd.setAssociationEnd(port);
+ assertSuperset(extensionEnd.getOwner() == port);
+
+ ExtensionEnd extensionEnd2 = UML.createExtensionEnd();
+ assertValid(extensionEnd2);
+ extensionEnd.setAssociationEnd(extensionEnd2);
+ assertSuperset(extensionEnd.getOwner() == extensionEnd2);
+
+ ExtensionEnd extensionEnd3 = UML.createExtensionEnd();
+ assertValid(extensionEnd3);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ extensionEnd3.setAssociationEnd(property);
+ assertSuperset(extensionEnd3.getOwner() == property);
+ }
+
+ public void testQualifier() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ extensionEnd.getQualifiers().add(port);
+ assertSuperset(extensionEnd.getOwnedElements().contains(port));
+
+ ExtensionEnd extensionEnd2 = UML.createExtensionEnd();
+ assertValid(extensionEnd2);
+ extensionEnd.getQualifiers().add(extensionEnd2);
+ assertSuperset(extensionEnd.getOwnedElements().contains(extensionEnd2));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ extensionEnd.getQualifiers().add(property);
+ assertSuperset(extensionEnd.getOwnedElements().contains(property));
+ }
+
+ public void testDefaultValue() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ extensionEnd.setDefaultValue(literalBoolean);
+ assertSuperset(
+ extensionEnd.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ extensionEnd.setDefaultValue(interval);
+ assertSuperset(extensionEnd.getOwnedElements().contains(interval));
+
+ ExtensionEnd extensionEnd2 = UML.createExtensionEnd();
+ assertValid(extensionEnd2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ extensionEnd2.setDefaultValue(opaqueExpression);
+ assertSuperset(
+ extensionEnd2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ extensionEnd2.setDefaultValue(expression);
+ assertSuperset(extensionEnd2.getOwnedElements().contains(expression));
+
+ ExtensionEnd extensionEnd3 = UML.createExtensionEnd();
+ assertValid(extensionEnd3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ extensionEnd3.setDefaultValue(literalReal);
+ assertSuperset(extensionEnd3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ extensionEnd3.setDefaultValue(literalString);
+ assertSuperset(
+ extensionEnd3.getOwnedElements().contains(literalString));
+
+ ExtensionEnd extensionEnd4 = UML.createExtensionEnd();
+ assertValid(extensionEnd4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ extensionEnd4.setDefaultValue(literalNull);
+ assertSuperset(extensionEnd4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ extensionEnd4.setDefaultValue(duration);
+ assertSuperset(extensionEnd4.getOwnedElements().contains(duration));
+
+ ExtensionEnd extensionEnd5 = UML.createExtensionEnd();
+ assertValid(extensionEnd5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ extensionEnd5.setDefaultValue(literalInteger);
+ assertSuperset(
+ extensionEnd5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ extensionEnd5.setDefaultValue(durationInterval);
+ assertSuperset(
+ extensionEnd5.getOwnedElements().contains(durationInterval));
+
+ ExtensionEnd extensionEnd6 = UML.createExtensionEnd();
+ assertValid(extensionEnd6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ extensionEnd6.setDefaultValue(stringExpression);
+ assertSuperset(
+ extensionEnd6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ extensionEnd6.setDefaultValue(literalUnlimitedNatural);
+ assertSuperset(
+ extensionEnd6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ExtensionEnd extensionEnd7 = UML.createExtensionEnd();
+ assertValid(extensionEnd7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ extensionEnd7.setDefaultValue(timeInterval);
+ assertSuperset(extensionEnd7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ extensionEnd7.setDefaultValue(timeExpression);
+ assertSuperset(
+ extensionEnd7.getOwnedElements().contains(timeExpression));
+
+ ExtensionEnd extensionEnd8 = UML.createExtensionEnd();
+ assertValid(extensionEnd8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ extensionEnd8.setDefaultValue(instanceValue);
+ assertSuperset(
+ extensionEnd8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testOwningAssociation() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ extensionEnd.setOwningAssociation(extension);
+ assertSuperset(
+ extensionEnd.getFeaturingClassifiers().contains(extension));
+ assertSuperset(extensionEnd.getNamespace() == extension);
+ assertSuperset(extensionEnd.getAssociation() == extension);
+ assertSuperset(
+ extensionEnd.getRedefinitionContexts().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ extensionEnd.setOwningAssociation(associationClass);
+ assertSuperset(
+ extensionEnd.getFeaturingClassifiers().contains(associationClass));
+ assertSuperset(extensionEnd.getNamespace() == associationClass);
+ assertSuperset(extensionEnd.getAssociation() == associationClass);
+ assertSuperset(
+ extensionEnd.getRedefinitionContexts().contains(associationClass));
+
+ ExtensionEnd extensionEnd2 = UML.createExtensionEnd();
+ assertValid(extensionEnd2);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ extensionEnd2.setOwningAssociation(communicationPath);
+ assertSuperset(extensionEnd2.getFeaturingClassifiers()
+ .contains(communicationPath));
+ assertSuperset(extensionEnd2.getNamespace() == communicationPath);
+ assertSuperset(extensionEnd2.getAssociation() == communicationPath);
+ assertSuperset(extensionEnd2.getRedefinitionContexts()
+ .contains(communicationPath));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ extensionEnd2.setOwningAssociation(association);
+ assertSuperset(
+ extensionEnd2.getFeaturingClassifiers().contains(association));
+ assertSuperset(extensionEnd2.getNamespace() == association);
+ assertSuperset(extensionEnd2.getAssociation() == association);
+ assertSuperset(
+ extensionEnd2.getRedefinitionContexts().contains(association));
+ }
+
+ public void testRedefinedProperty() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ extensionEnd.getRedefinedProperties().add(port);
+ assertSuperset(extensionEnd.getRedefinedElements().contains(port));
+
+ ExtensionEnd extensionEnd2 = UML.createExtensionEnd();
+ assertValid(extensionEnd2);
+ extensionEnd.getRedefinedProperties().add(extensionEnd2);
+ assertSuperset(
+ extensionEnd.getRedefinedElements().contains(extensionEnd2));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ extensionEnd.getRedefinedProperties().add(property);
+ assertSuperset(extensionEnd.getRedefinedElements().contains(property));
+ }
+
+ public void testSubsettedProperty() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ extensionEnd.getSubsettedProperties().add(port);
+
+ ExtensionEnd extensionEnd2 = UML.createExtensionEnd();
+ assertValid(extensionEnd2);
+ extensionEnd.getSubsettedProperties().add(extensionEnd2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ extensionEnd.getSubsettedProperties().add(property);
+ }
+
+ public void testAssociation() {
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ extensionEnd.setAssociation(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ extensionEnd.setAssociation(associationClass);
+
+ ExtensionEnd extensionEnd2 = UML.createExtensionEnd();
+ assertValid(extensionEnd2);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ extensionEnd2.setAssociation(communicationPath);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ extensionEnd2.setAssociation(association);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtensionPointTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtensionPointTest.java
new file mode 100755
index 00000000..cf3c4b0a
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtensionPointTest.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ExtensionPointTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ extensionPoint.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ extensionPoint.getOwnedComments().add(comment);
+ assertSuperset(extensionPoint.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ EList<Element> elements = extensionPoint.getOwnedElements();
+ EList<Element> elements2 = extensionPoint.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ EList<Dependency> dependencys = extensionPoint.getClientDependencies();
+ EList<Dependency> dependencys2 = extensionPoint.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ extensionPoint.setNameExpression(stringExpression);
+ assertSuperset(
+ extensionPoint.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ EList<RedefinableElement> redefinableElements = extensionPoint
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = extensionPoint
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ EList<Classifier> classifiers = extensionPoint
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = extensionPoint
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testUseCase() {
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ extensionPoint.setUseCase(useCase);
+ assertSuperset(extensionPoint.getNamespace() == useCase);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtensionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtensionTest.java
new file mode 100755
index 00000000..fc230db1
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ExtensionTest.java
@@ -0,0 +1,579 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ExtensionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ extension.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ extension.getOwnedComments().add(comment);
+ assertSuperset(extension.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ EList<Element> elements = extension.getOwnedElements();
+ EList<Element> elements2 = extension.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ EList<Dependency> dependencys = extension.getClientDependencies();
+ EList<Dependency> dependencys2 = extension.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ extension.setNameExpression(stringExpression);
+ assertSuperset(extension.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ extension.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ extension.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ extension.getOwnedRules().add(timeConstraint);
+ assertSuperset(extension.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ extension.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ extension.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ extension.getOwnedRules().add(constraint);
+ assertSuperset(extension.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ extension.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ extension.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ extension.getElementImports().add(elementImport);
+ assertSuperset(extension.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ extension.getPackageImports().add(packageImport);
+ assertSuperset(extension.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ EList<NamedElement> namedElements = extension.getOwnedMembers();
+ EList<NamedElement> namedElements2 = extension.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ EList<PackageableElement> packageableElements = extension
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = extension
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ EList<NamedElement> namedElements = extension.getMembers();
+ EList<NamedElement> namedElements2 = extension.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ EList<RedefinableElement> redefinableElements = extension
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = extension
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ EList<Classifier> classifiers = extension.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = extension.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ extension.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(extension.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ extension.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ extension.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ extension.getTemplateBindings().add(templateBinding);
+ assertSuperset(extension.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ extension.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(extension.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ EList<Feature> features = extension.getFeatures();
+ EList<Feature> features2 = extension.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ EList<Property> propertys = extension.getAttributes();
+ EList<Property> propertys2 = extension.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ extension.getCollaborationUses().add(collaborationUse);
+ assertSuperset(extension.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ EList<Classifier> classifiers = extension.getGenerals();
+ EList<Classifier> classifiers2 = extension.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ extension.getGeneralizations().add(generalization);
+ assertSuperset(extension.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ extension.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ EList<NamedElement> namedElements = extension.getInheritedMembers();
+ EList<NamedElement> namedElements2 = extension.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ extension.getOwnedUseCases().add(useCase);
+ assertSuperset(extension.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ extension.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ extension.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ extension.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ extension.getRedefinedClassifiers().add(activity);
+ assertSuperset(extension.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ extension.getRedefinedClassifiers().add(interface_);
+ assertSuperset(extension.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ extension.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ extension.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ extension.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ extension.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ extension.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ extension.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ extension.getRedefinedClassifiers().add(component);
+ assertSuperset(extension.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ extension.getRedefinedClassifiers().add(interaction);
+ assertSuperset(extension.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ extension.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ extension.getRedefinedElements().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ extension.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ extension.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ extension.getRedefinedClassifiers().add(association);
+ assertSuperset(extension.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ extension.getRedefinedClassifiers().add(dataType);
+ assertSuperset(extension.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ extension.getRedefinedClassifiers().add(device);
+ assertSuperset(extension.getRedefinedElements().contains(device));
+
+ Extension extension2 = UML.createExtension();
+ assertValid(extension2);
+ extension.getRedefinedClassifiers().add(extension2);
+ assertSuperset(extension.getRedefinedElements().contains(extension2));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ extension.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ extension.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ extension.getRedefinedClassifiers().add(class_);
+ assertSuperset(extension.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ extension.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(extension.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ extension.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ extension.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ extension.getRedefinedClassifiers().add(actor);
+ assertSuperset(extension.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ extension.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ extension.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ extension.getRedefinedClassifiers().add(useCase);
+ assertSuperset(extension.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ extension.getRedefinedClassifiers().add(signal);
+ assertSuperset(extension.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ extension.getRedefinedClassifiers().add(node);
+ assertSuperset(extension.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ extension.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(extension.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ extension.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(extension.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ extension.getRedefinedClassifiers().add(artifact);
+ assertSuperset(extension.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ extension.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ extension.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ extension.setRepresentation(collaborationUse);
+ assertSuperset(
+ extension.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ extension.getSubstitutions().add(substitution);
+ assertSuperset(extension.getOwnedElements().contains(substitution));
+ assertSuperset(
+ extension.getClientDependencies().contains(substitution));
+ }
+
+ public void testRelatedElement() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ EList<Element> elements = extension.getRelatedElements();
+ EList<Element> elements2 = extension.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testEndType() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ EList<Type> types = extension.getEndTypes();
+ EList<Type> types2 = extension.getEndTypes();
+ assertSame(types, types2);
+ }
+
+ public void testMemberEnd() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ extension.getMemberEnds().add(port);
+ assertSuperset(extension.getMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ extension.getMemberEnds().add(extensionEnd);
+ assertSuperset(extension.getMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ extension.getMemberEnds().add(property);
+ assertSuperset(extension.getMembers().contains(property));
+ }
+
+ public void testOwnedEnd() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ extension.getOwnedEnds().add(extensionEnd);
+ assertSuperset(extension.getMemberEnds().contains(extensionEnd));
+ assertSuperset(extension.getFeatures().contains(extensionEnd));
+ assertSuperset(extension.getOwnedMembers().contains(extensionEnd));
+ }
+
+ public void testNavigableOwnedEnd() {
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ extension.getNavigableOwnedEnds().add(extensionEnd);
+ assertSuperset(extension.getOwnedEnds().contains(extensionEnd));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/FinalStateTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/FinalStateTest.java
new file mode 100755
index 00000000..37d02d31
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/FinalStateTest.java
@@ -0,0 +1,362 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.Trigger;
+
+/**
+ * @author Eike Stepper
+ */
+public class FinalStateTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ finalState.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ finalState.getOwnedComments().add(comment);
+ assertSuperset(finalState.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ EList<Element> elements = finalState.getOwnedElements();
+ EList<Element> elements2 = finalState.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ EList<Dependency> dependencys = finalState.getClientDependencies();
+ EList<Dependency> dependencys2 = finalState.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ finalState.setNameExpression(stringExpression);
+ assertSuperset(
+ finalState.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ finalState.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ finalState.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ finalState.getOwnedRules().add(timeConstraint);
+ assertSuperset(finalState.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ finalState.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ finalState.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ finalState.getOwnedRules().add(constraint);
+ assertSuperset(finalState.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ finalState.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ finalState.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ finalState.getElementImports().add(elementImport);
+ assertSuperset(finalState.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ finalState.getPackageImports().add(packageImport);
+ assertSuperset(finalState.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ EList<NamedElement> namedElements = finalState.getOwnedMembers();
+ EList<NamedElement> namedElements2 = finalState.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ EList<PackageableElement> packageableElements = finalState
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = finalState
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ EList<NamedElement> namedElements = finalState.getMembers();
+ EList<NamedElement> namedElements2 = finalState.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ EList<RedefinableElement> redefinableElements = finalState
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = finalState
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ EList<Classifier> classifiers = finalState.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = finalState.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testContainer() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ finalState.setContainer(region);
+ assertSuperset(finalState.getNamespace() == region);
+ }
+
+ public void testConnection() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ finalState.getConnections().add(connectionPointReference);
+ assertSuperset(
+ finalState.getOwnedMembers().contains(connectionPointReference));
+ }
+
+ public void testConnectionPoint() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ finalState.getConnectionPoints().add(pseudostate);
+ assertSuperset(finalState.getOwnedMembers().contains(pseudostate));
+ }
+
+ public void testDeferrableTrigger() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ finalState.getDeferrableTriggers().add(trigger);
+ assertSuperset(finalState.getOwnedElements().contains(trigger));
+ }
+
+ public void testDoActivity() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ finalState.setDoActivity(protocolStateMachine);
+ assertSuperset(
+ finalState.getOwnedElements().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ finalState.setDoActivity(stateMachine);
+ assertSuperset(finalState.getOwnedElements().contains(stateMachine));
+ }
+
+ public void testEntry() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ finalState.setEntry(protocolStateMachine);
+ assertSuperset(
+ finalState.getOwnedElements().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ finalState.setEntry(stateMachine);
+ assertSuperset(finalState.getOwnedElements().contains(stateMachine));
+ }
+
+ public void testExit() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ finalState.setExit(protocolStateMachine);
+ assertSuperset(
+ finalState.getOwnedElements().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ finalState.setExit(stateMachine);
+ assertSuperset(finalState.getOwnedElements().contains(stateMachine));
+ }
+
+ public void testRedefinedState() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ FinalState finalState2 = UML.createFinalState();
+ assertValid(finalState2);
+ finalState.setRedefinedState(finalState2);
+ assertSuperset(finalState.getRedefinedElements().contains(finalState2));
+
+ State state = UML.createState();
+ assertValid(state);
+ finalState.setRedefinedState(state);
+ assertSuperset(finalState.getRedefinedElements().contains(state));
+ }
+
+ public void testStateInvariant() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ finalState.setStateInvariant(intervalConstraint);
+ assertSuperset(finalState.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ finalState.setStateInvariant(timeConstraint);
+ assertSuperset(finalState.getOwnedRules().contains(timeConstraint));
+
+ FinalState finalState2 = UML.createFinalState();
+ assertValid(finalState2);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ finalState2.setStateInvariant(interactionConstraint);
+ assertSuperset(
+ finalState2.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ finalState2.setStateInvariant(constraint);
+ assertSuperset(finalState2.getOwnedRules().contains(constraint));
+
+ FinalState finalState3 = UML.createFinalState();
+ assertValid(finalState3);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ finalState3.setStateInvariant(durationConstraint);
+ assertSuperset(
+ finalState3.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testSubmachine() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ finalState.setSubmachine(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ finalState.setSubmachine(stateMachine);
+ }
+
+ public void testRegion() {
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ finalState.getRegions().add(region);
+ assertSuperset(finalState.getOwnedMembers().contains(region));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/FlowFinalNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/FlowFinalNodeTest.java
new file mode 100755
index 00000000..95b2ea8c
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/FlowFinalNodeTest.java
@@ -0,0 +1,613 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class FlowFinalNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ flowFinalNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ flowFinalNode.getOwnedComments().add(comment);
+ assertSuperset(flowFinalNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ EList<Element> elements = flowFinalNode.getOwnedElements();
+ EList<Element> elements2 = flowFinalNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ EList<Dependency> dependencys = flowFinalNode.getClientDependencies();
+ EList<Dependency> dependencys2 = flowFinalNode.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ flowFinalNode.setNameExpression(stringExpression);
+ assertSuperset(
+ flowFinalNode.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ EList<RedefinableElement> redefinableElements = flowFinalNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = flowFinalNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ EList<Classifier> classifiers = flowFinalNode.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = flowFinalNode
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ EList<ActivityGroup> activityGroups = flowFinalNode.getInGroups();
+ EList<ActivityGroup> activityGroups2 = flowFinalNode.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ flowFinalNode.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ flowFinalNode.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ flowFinalNode.setInStructuredNode(loopNode);
+ assertSuperset(flowFinalNode.getInGroups().contains(loopNode));
+ assertSuperset(flowFinalNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ flowFinalNode.setInStructuredNode(expansionRegion);
+ assertSuperset(flowFinalNode.getInGroups().contains(expansionRegion));
+ assertSuperset(flowFinalNode.getOwner() == expansionRegion);
+
+ FlowFinalNode flowFinalNode2 = UML.createFlowFinalNode();
+ assertValid(flowFinalNode2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ flowFinalNode2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ flowFinalNode2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(flowFinalNode2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ flowFinalNode2.setInStructuredNode(conditionalNode);
+ assertSuperset(flowFinalNode2.getInGroups().contains(conditionalNode));
+ assertSuperset(flowFinalNode2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ flowFinalNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ flowFinalNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ flowFinalNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ flowFinalNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ flowFinalNode.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ flowFinalNode.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ flowFinalNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ flowFinalNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(flowFinalNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ flowFinalNode.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ flowFinalNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(flowFinalNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ flowFinalNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ flowFinalNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ flowFinalNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ flowFinalNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ flowFinalNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode2 = UML.createFlowFinalNode();
+ assertValid(flowFinalNode2);
+ flowFinalNode.getRedefinedNodes().add(flowFinalNode2);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(flowFinalNode2));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ flowFinalNode.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ flowFinalNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ flowFinalNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ flowFinalNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(flowFinalNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ flowFinalNode.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ flowFinalNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(flowFinalNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ flowFinalNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ flowFinalNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ flowFinalNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ flowFinalNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ flowFinalNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ flowFinalNode.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ flowFinalNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ flowFinalNode.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ flowFinalNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ flowFinalNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ flowFinalNode.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ flowFinalNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ flowFinalNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ flowFinalNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ flowFinalNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ flowFinalNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ flowFinalNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ flowFinalNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ flowFinalNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ flowFinalNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ flowFinalNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ flowFinalNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ flowFinalNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ flowFinalNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ flowFinalNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ flowFinalNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ flowFinalNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ flowFinalNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(flowFinalNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ flowFinalNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ flowFinalNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ flowFinalNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ flowFinalNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ flowFinalNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ flowFinalNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ flowFinalNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ flowFinalNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ flowFinalNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ flowFinalNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ flowFinalNode.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ flowFinalNode.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(flowFinalNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ flowFinalNode.getInPartitions().add(activityPartition);
+ assertSuperset(flowFinalNode.getInGroups().contains(activityPartition));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ForkNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ForkNodeTest.java
new file mode 100755
index 00000000..b9798cea
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ForkNodeTest.java
@@ -0,0 +1,598 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ForkNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ forkNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ forkNode.getOwnedComments().add(comment);
+ assertSuperset(forkNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ EList<Element> elements = forkNode.getOwnedElements();
+ EList<Element> elements2 = forkNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ EList<Dependency> dependencys = forkNode.getClientDependencies();
+ EList<Dependency> dependencys2 = forkNode.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ forkNode.setNameExpression(stringExpression);
+ assertSuperset(forkNode.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ EList<RedefinableElement> redefinableElements = forkNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = forkNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ EList<Classifier> classifiers = forkNode.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = forkNode.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ EList<ActivityGroup> activityGroups = forkNode.getInGroups();
+ EList<ActivityGroup> activityGroups2 = forkNode.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ forkNode.getInInterruptibleRegions().add(interruptibleActivityRegion);
+ assertSuperset(
+ forkNode.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ forkNode.setInStructuredNode(loopNode);
+ assertSuperset(forkNode.getInGroups().contains(loopNode));
+ assertSuperset(forkNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ forkNode.setInStructuredNode(expansionRegion);
+ assertSuperset(forkNode.getInGroups().contains(expansionRegion));
+ assertSuperset(forkNode.getOwner() == expansionRegion);
+
+ ForkNode forkNode2 = UML.createForkNode();
+ assertValid(forkNode2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ forkNode2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ forkNode2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(forkNode2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ forkNode2.setInStructuredNode(conditionalNode);
+ assertSuperset(forkNode2.getInGroups().contains(conditionalNode));
+ assertSuperset(forkNode2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ forkNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ forkNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ forkNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ forkNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ forkNode.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(forkNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ forkNode.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(forkNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ forkNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ forkNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(forkNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ forkNode.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(forkNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ forkNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(forkNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ forkNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ forkNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ forkNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ forkNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(forkNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ forkNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ forkNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(forkNode.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ forkNode.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(forkNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ forkNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ forkNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ forkNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(forkNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ forkNode.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(forkNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode2 = UML.createForkNode();
+ assertValid(forkNode2);
+ forkNode.getRedefinedNodes().add(forkNode2);
+ assertSuperset(forkNode.getRedefinedElements().contains(forkNode2));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ forkNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(forkNode.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ forkNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ forkNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ forkNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ forkNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ forkNode.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(forkNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ forkNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ forkNode.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(forkNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ forkNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ forkNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ forkNode.getRedefinedNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(forkNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ forkNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ forkNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ forkNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(forkNode.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ forkNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ forkNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(forkNode.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ forkNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ forkNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ forkNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(forkNode.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ forkNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(forkNode.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ forkNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ forkNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(forkNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ forkNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ forkNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ forkNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ forkNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ forkNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ forkNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(forkNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ forkNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ forkNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ forkNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ forkNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ forkNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ forkNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(forkNode.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ forkNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(forkNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ forkNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(forkNode.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ forkNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ forkNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ forkNode.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ forkNode.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(forkNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ forkNode.getInPartitions().add(activityPartition);
+ assertSuperset(forkNode.getInGroups().contains(activityPartition));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/FunctionBehaviorTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/FunctionBehaviorTest.java
new file mode 100755
index 00000000..dd4ca74a
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/FunctionBehaviorTest.java
@@ -0,0 +1,992 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class FunctionBehaviorTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ functionBehavior.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ functionBehavior.getOwnedComments().add(comment);
+ assertSuperset(functionBehavior.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<Element> elements = functionBehavior.getOwnedElements();
+ EList<Element> elements2 = functionBehavior.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<Dependency> dependencys = functionBehavior
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = functionBehavior
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ functionBehavior.setNameExpression(stringExpression);
+ assertSuperset(
+ functionBehavior.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ functionBehavior.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ functionBehavior.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ functionBehavior.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ functionBehavior.getOwnedRules().add(constraint);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ functionBehavior.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ functionBehavior.getElementImports().add(elementImport);
+ assertSuperset(
+ functionBehavior.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ functionBehavior.getPackageImports().add(packageImport);
+ assertSuperset(
+ functionBehavior.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<NamedElement> namedElements = functionBehavior.getOwnedMembers();
+ EList<NamedElement> namedElements2 = functionBehavior.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<PackageableElement> packageableElements = functionBehavior
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = functionBehavior
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<NamedElement> namedElements = functionBehavior.getMembers();
+ EList<NamedElement> namedElements2 = functionBehavior.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<RedefinableElement> redefinableElements = functionBehavior
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = functionBehavior
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<Classifier> classifiers = functionBehavior
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = functionBehavior
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ functionBehavior
+ .setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(
+ functionBehavior.getOwner() == classifierTemplateParameter);
+ assertSuperset(functionBehavior
+ .getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ functionBehavior.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ functionBehavior.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ functionBehavior.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ functionBehavior
+ .setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(functionBehavior.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<Feature> features = functionBehavior.getFeatures();
+ EList<Feature> features2 = functionBehavior.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<Property> propertys = functionBehavior.getAttributes();
+ EList<Property> propertys2 = functionBehavior.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ functionBehavior.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ functionBehavior.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<Classifier> classifiers = functionBehavior.getGenerals();
+ EList<Classifier> classifiers2 = functionBehavior.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ functionBehavior.getGeneralizations().add(generalization);
+ assertSuperset(
+ functionBehavior.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ functionBehavior.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<NamedElement> namedElements = functionBehavior
+ .getInheritedMembers();
+ EList<NamedElement> namedElements2 = functionBehavior
+ .getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ functionBehavior.getOwnedUseCases().add(useCase);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ functionBehavior.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ FunctionBehavior functionBehavior2 = UML.createFunctionBehavior();
+ assertValid(functionBehavior2);
+ functionBehavior.getRedefinedClassifiers().add(functionBehavior2);
+ assertSuperset(functionBehavior.getRedefinedElements()
+ .contains(functionBehavior2));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ functionBehavior.getRedefinedClassifiers().add(activity);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ functionBehavior.getRedefinedClassifiers().add(interface_);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ functionBehavior.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ functionBehavior.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(functionBehavior.getRedefinedElements()
+ .contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ functionBehavior.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(functionBehavior.getRedefinedElements()
+ .contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ functionBehavior.getRedefinedClassifiers().add(component);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ functionBehavior.getRedefinedClassifiers().add(interaction);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ functionBehavior.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(functionBehavior.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ functionBehavior.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ functionBehavior.getRedefinedClassifiers().add(association);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ functionBehavior.getRedefinedClassifiers().add(dataType);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ functionBehavior.getRedefinedClassifiers().add(device);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ functionBehavior.getRedefinedClassifiers().add(extension);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ functionBehavior.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ functionBehavior.getRedefinedClassifiers().add(class_);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ functionBehavior.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ functionBehavior.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ functionBehavior.getRedefinedClassifiers().add(actor);
+ assertSuperset(functionBehavior.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ functionBehavior.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(functionBehavior.getRedefinedElements()
+ .contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ functionBehavior.getRedefinedClassifiers().add(useCase);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ functionBehavior.getRedefinedClassifiers().add(signal);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ functionBehavior.getRedefinedClassifiers().add(node);
+ assertSuperset(functionBehavior.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ functionBehavior.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ functionBehavior.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ functionBehavior.getRedefinedClassifiers().add(artifact);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ functionBehavior.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ functionBehavior.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ functionBehavior.setRepresentation(collaborationUse);
+ assertSuperset(
+ functionBehavior.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ functionBehavior.getSubstitutions().add(substitution);
+ assertSuperset(
+ functionBehavior.getOwnedElements().contains(substitution));
+ assertSuperset(
+ functionBehavior.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ functionBehavior.getOwnedAttributes().add(port);
+ assertSuperset(functionBehavior.getAttributes().contains(port));
+ assertSuperset(functionBehavior.getOwnedMembers().contains(port));
+ assertSuperset(functionBehavior.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ functionBehavior.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(functionBehavior.getAttributes().contains(extensionEnd));
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(functionBehavior.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ functionBehavior.getOwnedAttributes().add(property);
+ assertSuperset(functionBehavior.getAttributes().contains(property));
+ assertSuperset(functionBehavior.getOwnedMembers().contains(property));
+ assertSuperset(functionBehavior.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ functionBehavior.getOwnedConnectors().add(connector);
+ assertSuperset(functionBehavior.getFeatures().contains(connector));
+ assertSuperset(functionBehavior.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<Property> propertys = functionBehavior.getParts();
+ EList<Property> propertys2 = functionBehavior.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<ConnectableElement> connectableElements = functionBehavior
+ .getRoles();
+ EList<ConnectableElement> connectableElements2 = functionBehavior
+ .getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testOwnedPort() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<Port> ports = functionBehavior.getOwnedPorts();
+ EList<Port> ports2 = functionBehavior.getOwnedPorts();
+ assertSame(ports, ports2);
+ }
+
+ public void testClassifierBehavior() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ functionBehavior.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(functionBehavior.getOwnedBehaviors()
+ .contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ functionBehavior.setClassifierBehavior(stateMachine);
+ assertSuperset(
+ functionBehavior.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ functionBehavior.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(
+ functionBehavior.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(functionBehavior.getClientDependencies()
+ .contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ functionBehavior.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ functionBehavior.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testOwnedOperation() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ functionBehavior.getOwnedOperations().add(operation);
+ assertSuperset(functionBehavior.getFeatures().contains(operation));
+ assertSuperset(functionBehavior.getOwnedMembers().contains(operation));
+ }
+
+ public void testExtension() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<Extension> extensions = functionBehavior.getExtensions();
+ EList<Extension> extensions2 = functionBehavior.getExtensions();
+ assertSame(extensions, extensions2);
+ }
+
+ public void testNestedClassifier() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ FunctionBehavior functionBehavior2 = UML.createFunctionBehavior();
+ assertValid(functionBehavior2);
+ functionBehavior.getNestedClassifiers().add(functionBehavior2);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(functionBehavior2));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ functionBehavior.getNestedClassifiers().add(activity);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ functionBehavior.getNestedClassifiers().add(interface_);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ functionBehavior.getNestedClassifiers().add(informationItem);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ functionBehavior.getNestedClassifiers().add(communicationPath);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ functionBehavior.getNestedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ functionBehavior.getNestedClassifiers().add(component);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ functionBehavior.getNestedClassifiers().add(interaction);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ functionBehavior.getNestedClassifiers().add(deploymentSpecification);
+ assertSuperset(functionBehavior.getOwnedMembers()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ functionBehavior.getNestedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ functionBehavior.getNestedClassifiers().add(association);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ functionBehavior.getNestedClassifiers().add(dataType);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ functionBehavior.getNestedClassifiers().add(device);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ functionBehavior.getNestedClassifiers().add(extension);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ functionBehavior.getNestedClassifiers().add(associationClass);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ functionBehavior.getNestedClassifiers().add(class_);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ functionBehavior.getNestedClassifiers().add(enumeration);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ functionBehavior.getNestedClassifiers().add(primitiveType);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ functionBehavior.getNestedClassifiers().add(actor);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ functionBehavior.getNestedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ functionBehavior.getNestedClassifiers().add(useCase);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ functionBehavior.getNestedClassifiers().add(signal);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ functionBehavior.getNestedClassifiers().add(node);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ functionBehavior.getNestedClassifiers().add(stereotype);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ functionBehavior.getNestedClassifiers().add(stateMachine);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ functionBehavior.getNestedClassifiers().add(artifact);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ functionBehavior.getNestedClassifiers().add(collaboration);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedReception() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ functionBehavior.getOwnedReceptions().add(reception);
+ assertSuperset(functionBehavior.getFeatures().contains(reception));
+ assertSuperset(functionBehavior.getOwnedMembers().contains(reception));
+ }
+
+ public void testSuperClass() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ EList<org.eclipse.uml2.uml.Class> class_s = functionBehavior
+ .getSuperClasses();
+ EList<org.eclipse.uml2.uml.Class> class_s2 = functionBehavior
+ .getSuperClasses();
+ assertSame(class_s, class_s2);
+ }
+
+ public void testSpecification() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ functionBehavior.setSpecification(reception);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ functionBehavior.setSpecification(operation);
+ }
+
+ public void testOwnedParameter() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ functionBehavior.getOwnedParameters().add(parameter);
+ assertSuperset(functionBehavior.getOwnedMembers().contains(parameter));
+ }
+
+ public void testOwnedParameterSet() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ functionBehavior.getOwnedParameterSets().add(parameterSet);
+ assertSuperset(
+ functionBehavior.getOwnedMembers().contains(parameterSet));
+ }
+
+ public void testPostcondition() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ functionBehavior.getPostconditions().add(intervalConstraint);
+ assertSuperset(
+ functionBehavior.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ functionBehavior.getPostconditions().add(timeConstraint);
+ assertSuperset(
+ functionBehavior.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ functionBehavior.getPostconditions().add(interactionConstraint);
+ assertSuperset(
+ functionBehavior.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ functionBehavior.getPostconditions().add(constraint);
+ assertSuperset(functionBehavior.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ functionBehavior.getPostconditions().add(durationConstraint);
+ assertSuperset(
+ functionBehavior.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testPrecondition() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ functionBehavior.getPreconditions().add(intervalConstraint);
+ assertSuperset(
+ functionBehavior.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ functionBehavior.getPreconditions().add(timeConstraint);
+ assertSuperset(
+ functionBehavior.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ functionBehavior.getPreconditions().add(interactionConstraint);
+ assertSuperset(
+ functionBehavior.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ functionBehavior.getPreconditions().add(constraint);
+ assertSuperset(functionBehavior.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ functionBehavior.getPreconditions().add(durationConstraint);
+ assertSuperset(
+ functionBehavior.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testRedefinedBehavior() {
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ functionBehavior.getRedefinedBehaviors().add(protocolStateMachine);
+ assertSuperset(functionBehavior.getRedefinedClassifiers()
+ .contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ functionBehavior.getRedefinedBehaviors().add(stateMachine);
+ assertSuperset(
+ functionBehavior.getRedefinedClassifiers().contains(stateMachine));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GateTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GateTest.java
new file mode 100755
index 00000000..b35fdc5d
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GateTest.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.StringExpression;
+
+/**
+ * @author Eike Stepper
+ */
+public class GateTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Gate gate = UML.createGate();
+ assertValid(gate);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ gate.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Gate gate = UML.createGate();
+ assertValid(gate);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ gate.getOwnedComments().add(comment);
+ assertSuperset(gate.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ EList<Element> elements = gate.getOwnedElements();
+ EList<Element> elements2 = gate.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ EList<Dependency> dependencys = gate.getClientDependencies();
+ EList<Dependency> dependencys2 = gate.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Gate gate = UML.createGate();
+ assertValid(gate);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ gate.setNameExpression(stringExpression);
+ assertSuperset(gate.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testMessage() {
+ Gate gate = UML.createGate();
+ assertValid(gate);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ gate.setMessage(message);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GeneralOrderingTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GeneralOrderingTest.java
new file mode 100755
index 00000000..184099c0
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GeneralOrderingTest.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.StringExpression;
+
+/**
+ * @author Eike Stepper
+ */
+public class GeneralOrderingTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ generalOrdering.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ generalOrdering.getOwnedComments().add(comment);
+ assertSuperset(generalOrdering.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ EList<Element> elements = generalOrdering.getOwnedElements();
+ EList<Element> elements2 = generalOrdering.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ EList<Dependency> dependencys = generalOrdering.getClientDependencies();
+ EList<Dependency> dependencys2 = generalOrdering
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ generalOrdering.setNameExpression(stringExpression);
+ assertSuperset(
+ generalOrdering.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testAfter() {
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ generalOrdering.setAfter(messageOccurrenceSpecification);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ generalOrdering.setAfter(occurrenceSpecification);
+
+ GeneralOrdering generalOrdering2 = UML.createGeneralOrdering();
+ assertValid(generalOrdering2);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ generalOrdering2.setAfter(executionOccurrenceSpecification);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ generalOrdering2.setAfter(destructionOccurrenceSpecification);
+ }
+
+ public void testBefore() {
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ generalOrdering.setBefore(messageOccurrenceSpecification);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ generalOrdering.setBefore(occurrenceSpecification);
+
+ GeneralOrdering generalOrdering2 = UML.createGeneralOrdering();
+ assertValid(generalOrdering2);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ generalOrdering2.setBefore(executionOccurrenceSpecification);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ generalOrdering2.setBefore(destructionOccurrenceSpecification);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GeneralizationSetTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GeneralizationSetTest.java
new file mode 100755
index 00000000..07bb9b64
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GeneralizationSetTest.java
@@ -0,0 +1,290 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class GeneralizationSetTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ generalizationSet.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ generalizationSet.getOwnedComments().add(comment);
+ assertSuperset(generalizationSet.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ EList<Element> elements = generalizationSet.getOwnedElements();
+ EList<Element> elements2 = generalizationSet.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ EList<Dependency> dependencys = generalizationSet
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = generalizationSet
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ generalizationSet.setNameExpression(stringExpression);
+ assertSuperset(
+ generalizationSet.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ generalizationSet.setOwningTemplateParameter(templateParameter);
+ assertSuperset(generalizationSet.getOwner() == templateParameter);
+ assertSuperset(
+ generalizationSet.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ generalizationSet.setTemplateParameter(templateParameter);
+ }
+
+ public void testPowertype() {
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ generalizationSet.setPowertype(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ generalizationSet.setPowertype(activity);
+
+ GeneralizationSet generalizationSet2 = UML.createGeneralizationSet();
+ assertValid(generalizationSet2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ generalizationSet2.setPowertype(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ generalizationSet2.setPowertype(informationItem);
+
+ GeneralizationSet generalizationSet3 = UML.createGeneralizationSet();
+ assertValid(generalizationSet3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ generalizationSet3.setPowertype(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ generalizationSet3.setPowertype(executionEnvironment);
+
+ GeneralizationSet generalizationSet4 = UML.createGeneralizationSet();
+ assertValid(generalizationSet4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ generalizationSet4.setPowertype(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ generalizationSet4.setPowertype(interaction);
+
+ GeneralizationSet generalizationSet5 = UML.createGeneralizationSet();
+ assertValid(generalizationSet5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ generalizationSet5.setPowertype(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ generalizationSet5.setPowertype(opaqueBehavior);
+
+ GeneralizationSet generalizationSet6 = UML.createGeneralizationSet();
+ assertValid(generalizationSet6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ generalizationSet6.setPowertype(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ generalizationSet6.setPowertype(dataType);
+
+ GeneralizationSet generalizationSet7 = UML.createGeneralizationSet();
+ assertValid(generalizationSet7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ generalizationSet7.setPowertype(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ generalizationSet7.setPowertype(extension);
+
+ GeneralizationSet generalizationSet8 = UML.createGeneralizationSet();
+ assertValid(generalizationSet8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ generalizationSet8.setPowertype(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ generalizationSet8.setPowertype(class_);
+
+ GeneralizationSet generalizationSet9 = UML.createGeneralizationSet();
+ assertValid(generalizationSet9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ generalizationSet9.setPowertype(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ generalizationSet9.setPowertype(primitiveType);
+
+ GeneralizationSet generalizationSet10 = UML.createGeneralizationSet();
+ assertValid(generalizationSet10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ generalizationSet10.setPowertype(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ generalizationSet10.setPowertype(protocolStateMachine);
+
+ GeneralizationSet generalizationSet11 = UML.createGeneralizationSet();
+ assertValid(generalizationSet11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ generalizationSet11.setPowertype(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ generalizationSet11.setPowertype(signal);
+
+ GeneralizationSet generalizationSet12 = UML.createGeneralizationSet();
+ assertValid(generalizationSet12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ generalizationSet12.setPowertype(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ generalizationSet12.setPowertype(stereotype);
+
+ GeneralizationSet generalizationSet13 = UML.createGeneralizationSet();
+ assertValid(generalizationSet13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ generalizationSet13.setPowertype(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ generalizationSet13.setPowertype(artifact);
+
+ GeneralizationSet generalizationSet14 = UML.createGeneralizationSet();
+ assertValid(generalizationSet14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ generalizationSet14.setPowertype(collaboration);
+ }
+
+ public void testGeneralization() {
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ generalizationSet.getGeneralizations().add(generalization);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GeneralizationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GeneralizationTest.java
new file mode 100755
index 00000000..46cbd344
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/GeneralizationTest.java
@@ -0,0 +1,513 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class GeneralizationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ generalization.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ generalization.getOwnedComments().add(comment);
+ assertSuperset(generalization.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ EList<Element> elements = generalization.getOwnedElements();
+ EList<Element> elements2 = generalization.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testRelatedElement() {
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ EList<Element> elements = generalization.getRelatedElements();
+ EList<Element> elements2 = generalization.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ EList<Element> elements = generalization.getSources();
+ EList<Element> elements2 = generalization.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ EList<Element> elements = generalization.getTargets();
+ EList<Element> elements2 = generalization.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testGeneral() {
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ generalization.setGeneral(functionBehavior);
+ assertSuperset(generalization.getTargets().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ generalization.setGeneral(activity);
+ assertSuperset(generalization.getTargets().contains(activity));
+
+ Generalization generalization2 = UML.createGeneralization();
+ assertValid(generalization2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ generalization2.setGeneral(interface_);
+ assertSuperset(generalization2.getTargets().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ generalization2.setGeneral(informationItem);
+ assertSuperset(generalization2.getTargets().contains(informationItem));
+
+ Generalization generalization3 = UML.createGeneralization();
+ assertValid(generalization3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ generalization3.setGeneral(communicationPath);
+ assertSuperset(
+ generalization3.getTargets().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ generalization3.setGeneral(executionEnvironment);
+ assertSuperset(
+ generalization3.getTargets().contains(executionEnvironment));
+
+ Generalization generalization4 = UML.createGeneralization();
+ assertValid(generalization4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ generalization4.setGeneral(component);
+ assertSuperset(generalization4.getTargets().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ generalization4.setGeneral(interaction);
+ assertSuperset(generalization4.getTargets().contains(interaction));
+
+ Generalization generalization5 = UML.createGeneralization();
+ assertValid(generalization5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ generalization5.setGeneral(deploymentSpecification);
+ assertSuperset(
+ generalization5.getTargets().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ generalization5.setGeneral(opaqueBehavior);
+ assertSuperset(generalization5.getTargets().contains(opaqueBehavior));
+
+ Generalization generalization6 = UML.createGeneralization();
+ assertValid(generalization6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ generalization6.setGeneral(association);
+ assertSuperset(generalization6.getTargets().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ generalization6.setGeneral(dataType);
+ assertSuperset(generalization6.getTargets().contains(dataType));
+
+ Generalization generalization7 = UML.createGeneralization();
+ assertValid(generalization7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ generalization7.setGeneral(device);
+ assertSuperset(generalization7.getTargets().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ generalization7.setGeneral(extension);
+ assertSuperset(generalization7.getTargets().contains(extension));
+
+ Generalization generalization8 = UML.createGeneralization();
+ assertValid(generalization8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ generalization8.setGeneral(associationClass);
+ assertSuperset(generalization8.getTargets().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ generalization8.setGeneral(class_);
+ assertSuperset(generalization8.getTargets().contains(class_));
+
+ Generalization generalization9 = UML.createGeneralization();
+ assertValid(generalization9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ generalization9.setGeneral(enumeration);
+ assertSuperset(generalization9.getTargets().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ generalization9.setGeneral(primitiveType);
+ assertSuperset(generalization9.getTargets().contains(primitiveType));
+
+ Generalization generalization10 = UML.createGeneralization();
+ assertValid(generalization10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ generalization10.setGeneral(actor);
+ assertSuperset(generalization10.getTargets().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ generalization10.setGeneral(protocolStateMachine);
+ assertSuperset(
+ generalization10.getTargets().contains(protocolStateMachine));
+
+ Generalization generalization11 = UML.createGeneralization();
+ assertValid(generalization11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ generalization11.setGeneral(useCase);
+ assertSuperset(generalization11.getTargets().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ generalization11.setGeneral(signal);
+ assertSuperset(generalization11.getTargets().contains(signal));
+
+ Generalization generalization12 = UML.createGeneralization();
+ assertValid(generalization12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ generalization12.setGeneral(node);
+ assertSuperset(generalization12.getTargets().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ generalization12.setGeneral(stereotype);
+ assertSuperset(generalization12.getTargets().contains(stereotype));
+
+ Generalization generalization13 = UML.createGeneralization();
+ assertValid(generalization13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ generalization13.setGeneral(stateMachine);
+ assertSuperset(generalization13.getTargets().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ generalization13.setGeneral(artifact);
+ assertSuperset(generalization13.getTargets().contains(artifact));
+
+ Generalization generalization14 = UML.createGeneralization();
+ assertValid(generalization14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ generalization14.setGeneral(collaboration);
+ assertSuperset(generalization14.getTargets().contains(collaboration));
+ }
+
+ public void testGeneralizationSet() {
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ generalization.getGeneralizationSets().add(generalizationSet);
+ }
+
+ public void testSpecific() {
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ generalization.setSpecific(functionBehavior);
+ assertSuperset(generalization.getSources().contains(functionBehavior));
+ assertSuperset(generalization.getOwner() == functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ generalization.setSpecific(activity);
+ assertSuperset(generalization.getSources().contains(activity));
+ assertSuperset(generalization.getOwner() == activity);
+
+ Generalization generalization2 = UML.createGeneralization();
+ assertValid(generalization2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ generalization2.setSpecific(interface_);
+ assertSuperset(generalization2.getSources().contains(interface_));
+ assertSuperset(generalization2.getOwner() == interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ generalization2.setSpecific(informationItem);
+ assertSuperset(generalization2.getSources().contains(informationItem));
+ assertSuperset(generalization2.getOwner() == informationItem);
+
+ Generalization generalization3 = UML.createGeneralization();
+ assertValid(generalization3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ generalization3.setSpecific(communicationPath);
+ assertSuperset(
+ generalization3.getSources().contains(communicationPath));
+ assertSuperset(generalization3.getOwner() == communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ generalization3.setSpecific(executionEnvironment);
+ assertSuperset(
+ generalization3.getSources().contains(executionEnvironment));
+ assertSuperset(generalization3.getOwner() == executionEnvironment);
+
+ Generalization generalization4 = UML.createGeneralization();
+ assertValid(generalization4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ generalization4.setSpecific(component);
+ assertSuperset(generalization4.getSources().contains(component));
+ assertSuperset(generalization4.getOwner() == component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ generalization4.setSpecific(interaction);
+ assertSuperset(generalization4.getSources().contains(interaction));
+ assertSuperset(generalization4.getOwner() == interaction);
+
+ Generalization generalization5 = UML.createGeneralization();
+ assertValid(generalization5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ generalization5.setSpecific(deploymentSpecification);
+ assertSuperset(
+ generalization5.getSources().contains(deploymentSpecification));
+ assertSuperset(generalization5.getOwner() == deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ generalization5.setSpecific(opaqueBehavior);
+ assertSuperset(generalization5.getSources().contains(opaqueBehavior));
+ assertSuperset(generalization5.getOwner() == opaqueBehavior);
+
+ Generalization generalization6 = UML.createGeneralization();
+ assertValid(generalization6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ generalization6.setSpecific(association);
+ assertSuperset(generalization6.getSources().contains(association));
+ assertSuperset(generalization6.getOwner() == association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ generalization6.setSpecific(dataType);
+ assertSuperset(generalization6.getSources().contains(dataType));
+ assertSuperset(generalization6.getOwner() == dataType);
+
+ Generalization generalization7 = UML.createGeneralization();
+ assertValid(generalization7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ generalization7.setSpecific(device);
+ assertSuperset(generalization7.getSources().contains(device));
+ assertSuperset(generalization7.getOwner() == device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ generalization7.setSpecific(extension);
+ assertSuperset(generalization7.getSources().contains(extension));
+ assertSuperset(generalization7.getOwner() == extension);
+
+ Generalization generalization8 = UML.createGeneralization();
+ assertValid(generalization8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ generalization8.setSpecific(associationClass);
+ assertSuperset(generalization8.getSources().contains(associationClass));
+ assertSuperset(generalization8.getOwner() == associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ generalization8.setSpecific(class_);
+ assertSuperset(generalization8.getSources().contains(class_));
+ assertSuperset(generalization8.getOwner() == class_);
+
+ Generalization generalization9 = UML.createGeneralization();
+ assertValid(generalization9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ generalization9.setSpecific(enumeration);
+ assertSuperset(generalization9.getSources().contains(enumeration));
+ assertSuperset(generalization9.getOwner() == enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ generalization9.setSpecific(primitiveType);
+ assertSuperset(generalization9.getSources().contains(primitiveType));
+ assertSuperset(generalization9.getOwner() == primitiveType);
+
+ Generalization generalization10 = UML.createGeneralization();
+ assertValid(generalization10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ generalization10.setSpecific(actor);
+ assertSuperset(generalization10.getSources().contains(actor));
+ assertSuperset(generalization10.getOwner() == actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ generalization10.setSpecific(protocolStateMachine);
+ assertSuperset(
+ generalization10.getSources().contains(protocolStateMachine));
+ assertSuperset(generalization10.getOwner() == protocolStateMachine);
+
+ Generalization generalization11 = UML.createGeneralization();
+ assertValid(generalization11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ generalization11.setSpecific(useCase);
+ assertSuperset(generalization11.getSources().contains(useCase));
+ assertSuperset(generalization11.getOwner() == useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ generalization11.setSpecific(signal);
+ assertSuperset(generalization11.getSources().contains(signal));
+ assertSuperset(generalization11.getOwner() == signal);
+
+ Generalization generalization12 = UML.createGeneralization();
+ assertValid(generalization12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ generalization12.setSpecific(node);
+ assertSuperset(generalization12.getSources().contains(node));
+ assertSuperset(generalization12.getOwner() == node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ generalization12.setSpecific(stereotype);
+ assertSuperset(generalization12.getSources().contains(stereotype));
+ assertSuperset(generalization12.getOwner() == stereotype);
+
+ Generalization generalization13 = UML.createGeneralization();
+ assertValid(generalization13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ generalization13.setSpecific(stateMachine);
+ assertSuperset(generalization13.getSources().contains(stateMachine));
+ assertSuperset(generalization13.getOwner() == stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ generalization13.setSpecific(artifact);
+ assertSuperset(generalization13.getSources().contains(artifact));
+ assertSuperset(generalization13.getOwner() == artifact);
+
+ Generalization generalization14 = UML.createGeneralization();
+ assertValid(generalization14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ generalization14.setSpecific(collaboration);
+ assertSuperset(generalization14.getSources().contains(collaboration));
+ assertSuperset(generalization14.getOwner() == collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ImageTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ImageTest.java
new file mode 100755
index 00000000..8f75ebd2
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ImageTest.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Image;
+
+/**
+ * @author Eike Stepper
+ */
+public class ImageTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Image image = UML.createImage();
+ assertValid(image);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ image.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Image image = UML.createImage();
+ assertValid(image);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ image.getOwnedComments().add(comment);
+ assertSuperset(image.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Image image = UML.createImage();
+ assertValid(image);
+ EList<Element> elements = image.getOwnedElements();
+ EList<Element> elements2 = image.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/IncludeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/IncludeTest.java
new file mode 100755
index 00000000..90860ec6
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/IncludeTest.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class IncludeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Include include = UML.createInclude();
+ assertValid(include);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ include.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Include include = UML.createInclude();
+ assertValid(include);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ include.getOwnedComments().add(comment);
+ assertSuperset(include.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Include include = UML.createInclude();
+ assertValid(include);
+ EList<Element> elements = include.getOwnedElements();
+ EList<Element> elements2 = include.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Include include = UML.createInclude();
+ assertValid(include);
+ EList<Dependency> dependencys = include.getClientDependencies();
+ EList<Dependency> dependencys2 = include.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Include include = UML.createInclude();
+ assertValid(include);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ include.setNameExpression(stringExpression);
+ assertSuperset(include.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRelatedElement() {
+ Include include = UML.createInclude();
+ assertValid(include);
+ EList<Element> elements = include.getRelatedElements();
+ EList<Element> elements2 = include.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ Include include = UML.createInclude();
+ assertValid(include);
+ EList<Element> elements = include.getSources();
+ EList<Element> elements2 = include.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ Include include = UML.createInclude();
+ assertValid(include);
+ EList<Element> elements = include.getTargets();
+ EList<Element> elements2 = include.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testAddition() {
+ Include include = UML.createInclude();
+ assertValid(include);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ include.setAddition(useCase);
+ assertSuperset(include.getTargets().contains(useCase));
+ }
+
+ public void testIncludingCase() {
+ Include include = UML.createInclude();
+ assertValid(include);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ include.setIncludingCase(useCase);
+ assertSuperset(include.getSources().contains(useCase));
+ assertSuperset(include.getNamespace() == useCase);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InformationFlowTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InformationFlowTest.java
new file mode 100755
index 00000000..8c92c982
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InformationFlowTest.java
@@ -0,0 +1,2477 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolConformance;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class InformationFlowTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ informationFlow.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ informationFlow.getOwnedComments().add(comment);
+ assertSuperset(informationFlow.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ EList<Element> elements = informationFlow.getOwnedElements();
+ EList<Element> elements2 = informationFlow.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ EList<Dependency> dependencys = informationFlow.getClientDependencies();
+ EList<Dependency> dependencys2 = informationFlow
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ informationFlow.setNameExpression(stringExpression);
+ assertSuperset(
+ informationFlow.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ informationFlow.setOwningTemplateParameter(templateParameter);
+ assertSuperset(informationFlow.getOwner() == templateParameter);
+ assertSuperset(
+ informationFlow.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ informationFlow.setTemplateParameter(templateParameter);
+ }
+
+ public void testRelatedElement() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ EList<Element> elements = informationFlow.getRelatedElements();
+ EList<Element> elements2 = informationFlow.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ EList<Element> elements = informationFlow.getSources();
+ EList<Element> elements2 = informationFlow.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ EList<Element> elements = informationFlow.getTargets();
+ EList<Element> elements2 = informationFlow.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testConveyed() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ informationFlow.getConveyeds().add(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ informationFlow.getConveyeds().add(activity);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ informationFlow.getConveyeds().add(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ informationFlow.getConveyeds().add(informationItem);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ informationFlow.getConveyeds().add(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ informationFlow.getConveyeds().add(executionEnvironment);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ informationFlow.getConveyeds().add(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ informationFlow.getConveyeds().add(interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ informationFlow.getConveyeds().add(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ informationFlow.getConveyeds().add(opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ informationFlow.getConveyeds().add(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ informationFlow.getConveyeds().add(dataType);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ informationFlow.getConveyeds().add(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ informationFlow.getConveyeds().add(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ informationFlow.getConveyeds().add(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ informationFlow.getConveyeds().add(class_);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ informationFlow.getConveyeds().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ informationFlow.getConveyeds().add(primitiveType);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ informationFlow.getConveyeds().add(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ informationFlow.getConveyeds().add(protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ informationFlow.getConveyeds().add(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ informationFlow.getConveyeds().add(signal);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ informationFlow.getConveyeds().add(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ informationFlow.getConveyeds().add(stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ informationFlow.getConveyeds().add(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ informationFlow.getConveyeds().add(artifact);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ informationFlow.getConveyeds().add(collaboration);
+ }
+
+ public void testInformationSource() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ informationFlow.getInformationSources().add(activity);
+ assertSuperset(informationFlow.getSources().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ informationFlow.getInformationSources().add(communicationPath);
+ assertSuperset(
+ informationFlow.getSources().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ informationFlow.getInformationSources().add(readSelfAction);
+ assertSuperset(informationFlow.getSources().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ informationFlow.getInformationSources().add(activityPartition);
+ assertSuperset(
+ informationFlow.getSources().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ informationFlow.getInformationSources().add(inputPin);
+ assertSuperset(informationFlow.getSources().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ informationFlow.getInformationSources()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(informationFlow.getSources()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ informationFlow.getInformationSources().add(component);
+ assertSuperset(informationFlow.getSources().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ informationFlow.getInformationSources().add(manifestation);
+ assertSuperset(informationFlow.getSources().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ informationFlow.getInformationSources().add(durationObservation);
+ assertSuperset(
+ informationFlow.getSources().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ informationFlow.getInformationSources().add(callEvent);
+ assertSuperset(informationFlow.getSources().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ informationFlow.getInformationSources().add(joinNode);
+ assertSuperset(informationFlow.getSources().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ informationFlow.getInformationSources().add(interaction);
+ assertSuperset(informationFlow.getSources().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ informationFlow.getInformationSources().add(createLinkObjectAction);
+ assertSuperset(
+ informationFlow.getSources().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ informationFlow.getInformationSources().add(opaqueBehavior);
+ assertSuperset(informationFlow.getSources().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ informationFlow.getInformationSources().add(literalUnlimitedNatural);
+ assertSuperset(
+ informationFlow.getSources().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ informationFlow.getInformationSources().add(sendSignalAction);
+ assertSuperset(informationFlow.getSources().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ informationFlow.getInformationSources().add(readLinkAction);
+ assertSuperset(informationFlow.getSources().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ informationFlow.getInformationSources().add(operation);
+ assertSuperset(informationFlow.getSources().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ informationFlow.getInformationSources().add(clearAssociationAction);
+ assertSuperset(
+ informationFlow.getSources().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ informationFlow.getInformationSources().add(model);
+ assertSuperset(informationFlow.getSources().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ informationFlow.getInformationSources().add(parameter);
+ assertSuperset(informationFlow.getSources().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ informationFlow.getInformationSources().add(instanceValue);
+ assertSuperset(informationFlow.getSources().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ informationFlow.getInformationSources().add(trigger);
+ assertSuperset(informationFlow.getSources().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ informationFlow.getInformationSources().add(interactionConstraint);
+ assertSuperset(
+ informationFlow.getSources().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ informationFlow.getInformationSources().add(associationClass);
+ assertSuperset(informationFlow.getSources().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ informationFlow.getInformationSources().add(interactionUse);
+ assertSuperset(informationFlow.getSources().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ informationFlow.getInformationSources()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(informationFlow.getSources()
+ .contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ informationFlow.getInformationSources().add(interval);
+ assertSuperset(informationFlow.getSources().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ informationFlow.getInformationSources().add(structuredActivityNode);
+ assertSuperset(
+ informationFlow.getSources().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ informationFlow.getInformationSources().add(literalString);
+ assertSuperset(informationFlow.getSources().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ informationFlow.getInformationSources().add(valuePin);
+ assertSuperset(informationFlow.getSources().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ informationFlow.getInformationSources().add(interfaceRealization);
+ assertSuperset(
+ informationFlow.getSources().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ informationFlow.getInformationSources().add(forkNode);
+ assertSuperset(informationFlow.getSources().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ informationFlow.getInformationSources().add(decisionNode);
+ assertSuperset(informationFlow.getSources().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ informationFlow.getInformationSources().add(actor);
+ assertSuperset(informationFlow.getSources().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ informationFlow.getInformationSources().add(timeConstraint);
+ assertSuperset(informationFlow.getSources().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ informationFlow.getInformationSources().add(reception);
+ assertSuperset(informationFlow.getSources().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ informationFlow.getInformationSources().add(pseudostate);
+ assertSuperset(informationFlow.getSources().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ informationFlow.getInformationSources().add(durationInterval);
+ assertSuperset(informationFlow.getSources().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ informationFlow.getInformationSources().add(deployment);
+ assertSuperset(informationFlow.getSources().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ informationFlow.getInformationSources().add(extensionEnd);
+ assertSuperset(informationFlow.getSources().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ informationFlow.getInformationSources().add(considerIgnoreFragment);
+ assertSuperset(
+ informationFlow.getSources().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ informationFlow.getInformationSources().add(conditionalNode);
+ assertSuperset(informationFlow.getSources().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ informationFlow.getInformationSources().add(readExtentAction);
+ assertSuperset(informationFlow.getSources().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ informationFlow.getInformationSources().add(actionInputPin);
+ assertSuperset(informationFlow.getSources().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ informationFlow.getInformationSources().add(artifact);
+ assertSuperset(informationFlow.getSources().contains(artifact));
+
+ InformationFlow informationFlow2 = UML.createInformationFlow();
+ assertValid(informationFlow2);
+ informationFlow.getInformationSources().add(informationFlow2);
+ assertSuperset(informationFlow.getSources().contains(informationFlow2));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ informationFlow.getInformationSources().add(clearVariableAction);
+ assertSuperset(
+ informationFlow.getSources().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ informationFlow.getInformationSources().add(createLinkAction);
+ assertSuperset(informationFlow.getSources().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ informationFlow.getInformationSources().add(signalEvent);
+ assertSuperset(informationFlow.getSources().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ informationFlow.getInformationSources().add(connectionPointReference);
+ assertSuperset(
+ informationFlow.getSources().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ informationFlow.getInformationSources().add(reclassifyObjectAction);
+ assertSuperset(
+ informationFlow.getSources().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ informationFlow.getInformationSources().add(usage);
+ assertSuperset(informationFlow.getSources().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ informationFlow.getInformationSources().add(dataStoreNode);
+ assertSuperset(informationFlow.getSources().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ informationFlow.getInformationSources().add(executionEnvironment);
+ assertSuperset(
+ informationFlow.getSources().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ informationFlow.getInformationSources().add(sendObjectAction);
+ assertSuperset(informationFlow.getSources().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ informationFlow.getInformationSources().add(controlFlow);
+ assertSuperset(informationFlow.getSources().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ informationFlow.getInformationSources().add(deploymentSpecification);
+ assertSuperset(
+ informationFlow.getSources().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ informationFlow.getInformationSources().add(partDecomposition);
+ assertSuperset(
+ informationFlow.getSources().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ informationFlow.getInformationSources().add(destroyLinkAction);
+ assertSuperset(
+ informationFlow.getSources().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ informationFlow.getInformationSources().add(realization);
+ assertSuperset(informationFlow.getSources().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ informationFlow.getInformationSources().add(expansionNode);
+ assertSuperset(informationFlow.getSources().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ informationFlow.getInformationSources().add(testIdentityAction);
+ assertSuperset(
+ informationFlow.getSources().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ informationFlow.getInformationSources().add(association);
+ assertSuperset(informationFlow.getSources().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ informationFlow.getInformationSources().add(timeInterval);
+ assertSuperset(informationFlow.getSources().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ informationFlow.getInformationSources().add(dataType);
+ assertSuperset(informationFlow.getSources().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ informationFlow.getInformationSources().add(outputPin);
+ assertSuperset(informationFlow.getSources().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ informationFlow.getInformationSources().add(substitution);
+ assertSuperset(informationFlow.getSources().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ informationFlow.getInformationSources().add(include);
+ assertSuperset(informationFlow.getSources().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ informationFlow.getInformationSources().add(extend);
+ assertSuperset(informationFlow.getSources().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ informationFlow.getInformationSources().add(broadcastSignalAction);
+ assertSuperset(
+ informationFlow.getSources().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ informationFlow.getInformationSources().add(literalBoolean);
+ assertSuperset(informationFlow.getSources().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ informationFlow.getInformationSources().add(finalState);
+ assertSuperset(informationFlow.getSources().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ informationFlow.getInformationSources().add(raiseExceptionAction);
+ assertSuperset(
+ informationFlow.getSources().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ informationFlow.getInformationSources().add(durationConstraint);
+ assertSuperset(
+ informationFlow.getSources().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ informationFlow.getInformationSources().add(activityFinalNode);
+ assertSuperset(
+ informationFlow.getSources().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ informationFlow.getInformationSources().add(literalNull);
+ assertSuperset(informationFlow.getSources().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ informationFlow.getInformationSources().add(callOperationAction);
+ assertSuperset(
+ informationFlow.getSources().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ informationFlow.getInformationSources().add(protocolStateMachine);
+ assertSuperset(
+ informationFlow.getSources().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ informationFlow.getInformationSources().add(loopNode);
+ assertSuperset(informationFlow.getSources().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ informationFlow.getInformationSources().add(parameterSet);
+ assertSuperset(informationFlow.getSources().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ informationFlow.getInformationSources().add(valueSpecificationAction);
+ assertSuperset(
+ informationFlow.getSources().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ informationFlow.getInformationSources().add(node);
+ assertSuperset(informationFlow.getSources().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ informationFlow.getInformationSources().add(sequenceNode);
+ assertSuperset(informationFlow.getSources().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ informationFlow.getInformationSources().add(constraint);
+ assertSuperset(informationFlow.getSources().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ informationFlow.getInformationSources().add(destroyObjectAction);
+ assertSuperset(
+ informationFlow.getSources().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ informationFlow.getInformationSources().add(stateMachine);
+ assertSuperset(informationFlow.getSources().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ informationFlow.getInformationSources().add(enumerationLiteral);
+ assertSuperset(
+ informationFlow.getSources().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ informationFlow.getInformationSources()
+ .add(actionExecutionSpecification);
+ assertSuperset(informationFlow.getSources()
+ .contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ informationFlow.getInformationSources().add(functionBehavior);
+ assertSuperset(informationFlow.getSources().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ informationFlow.getInformationSources().add(interface_);
+ assertSuperset(informationFlow.getSources().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ informationFlow.getInformationSources().add(instanceSpecification);
+ assertSuperset(
+ informationFlow.getSources().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ informationFlow.getInformationSources()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(informationFlow.getSources()
+ .contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ informationFlow.getInformationSources().add(port);
+ assertSuperset(informationFlow.getSources().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ informationFlow.getInformationSources().add(removeVariableValueAction);
+ assertSuperset(
+ informationFlow.getSources().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ informationFlow.getInformationSources().add(informationItem);
+ assertSuperset(informationFlow.getSources().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ informationFlow.getInformationSources().add(literalReal);
+ assertSuperset(informationFlow.getSources().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ informationFlow.getInformationSources()
+ .add(redefinableTemplateSignature);
+ assertSuperset(informationFlow.getSources()
+ .contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ informationFlow.getInformationSources()
+ .add(executionOccurrenceSpecification);
+ assertSuperset(informationFlow.getSources()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ informationFlow.getInformationSources().add(duration);
+ assertSuperset(informationFlow.getSources().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ informationFlow.getInformationSources().add(package_);
+ assertSuperset(informationFlow.getSources().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ informationFlow.getInformationSources().add(variable);
+ assertSuperset(informationFlow.getSources().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ informationFlow.getInformationSources()
+ .add(destructionOccurrenceSpecification);
+ assertSuperset(informationFlow.getSources()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ informationFlow.getInformationSources().add(lifeline);
+ assertSuperset(informationFlow.getSources().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ informationFlow.getInformationSources().add(timeObservation);
+ assertSuperset(informationFlow.getSources().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ informationFlow.getInformationSources().add(replyAction);
+ assertSuperset(informationFlow.getSources().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ informationFlow.getInformationSources().add(gate);
+ assertSuperset(informationFlow.getSources().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ informationFlow.getInformationSources().add(property);
+ assertSuperset(informationFlow.getSources().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ informationFlow.getInformationSources().add(timeExpression);
+ assertSuperset(informationFlow.getSources().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ informationFlow.getInformationSources().add(device);
+ assertSuperset(informationFlow.getSources().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ informationFlow.getInformationSources().add(flowFinalNode);
+ assertSuperset(informationFlow.getSources().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ informationFlow.getInformationSources().add(expansionRegion);
+ assertSuperset(informationFlow.getSources().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ informationFlow.getInformationSources().add(abstraction);
+ assertSuperset(informationFlow.getSources().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ informationFlow.getInformationSources().add(startObjectBehaviorAction);
+ assertSuperset(
+ informationFlow.getSources().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ informationFlow.getInformationSources().add(enumeration);
+ assertSuperset(informationFlow.getSources().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ informationFlow.getInformationSources().add(primitiveType);
+ assertSuperset(informationFlow.getSources().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ informationFlow.getInformationSources().add(profile);
+ assertSuperset(informationFlow.getSources().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ informationFlow.getInformationSources().add(message);
+ assertSuperset(informationFlow.getSources().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ informationFlow.getInformationSources().add(generalizationSet);
+ assertSuperset(
+ informationFlow.getSources().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ informationFlow.getInformationSources().add(continuation);
+ assertSuperset(informationFlow.getSources().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ informationFlow.getInformationSources().add(signal);
+ assertSuperset(informationFlow.getSources().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ informationFlow.getInformationSources().add(callBehaviorAction);
+ assertSuperset(
+ informationFlow.getSources().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ informationFlow.getInformationSources().add(objectFlow);
+ assertSuperset(informationFlow.getSources().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ informationFlow.getInformationSources().add(stateInvariant);
+ assertSuperset(informationFlow.getSources().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ informationFlow.getInformationSources()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(informationFlow.getSources()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ informationFlow.getInformationSources().add(activityParameterNode);
+ assertSuperset(
+ informationFlow.getSources().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ informationFlow.getInformationSources()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(informationFlow.getSources()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ informationFlow.getInformationSources().add(readVariableAction);
+ assertSuperset(
+ informationFlow.getSources().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ informationFlow.getInformationSources()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ informationFlow.getSources().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ informationFlow.getInformationSources()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(informationFlow.getSources()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ informationFlow.getInformationSources().add(opaqueExpression);
+ assertSuperset(informationFlow.getSources().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ informationFlow.getInformationSources().add(timeEvent);
+ assertSuperset(informationFlow.getSources().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ informationFlow.getInformationSources().add(generalOrdering);
+ assertSuperset(informationFlow.getSources().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ informationFlow.getInformationSources().add(region);
+ assertSuperset(informationFlow.getSources().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ informationFlow.getInformationSources().add(transition);
+ assertSuperset(informationFlow.getSources().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ informationFlow.getInformationSources().add(anyReceiveEvent);
+ assertSuperset(informationFlow.getSources().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ informationFlow.getInformationSources()
+ .add(messageOccurrenceSpecification);
+ assertSuperset(informationFlow.getSources()
+ .contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ informationFlow.getInformationSources().add(literalInteger);
+ assertSuperset(informationFlow.getSources().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ informationFlow.getInformationSources().add(reduceAction);
+ assertSuperset(informationFlow.getSources().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ informationFlow.getInformationSources().add(acceptEventAction);
+ assertSuperset(
+ informationFlow.getSources().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ informationFlow.getInformationSources().add(initialNode);
+ assertSuperset(informationFlow.getSources().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ informationFlow.getInformationSources().add(centralBufferNode);
+ assertSuperset(
+ informationFlow.getSources().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ informationFlow.getInformationSources().add(combinedFragment);
+ assertSuperset(informationFlow.getSources().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ informationFlow.getInformationSources().add(intervalConstraint);
+ assertSuperset(
+ informationFlow.getSources().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ informationFlow.getInformationSources().add(extension);
+ assertSuperset(informationFlow.getSources().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ informationFlow.getInformationSources().add(occurrenceSpecification);
+ assertSuperset(
+ informationFlow.getSources().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ informationFlow.getInformationSources().add(extensionPoint);
+ assertSuperset(informationFlow.getSources().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ informationFlow.getInformationSources().add(dependency);
+ assertSuperset(informationFlow.getSources().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ informationFlow.getInformationSources().add(connector);
+ assertSuperset(informationFlow.getSources().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ informationFlow.getInformationSources().add(expression);
+ assertSuperset(informationFlow.getSources().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ informationFlow.getInformationSources().add(componentRealization);
+ assertSuperset(
+ informationFlow.getSources().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ informationFlow.getInformationSources().add(class_);
+ assertSuperset(informationFlow.getSources().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ informationFlow.getInformationSources().add(state);
+ assertSuperset(informationFlow.getSources().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ informationFlow.getInformationSources().add(protocolTransition);
+ assertSuperset(
+ informationFlow.getSources().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ informationFlow.getInformationSources()
+ .add(behaviorExecutionSpecification);
+ assertSuperset(informationFlow.getSources()
+ .contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ informationFlow.getInformationSources().add(collaborationUse);
+ assertSuperset(informationFlow.getSources().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ informationFlow.getInformationSources().add(interactionOperand);
+ assertSuperset(
+ informationFlow.getSources().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ informationFlow.getInformationSources().add(acceptCallAction);
+ assertSuperset(informationFlow.getSources().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ informationFlow.getInformationSources().add(addVariableValueAction);
+ assertSuperset(
+ informationFlow.getSources().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ informationFlow.getInformationSources().add(readLinkObjectEndAction);
+ assertSuperset(
+ informationFlow.getSources().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ informationFlow.getInformationSources().add(useCase);
+ assertSuperset(informationFlow.getSources().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ informationFlow.getInformationSources().add(unmarshallAction);
+ assertSuperset(informationFlow.getSources().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ informationFlow.getInformationSources().add(opaqueAction);
+ assertSuperset(informationFlow.getSources().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ informationFlow.getInformationSources().add(stringExpression);
+ assertSuperset(informationFlow.getSources().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ informationFlow.getInformationSources().add(mergeNode);
+ assertSuperset(informationFlow.getSources().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ informationFlow.getInformationSources().add(changeEvent);
+ assertSuperset(informationFlow.getSources().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ informationFlow.getInformationSources().add(createObjectAction);
+ assertSuperset(
+ informationFlow.getSources().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ informationFlow.getInformationSources().add(stereotype);
+ assertSuperset(informationFlow.getSources().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ informationFlow.getInformationSources()
+ .add(readStructuralFeatureAction);
+ assertSuperset(
+ informationFlow.getSources().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ informationFlow.getInformationSources().add(collaboration);
+ assertSuperset(informationFlow.getSources().contains(collaboration));
+ }
+
+ public void testInformationTarget() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ informationFlow.getInformationTargets().add(activity);
+ assertSuperset(informationFlow.getTargets().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ informationFlow.getInformationTargets().add(communicationPath);
+ assertSuperset(
+ informationFlow.getTargets().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ informationFlow.getInformationTargets().add(readSelfAction);
+ assertSuperset(informationFlow.getTargets().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ informationFlow.getInformationTargets().add(activityPartition);
+ assertSuperset(
+ informationFlow.getTargets().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ informationFlow.getInformationTargets().add(inputPin);
+ assertSuperset(informationFlow.getTargets().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ informationFlow.getInformationTargets()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(informationFlow.getTargets()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ informationFlow.getInformationTargets().add(component);
+ assertSuperset(informationFlow.getTargets().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ informationFlow.getInformationTargets().add(manifestation);
+ assertSuperset(informationFlow.getTargets().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ informationFlow.getInformationTargets().add(durationObservation);
+ assertSuperset(
+ informationFlow.getTargets().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ informationFlow.getInformationTargets().add(callEvent);
+ assertSuperset(informationFlow.getTargets().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ informationFlow.getInformationTargets().add(joinNode);
+ assertSuperset(informationFlow.getTargets().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ informationFlow.getInformationTargets().add(interaction);
+ assertSuperset(informationFlow.getTargets().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ informationFlow.getInformationTargets().add(createLinkObjectAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ informationFlow.getInformationTargets().add(opaqueBehavior);
+ assertSuperset(informationFlow.getTargets().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ informationFlow.getInformationTargets().add(literalUnlimitedNatural);
+ assertSuperset(
+ informationFlow.getTargets().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ informationFlow.getInformationTargets().add(sendSignalAction);
+ assertSuperset(informationFlow.getTargets().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ informationFlow.getInformationTargets().add(readLinkAction);
+ assertSuperset(informationFlow.getTargets().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ informationFlow.getInformationTargets().add(operation);
+ assertSuperset(informationFlow.getTargets().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ informationFlow.getInformationTargets().add(clearAssociationAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ informationFlow.getInformationTargets().add(model);
+ assertSuperset(informationFlow.getTargets().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ informationFlow.getInformationTargets().add(parameter);
+ assertSuperset(informationFlow.getTargets().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ informationFlow.getInformationTargets().add(instanceValue);
+ assertSuperset(informationFlow.getTargets().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ informationFlow.getInformationTargets().add(trigger);
+ assertSuperset(informationFlow.getTargets().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ informationFlow.getInformationTargets().add(interactionConstraint);
+ assertSuperset(
+ informationFlow.getTargets().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ informationFlow.getInformationTargets().add(associationClass);
+ assertSuperset(informationFlow.getTargets().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ informationFlow.getInformationTargets().add(interactionUse);
+ assertSuperset(informationFlow.getTargets().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ informationFlow.getInformationTargets()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(informationFlow.getTargets()
+ .contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ informationFlow.getInformationTargets().add(interval);
+ assertSuperset(informationFlow.getTargets().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ informationFlow.getInformationTargets().add(structuredActivityNode);
+ assertSuperset(
+ informationFlow.getTargets().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ informationFlow.getInformationTargets().add(literalString);
+ assertSuperset(informationFlow.getTargets().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ informationFlow.getInformationTargets().add(valuePin);
+ assertSuperset(informationFlow.getTargets().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ informationFlow.getInformationTargets().add(interfaceRealization);
+ assertSuperset(
+ informationFlow.getTargets().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ informationFlow.getInformationTargets().add(forkNode);
+ assertSuperset(informationFlow.getTargets().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ informationFlow.getInformationTargets().add(decisionNode);
+ assertSuperset(informationFlow.getTargets().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ informationFlow.getInformationTargets().add(actor);
+ assertSuperset(informationFlow.getTargets().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ informationFlow.getInformationTargets().add(timeConstraint);
+ assertSuperset(informationFlow.getTargets().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ informationFlow.getInformationTargets().add(reception);
+ assertSuperset(informationFlow.getTargets().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ informationFlow.getInformationTargets().add(pseudostate);
+ assertSuperset(informationFlow.getTargets().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ informationFlow.getInformationTargets().add(durationInterval);
+ assertSuperset(informationFlow.getTargets().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ informationFlow.getInformationTargets().add(deployment);
+ assertSuperset(informationFlow.getTargets().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ informationFlow.getInformationTargets().add(extensionEnd);
+ assertSuperset(informationFlow.getTargets().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ informationFlow.getInformationTargets().add(considerIgnoreFragment);
+ assertSuperset(
+ informationFlow.getTargets().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ informationFlow.getInformationTargets().add(conditionalNode);
+ assertSuperset(informationFlow.getTargets().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ informationFlow.getInformationTargets().add(readExtentAction);
+ assertSuperset(informationFlow.getTargets().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ informationFlow.getInformationTargets().add(actionInputPin);
+ assertSuperset(informationFlow.getTargets().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ informationFlow.getInformationTargets().add(artifact);
+ assertSuperset(informationFlow.getTargets().contains(artifact));
+
+ InformationFlow informationFlow2 = UML.createInformationFlow();
+ assertValid(informationFlow2);
+ informationFlow.getInformationTargets().add(informationFlow2);
+ assertSuperset(informationFlow.getTargets().contains(informationFlow2));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ informationFlow.getInformationTargets().add(clearVariableAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ informationFlow.getInformationTargets().add(createLinkAction);
+ assertSuperset(informationFlow.getTargets().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ informationFlow.getInformationTargets().add(signalEvent);
+ assertSuperset(informationFlow.getTargets().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ informationFlow.getInformationTargets().add(connectionPointReference);
+ assertSuperset(
+ informationFlow.getTargets().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ informationFlow.getInformationTargets().add(reclassifyObjectAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ informationFlow.getInformationTargets().add(usage);
+ assertSuperset(informationFlow.getTargets().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ informationFlow.getInformationTargets().add(dataStoreNode);
+ assertSuperset(informationFlow.getTargets().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ informationFlow.getInformationTargets().add(executionEnvironment);
+ assertSuperset(
+ informationFlow.getTargets().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ informationFlow.getInformationTargets().add(sendObjectAction);
+ assertSuperset(informationFlow.getTargets().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ informationFlow.getInformationTargets().add(controlFlow);
+ assertSuperset(informationFlow.getTargets().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ informationFlow.getInformationTargets().add(deploymentSpecification);
+ assertSuperset(
+ informationFlow.getTargets().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ informationFlow.getInformationTargets().add(partDecomposition);
+ assertSuperset(
+ informationFlow.getTargets().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ informationFlow.getInformationTargets().add(destroyLinkAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ informationFlow.getInformationTargets().add(realization);
+ assertSuperset(informationFlow.getTargets().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ informationFlow.getInformationTargets().add(expansionNode);
+ assertSuperset(informationFlow.getTargets().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ informationFlow.getInformationTargets().add(testIdentityAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ informationFlow.getInformationTargets().add(association);
+ assertSuperset(informationFlow.getTargets().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ informationFlow.getInformationTargets().add(timeInterval);
+ assertSuperset(informationFlow.getTargets().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ informationFlow.getInformationTargets().add(dataType);
+ assertSuperset(informationFlow.getTargets().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ informationFlow.getInformationTargets().add(outputPin);
+ assertSuperset(informationFlow.getTargets().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ informationFlow.getInformationTargets().add(substitution);
+ assertSuperset(informationFlow.getTargets().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ informationFlow.getInformationTargets().add(include);
+ assertSuperset(informationFlow.getTargets().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ informationFlow.getInformationTargets().add(extend);
+ assertSuperset(informationFlow.getTargets().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ informationFlow.getInformationTargets().add(broadcastSignalAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ informationFlow.getInformationTargets().add(literalBoolean);
+ assertSuperset(informationFlow.getTargets().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ informationFlow.getInformationTargets().add(finalState);
+ assertSuperset(informationFlow.getTargets().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ informationFlow.getInformationTargets().add(raiseExceptionAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ informationFlow.getInformationTargets().add(durationConstraint);
+ assertSuperset(
+ informationFlow.getTargets().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ informationFlow.getInformationTargets().add(activityFinalNode);
+ assertSuperset(
+ informationFlow.getTargets().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ informationFlow.getInformationTargets().add(literalNull);
+ assertSuperset(informationFlow.getTargets().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ informationFlow.getInformationTargets().add(callOperationAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ informationFlow.getInformationTargets().add(protocolStateMachine);
+ assertSuperset(
+ informationFlow.getTargets().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ informationFlow.getInformationTargets().add(loopNode);
+ assertSuperset(informationFlow.getTargets().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ informationFlow.getInformationTargets().add(parameterSet);
+ assertSuperset(informationFlow.getTargets().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ informationFlow.getInformationTargets().add(valueSpecificationAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ informationFlow.getInformationTargets().add(node);
+ assertSuperset(informationFlow.getTargets().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ informationFlow.getInformationTargets().add(sequenceNode);
+ assertSuperset(informationFlow.getTargets().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ informationFlow.getInformationTargets().add(constraint);
+ assertSuperset(informationFlow.getTargets().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ informationFlow.getInformationTargets().add(destroyObjectAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ informationFlow.getInformationTargets().add(stateMachine);
+ assertSuperset(informationFlow.getTargets().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ informationFlow.getInformationTargets().add(enumerationLiteral);
+ assertSuperset(
+ informationFlow.getTargets().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ informationFlow.getInformationTargets()
+ .add(actionExecutionSpecification);
+ assertSuperset(informationFlow.getTargets()
+ .contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ informationFlow.getInformationTargets().add(functionBehavior);
+ assertSuperset(informationFlow.getTargets().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ informationFlow.getInformationTargets().add(interface_);
+ assertSuperset(informationFlow.getTargets().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ informationFlow.getInformationTargets().add(instanceSpecification);
+ assertSuperset(
+ informationFlow.getTargets().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ informationFlow.getInformationTargets()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(informationFlow.getTargets()
+ .contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ informationFlow.getInformationTargets().add(port);
+ assertSuperset(informationFlow.getTargets().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ informationFlow.getInformationTargets().add(removeVariableValueAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ informationFlow.getInformationTargets().add(informationItem);
+ assertSuperset(informationFlow.getTargets().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ informationFlow.getInformationTargets().add(literalReal);
+ assertSuperset(informationFlow.getTargets().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ informationFlow.getInformationTargets()
+ .add(redefinableTemplateSignature);
+ assertSuperset(informationFlow.getTargets()
+ .contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ informationFlow.getInformationTargets()
+ .add(executionOccurrenceSpecification);
+ assertSuperset(informationFlow.getTargets()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ informationFlow.getInformationTargets().add(duration);
+ assertSuperset(informationFlow.getTargets().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ informationFlow.getInformationTargets().add(package_);
+ assertSuperset(informationFlow.getTargets().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ informationFlow.getInformationTargets().add(variable);
+ assertSuperset(informationFlow.getTargets().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ informationFlow.getInformationTargets()
+ .add(destructionOccurrenceSpecification);
+ assertSuperset(informationFlow.getTargets()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ informationFlow.getInformationTargets().add(lifeline);
+ assertSuperset(informationFlow.getTargets().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ informationFlow.getInformationTargets().add(timeObservation);
+ assertSuperset(informationFlow.getTargets().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ informationFlow.getInformationTargets().add(replyAction);
+ assertSuperset(informationFlow.getTargets().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ informationFlow.getInformationTargets().add(gate);
+ assertSuperset(informationFlow.getTargets().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ informationFlow.getInformationTargets().add(property);
+ assertSuperset(informationFlow.getTargets().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ informationFlow.getInformationTargets().add(timeExpression);
+ assertSuperset(informationFlow.getTargets().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ informationFlow.getInformationTargets().add(device);
+ assertSuperset(informationFlow.getTargets().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ informationFlow.getInformationTargets().add(flowFinalNode);
+ assertSuperset(informationFlow.getTargets().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ informationFlow.getInformationTargets().add(expansionRegion);
+ assertSuperset(informationFlow.getTargets().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ informationFlow.getInformationTargets().add(abstraction);
+ assertSuperset(informationFlow.getTargets().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ informationFlow.getInformationTargets().add(startObjectBehaviorAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ informationFlow.getInformationTargets().add(enumeration);
+ assertSuperset(informationFlow.getTargets().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ informationFlow.getInformationTargets().add(primitiveType);
+ assertSuperset(informationFlow.getTargets().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ informationFlow.getInformationTargets().add(profile);
+ assertSuperset(informationFlow.getTargets().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ informationFlow.getInformationTargets().add(message);
+ assertSuperset(informationFlow.getTargets().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ informationFlow.getInformationTargets().add(generalizationSet);
+ assertSuperset(
+ informationFlow.getTargets().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ informationFlow.getInformationTargets().add(continuation);
+ assertSuperset(informationFlow.getTargets().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ informationFlow.getInformationTargets().add(signal);
+ assertSuperset(informationFlow.getTargets().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ informationFlow.getInformationTargets().add(callBehaviorAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ informationFlow.getInformationTargets().add(objectFlow);
+ assertSuperset(informationFlow.getTargets().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ informationFlow.getInformationTargets().add(stateInvariant);
+ assertSuperset(informationFlow.getTargets().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ informationFlow.getInformationTargets()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(informationFlow.getTargets()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ informationFlow.getInformationTargets().add(activityParameterNode);
+ assertSuperset(
+ informationFlow.getTargets().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ informationFlow.getInformationTargets()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(informationFlow.getTargets()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ informationFlow.getInformationTargets().add(readVariableAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ informationFlow.getInformationTargets()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ informationFlow.getTargets().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ informationFlow.getInformationTargets()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(informationFlow.getTargets()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ informationFlow.getInformationTargets().add(opaqueExpression);
+ assertSuperset(informationFlow.getTargets().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ informationFlow.getInformationTargets().add(timeEvent);
+ assertSuperset(informationFlow.getTargets().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ informationFlow.getInformationTargets().add(generalOrdering);
+ assertSuperset(informationFlow.getTargets().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ informationFlow.getInformationTargets().add(region);
+ assertSuperset(informationFlow.getTargets().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ informationFlow.getInformationTargets().add(transition);
+ assertSuperset(informationFlow.getTargets().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ informationFlow.getInformationTargets().add(anyReceiveEvent);
+ assertSuperset(informationFlow.getTargets().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ informationFlow.getInformationTargets()
+ .add(messageOccurrenceSpecification);
+ assertSuperset(informationFlow.getTargets()
+ .contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ informationFlow.getInformationTargets().add(literalInteger);
+ assertSuperset(informationFlow.getTargets().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ informationFlow.getInformationTargets().add(reduceAction);
+ assertSuperset(informationFlow.getTargets().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ informationFlow.getInformationTargets().add(acceptEventAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ informationFlow.getInformationTargets().add(initialNode);
+ assertSuperset(informationFlow.getTargets().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ informationFlow.getInformationTargets().add(centralBufferNode);
+ assertSuperset(
+ informationFlow.getTargets().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ informationFlow.getInformationTargets().add(combinedFragment);
+ assertSuperset(informationFlow.getTargets().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ informationFlow.getInformationTargets().add(intervalConstraint);
+ assertSuperset(
+ informationFlow.getTargets().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ informationFlow.getInformationTargets().add(extension);
+ assertSuperset(informationFlow.getTargets().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ informationFlow.getInformationTargets().add(occurrenceSpecification);
+ assertSuperset(
+ informationFlow.getTargets().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ informationFlow.getInformationTargets().add(extensionPoint);
+ assertSuperset(informationFlow.getTargets().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ informationFlow.getInformationTargets().add(dependency);
+ assertSuperset(informationFlow.getTargets().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ informationFlow.getInformationTargets().add(connector);
+ assertSuperset(informationFlow.getTargets().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ informationFlow.getInformationTargets().add(expression);
+ assertSuperset(informationFlow.getTargets().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ informationFlow.getInformationTargets().add(componentRealization);
+ assertSuperset(
+ informationFlow.getTargets().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ informationFlow.getInformationTargets().add(class_);
+ assertSuperset(informationFlow.getTargets().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ informationFlow.getInformationTargets().add(state);
+ assertSuperset(informationFlow.getTargets().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ informationFlow.getInformationTargets().add(protocolTransition);
+ assertSuperset(
+ informationFlow.getTargets().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ informationFlow.getInformationTargets()
+ .add(behaviorExecutionSpecification);
+ assertSuperset(informationFlow.getTargets()
+ .contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ informationFlow.getInformationTargets().add(collaborationUse);
+ assertSuperset(informationFlow.getTargets().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ informationFlow.getInformationTargets().add(interactionOperand);
+ assertSuperset(
+ informationFlow.getTargets().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ informationFlow.getInformationTargets().add(acceptCallAction);
+ assertSuperset(informationFlow.getTargets().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ informationFlow.getInformationTargets().add(addVariableValueAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ informationFlow.getInformationTargets().add(readLinkObjectEndAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ informationFlow.getInformationTargets().add(useCase);
+ assertSuperset(informationFlow.getTargets().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ informationFlow.getInformationTargets().add(unmarshallAction);
+ assertSuperset(informationFlow.getTargets().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ informationFlow.getInformationTargets().add(opaqueAction);
+ assertSuperset(informationFlow.getTargets().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ informationFlow.getInformationTargets().add(stringExpression);
+ assertSuperset(informationFlow.getTargets().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ informationFlow.getInformationTargets().add(mergeNode);
+ assertSuperset(informationFlow.getTargets().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ informationFlow.getInformationTargets().add(changeEvent);
+ assertSuperset(informationFlow.getTargets().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ informationFlow.getInformationTargets().add(createObjectAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ informationFlow.getInformationTargets().add(stereotype);
+ assertSuperset(informationFlow.getTargets().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ informationFlow.getInformationTargets()
+ .add(readStructuralFeatureAction);
+ assertSuperset(
+ informationFlow.getTargets().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ informationFlow.getInformationTargets().add(collaboration);
+ assertSuperset(informationFlow.getTargets().contains(collaboration));
+ }
+
+ public void testRealization() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ informationFlow.getRealizations().add(include);
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ informationFlow.getRealizations().add(extend);
+
+ InformationFlow informationFlow2 = UML.createInformationFlow();
+ assertValid(informationFlow2);
+ informationFlow.getRealizations().add(informationFlow2);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ informationFlow.getRealizations().add(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ informationFlow.getRealizations().add(associationClass);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ informationFlow.getRealizations().add(elementImport);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ informationFlow.getRealizations().add(communicationPath);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ informationFlow.getRealizations().add(dependency);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ informationFlow.getRealizations().add(templateBinding);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ informationFlow.getRealizations().add(componentRealization);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ informationFlow.getRealizations().add(abstraction);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ informationFlow.getRealizations().add(usage);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ informationFlow.getRealizations().add(interfaceRealization);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ informationFlow.getRealizations().add(manifestation);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ informationFlow.getRealizations().add(generalization);
+
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ informationFlow.getRealizations().add(profileApplication);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ informationFlow.getRealizations().add(packageImport);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ informationFlow.getRealizations().add(deployment);
+
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+ informationFlow.getRealizations().add(protocolConformance);
+
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ informationFlow.getRealizations().add(packageMerge);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ informationFlow.getRealizations().add(realization);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ informationFlow.getRealizations().add(association);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ informationFlow.getRealizations().add(substitution);
+ }
+
+ public void testRealizingActivityEdge() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ informationFlow.getRealizingActivityEdges().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ informationFlow.getRealizingActivityEdges().add(objectFlow);
+ }
+
+ public void testRealizingConnector() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ informationFlow.getRealizingConnectors().add(connector);
+ }
+
+ public void testRealizingMessage() {
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ informationFlow.getRealizingMessages().add(message);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InformationItemTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InformationItemTest.java
new file mode 100755
index 00000000..d6cbef91
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InformationItemTest.java
@@ -0,0 +1,660 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class InformationItemTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ informationItem.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ informationItem.getOwnedComments().add(comment);
+ assertSuperset(informationItem.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ EList<Element> elements = informationItem.getOwnedElements();
+ EList<Element> elements2 = informationItem.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ EList<Dependency> dependencys = informationItem.getClientDependencies();
+ EList<Dependency> dependencys2 = informationItem
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ informationItem.setNameExpression(stringExpression);
+ assertSuperset(
+ informationItem.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ informationItem.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ informationItem.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ informationItem.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ informationItem.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ informationItem.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ informationItem.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ informationItem.getOwnedRules().add(constraint);
+ assertSuperset(informationItem.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ informationItem.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ informationItem.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ informationItem.getElementImports().add(elementImport);
+ assertSuperset(
+ informationItem.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ informationItem.getPackageImports().add(packageImport);
+ assertSuperset(
+ informationItem.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ EList<NamedElement> namedElements = informationItem.getOwnedMembers();
+ EList<NamedElement> namedElements2 = informationItem.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ EList<PackageableElement> packageableElements = informationItem
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = informationItem
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ EList<NamedElement> namedElements = informationItem.getMembers();
+ EList<NamedElement> namedElements2 = informationItem.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ EList<RedefinableElement> redefinableElements = informationItem
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = informationItem
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ EList<Classifier> classifiers = informationItem
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = informationItem
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ informationItem.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(
+ informationItem.getOwner() == classifierTemplateParameter);
+ assertSuperset(informationItem
+ .getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ informationItem.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ informationItem.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ informationItem.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ informationItem.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(informationItem.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ EList<Feature> features = informationItem.getFeatures();
+ EList<Feature> features2 = informationItem.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ EList<Property> propertys = informationItem.getAttributes();
+ EList<Property> propertys2 = informationItem.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ informationItem.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ informationItem.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ EList<Classifier> classifiers = informationItem.getGenerals();
+ EList<Classifier> classifiers2 = informationItem.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ informationItem.getGeneralizations().add(generalization);
+ assertSuperset(
+ informationItem.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ informationItem.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ EList<NamedElement> namedElements = informationItem
+ .getInheritedMembers();
+ EList<NamedElement> namedElements2 = informationItem
+ .getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ informationItem.getOwnedUseCases().add(useCase);
+ assertSuperset(informationItem.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ informationItem.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ informationItem.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ informationItem.getRedefinedClassifiers().add(activity);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ informationItem.getRedefinedClassifiers().add(interface_);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem2 = UML.createInformationItem();
+ assertValid(informationItem2);
+ informationItem.getRedefinedClassifiers().add(informationItem2);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(informationItem2));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ informationItem.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ informationItem.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(informationItem.getRedefinedElements()
+ .contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ informationItem.getRedefinedClassifiers().add(component);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ informationItem.getRedefinedClassifiers().add(interaction);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ informationItem.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(informationItem.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ informationItem.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ informationItem.getRedefinedClassifiers().add(association);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ informationItem.getRedefinedClassifiers().add(dataType);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ informationItem.getRedefinedClassifiers().add(device);
+ assertSuperset(informationItem.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ informationItem.getRedefinedClassifiers().add(extension);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ informationItem.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ informationItem.getRedefinedClassifiers().add(class_);
+ assertSuperset(informationItem.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ informationItem.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ informationItem.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ informationItem.getRedefinedClassifiers().add(actor);
+ assertSuperset(informationItem.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ informationItem.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(informationItem.getRedefinedElements()
+ .contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ informationItem.getRedefinedClassifiers().add(useCase);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ informationItem.getRedefinedClassifiers().add(signal);
+ assertSuperset(informationItem.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ informationItem.getRedefinedClassifiers().add(node);
+ assertSuperset(informationItem.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ informationItem.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ informationItem.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ informationItem.getRedefinedClassifiers().add(artifact);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ informationItem.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ informationItem.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ informationItem.setRepresentation(collaborationUse);
+ assertSuperset(
+ informationItem.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ informationItem.getSubstitutions().add(substitution);
+ assertSuperset(
+ informationItem.getOwnedElements().contains(substitution));
+ assertSuperset(
+ informationItem.getClientDependencies().contains(substitution));
+ }
+
+ public void testRepresented() {
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ informationItem.getRepresenteds().add(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ informationItem.getRepresenteds().add(activity);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ informationItem.getRepresenteds().add(interface_);
+
+ InformationItem informationItem2 = UML.createInformationItem();
+ assertValid(informationItem2);
+ informationItem.getRepresenteds().add(informationItem2);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ informationItem.getRepresenteds().add(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ informationItem.getRepresenteds().add(executionEnvironment);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ informationItem.getRepresenteds().add(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ informationItem.getRepresenteds().add(interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ informationItem.getRepresenteds().add(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ informationItem.getRepresenteds().add(opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ informationItem.getRepresenteds().add(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ informationItem.getRepresenteds().add(dataType);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ informationItem.getRepresenteds().add(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ informationItem.getRepresenteds().add(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ informationItem.getRepresenteds().add(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ informationItem.getRepresenteds().add(class_);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ informationItem.getRepresenteds().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ informationItem.getRepresenteds().add(primitiveType);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ informationItem.getRepresenteds().add(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ informationItem.getRepresenteds().add(protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ informationItem.getRepresenteds().add(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ informationItem.getRepresenteds().add(signal);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ informationItem.getRepresenteds().add(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ informationItem.getRepresenteds().add(stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ informationItem.getRepresenteds().add(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ informationItem.getRepresenteds().add(artifact);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ informationItem.getRepresenteds().add(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InitialNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InitialNodeTest.java
new file mode 100755
index 00000000..4698aa43
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InitialNodeTest.java
@@ -0,0 +1,609 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class InitialNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ initialNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ initialNode.getOwnedComments().add(comment);
+ assertSuperset(initialNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ EList<Element> elements = initialNode.getOwnedElements();
+ EList<Element> elements2 = initialNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ EList<Dependency> dependencys = initialNode.getClientDependencies();
+ EList<Dependency> dependencys2 = initialNode.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ initialNode.setNameExpression(stringExpression);
+ assertSuperset(
+ initialNode.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ EList<RedefinableElement> redefinableElements = initialNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = initialNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ EList<Classifier> classifiers = initialNode.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = initialNode.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ EList<ActivityGroup> activityGroups = initialNode.getInGroups();
+ EList<ActivityGroup> activityGroups2 = initialNode.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ initialNode.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ initialNode.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ initialNode.setInStructuredNode(loopNode);
+ assertSuperset(initialNode.getInGroups().contains(loopNode));
+ assertSuperset(initialNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ initialNode.setInStructuredNode(expansionRegion);
+ assertSuperset(initialNode.getInGroups().contains(expansionRegion));
+ assertSuperset(initialNode.getOwner() == expansionRegion);
+
+ InitialNode initialNode2 = UML.createInitialNode();
+ assertValid(initialNode2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ initialNode2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ initialNode2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(initialNode2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ initialNode2.setInStructuredNode(conditionalNode);
+ assertSuperset(initialNode2.getInGroups().contains(conditionalNode));
+ assertSuperset(initialNode2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ initialNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ initialNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ initialNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ initialNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ initialNode.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ initialNode.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ initialNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ initialNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(initialNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ initialNode.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ initialNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(initialNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ initialNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ initialNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ initialNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ initialNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ initialNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ initialNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ initialNode.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ initialNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ initialNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ initialNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(initialNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ initialNode.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ initialNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(initialNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ initialNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ initialNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ initialNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ initialNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ initialNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ initialNode.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ initialNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ initialNode.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ initialNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ initialNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ initialNode.getRedefinedNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ initialNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ initialNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ initialNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ initialNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ initialNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ initialNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ initialNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ initialNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode2 = UML.createInitialNode();
+ assertValid(initialNode2);
+ initialNode.getRedefinedNodes().add(initialNode2);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(initialNode2));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ initialNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ initialNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(initialNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ initialNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ initialNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ initialNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ initialNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ initialNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ initialNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(initialNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ initialNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ initialNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ initialNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ initialNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ initialNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ initialNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ initialNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(initialNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ initialNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ initialNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ initialNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ initialNode.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ initialNode.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(initialNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ initialNode.getInPartitions().add(activityPartition);
+ assertSuperset(initialNode.getInGroups().contains(activityPartition));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InputPinTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InputPinTest.java
new file mode 100755
index 00000000..cb8bff86
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InputPinTest.java
@@ -0,0 +1,1131 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class InputPinTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ inputPin.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ inputPin.getOwnedComments().add(comment);
+ assertSuperset(inputPin.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ EList<Element> elements = inputPin.getOwnedElements();
+ EList<Element> elements2 = inputPin.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ EList<Dependency> dependencys = inputPin.getClientDependencies();
+ EList<Dependency> dependencys2 = inputPin.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ inputPin.setNameExpression(stringExpression);
+ assertSuperset(inputPin.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ EList<RedefinableElement> redefinableElements = inputPin
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = inputPin
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ EList<Classifier> classifiers = inputPin.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = inputPin.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ EList<ActivityGroup> activityGroups = inputPin.getInGroups();
+ EList<ActivityGroup> activityGroups2 = inputPin.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ inputPin.getInInterruptibleRegions().add(interruptibleActivityRegion);
+ assertSuperset(
+ inputPin.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ inputPin.setInStructuredNode(loopNode);
+ assertSuperset(inputPin.getInGroups().contains(loopNode));
+ assertSuperset(inputPin.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ inputPin.setInStructuredNode(expansionRegion);
+ assertSuperset(inputPin.getInGroups().contains(expansionRegion));
+ assertSuperset(inputPin.getOwner() == expansionRegion);
+
+ InputPin inputPin2 = UML.createInputPin();
+ assertValid(inputPin2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ inputPin2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ inputPin2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(inputPin2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ inputPin2.setInStructuredNode(conditionalNode);
+ assertSuperset(inputPin2.getInGroups().contains(conditionalNode));
+ assertSuperset(inputPin2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ inputPin.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ inputPin.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ inputPin.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ inputPin.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ inputPin.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(inputPin.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ inputPin.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(inputPin.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ inputPin.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin2 = UML.createInputPin();
+ assertValid(inputPin2);
+ inputPin.getRedefinedNodes().add(inputPin2);
+ assertSuperset(inputPin.getRedefinedElements().contains(inputPin2));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ inputPin.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(inputPin.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ inputPin.getRedefinedNodes().add(joinNode);
+ assertSuperset(inputPin.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ inputPin.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ inputPin.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ inputPin.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ inputPin.getRedefinedNodes().add(replyAction);
+ assertSuperset(inputPin.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ inputPin.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ inputPin.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(inputPin.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ inputPin.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(inputPin.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ inputPin.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ inputPin.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ inputPin.getRedefinedNodes().add(valuePin);
+ assertSuperset(inputPin.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ inputPin.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(inputPin.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ inputPin.getRedefinedNodes().add(forkNode);
+ assertSuperset(inputPin.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ inputPin.getRedefinedNodes().add(decisionNode);
+ assertSuperset(inputPin.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ inputPin.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ inputPin.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ inputPin.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ inputPin.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ inputPin.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(inputPin.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ inputPin.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ inputPin.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(inputPin.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ inputPin.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ inputPin.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ inputPin.getRedefinedNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(inputPin.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ inputPin.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ inputPin.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ inputPin.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(inputPin.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ inputPin.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ inputPin.getRedefinedNodes().add(reduceAction);
+ assertSuperset(inputPin.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ inputPin.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ inputPin.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ inputPin.getRedefinedNodes().add(expansionNode);
+ assertSuperset(inputPin.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ inputPin.getRedefinedNodes().add(initialNode);
+ assertSuperset(inputPin.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ inputPin.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ inputPin.getRedefinedNodes().add(outputPin);
+ assertSuperset(inputPin.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ inputPin.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ inputPin.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ inputPin.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ inputPin.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ inputPin.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ inputPin.getRedefinedNodes().add(loopNode);
+ assertSuperset(inputPin.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ inputPin.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ inputPin.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ inputPin.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ inputPin.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ inputPin.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ inputPin.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(inputPin.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ inputPin.getRedefinedNodes().add(mergeNode);
+ assertSuperset(inputPin.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ inputPin.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(inputPin.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ inputPin.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ inputPin.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ inputPin.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ inputPin.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(inputPin.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ inputPin.getInPartitions().add(activityPartition);
+ assertSuperset(inputPin.getInGroups().contains(activityPartition));
+ }
+
+ public void testType() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ inputPin.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ inputPin.setType(activity);
+
+ InputPin inputPin2 = UML.createInputPin();
+ assertValid(inputPin2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ inputPin2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ inputPin2.setType(informationItem);
+
+ InputPin inputPin3 = UML.createInputPin();
+ assertValid(inputPin3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ inputPin3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ inputPin3.setType(executionEnvironment);
+
+ InputPin inputPin4 = UML.createInputPin();
+ assertValid(inputPin4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ inputPin4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ inputPin4.setType(interaction);
+
+ InputPin inputPin5 = UML.createInputPin();
+ assertValid(inputPin5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ inputPin5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ inputPin5.setType(opaqueBehavior);
+
+ InputPin inputPin6 = UML.createInputPin();
+ assertValid(inputPin6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ inputPin6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ inputPin6.setType(dataType);
+
+ InputPin inputPin7 = UML.createInputPin();
+ assertValid(inputPin7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ inputPin7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ inputPin7.setType(extension);
+
+ InputPin inputPin8 = UML.createInputPin();
+ assertValid(inputPin8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ inputPin8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ inputPin8.setType(class_);
+
+ InputPin inputPin9 = UML.createInputPin();
+ assertValid(inputPin9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ inputPin9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ inputPin9.setType(primitiveType);
+
+ InputPin inputPin10 = UML.createInputPin();
+ assertValid(inputPin10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ inputPin10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ inputPin10.setType(protocolStateMachine);
+
+ InputPin inputPin11 = UML.createInputPin();
+ assertValid(inputPin11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ inputPin11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ inputPin11.setType(signal);
+
+ InputPin inputPin12 = UML.createInputPin();
+ assertValid(inputPin12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ inputPin12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ inputPin12.setType(stereotype);
+
+ InputPin inputPin13 = UML.createInputPin();
+ assertValid(inputPin13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ inputPin13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ inputPin13.setType(artifact);
+
+ InputPin inputPin14 = UML.createInputPin();
+ assertValid(inputPin14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ inputPin14.setType(collaboration);
+ }
+
+ public void testInState() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ inputPin.getInStates().add(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ inputPin.getInStates().add(state);
+ }
+
+ public void testSelection() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ inputPin.setSelection(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ inputPin.setSelection(stateMachine);
+ }
+
+ public void testUpperBound() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ inputPin.setUpperBound(literalBoolean);
+ assertSuperset(inputPin.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ inputPin.setUpperBound(interval);
+ assertSuperset(inputPin.getOwnedElements().contains(interval));
+
+ InputPin inputPin2 = UML.createInputPin();
+ assertValid(inputPin2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ inputPin2.setUpperBound(opaqueExpression);
+ assertSuperset(inputPin2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ inputPin2.setUpperBound(expression);
+ assertSuperset(inputPin2.getOwnedElements().contains(expression));
+
+ InputPin inputPin3 = UML.createInputPin();
+ assertValid(inputPin3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ inputPin3.setUpperBound(literalReal);
+ assertSuperset(inputPin3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ inputPin3.setUpperBound(literalString);
+ assertSuperset(inputPin3.getOwnedElements().contains(literalString));
+
+ InputPin inputPin4 = UML.createInputPin();
+ assertValid(inputPin4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ inputPin4.setUpperBound(literalNull);
+ assertSuperset(inputPin4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ inputPin4.setUpperBound(duration);
+ assertSuperset(inputPin4.getOwnedElements().contains(duration));
+
+ InputPin inputPin5 = UML.createInputPin();
+ assertValid(inputPin5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ inputPin5.setUpperBound(literalInteger);
+ assertSuperset(inputPin5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ inputPin5.setUpperBound(durationInterval);
+ assertSuperset(inputPin5.getOwnedElements().contains(durationInterval));
+
+ InputPin inputPin6 = UML.createInputPin();
+ assertValid(inputPin6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ inputPin6.setUpperBound(stringExpression);
+ assertSuperset(inputPin6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ inputPin6.setUpperBound(literalUnlimitedNatural);
+ assertSuperset(
+ inputPin6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ InputPin inputPin7 = UML.createInputPin();
+ assertValid(inputPin7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ inputPin7.setUpperBound(timeInterval);
+ assertSuperset(inputPin7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ inputPin7.setUpperBound(timeExpression);
+ assertSuperset(inputPin7.getOwnedElements().contains(timeExpression));
+
+ InputPin inputPin8 = UML.createInputPin();
+ assertValid(inputPin8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ inputPin8.setUpperBound(instanceValue);
+ assertSuperset(inputPin8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testLowerValue() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ inputPin.setLowerValue(literalBoolean);
+ assertSuperset(inputPin.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ inputPin.setLowerValue(interval);
+ assertSuperset(inputPin.getOwnedElements().contains(interval));
+
+ InputPin inputPin2 = UML.createInputPin();
+ assertValid(inputPin2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ inputPin2.setLowerValue(opaqueExpression);
+ assertSuperset(inputPin2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ inputPin2.setLowerValue(expression);
+ assertSuperset(inputPin2.getOwnedElements().contains(expression));
+
+ InputPin inputPin3 = UML.createInputPin();
+ assertValid(inputPin3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ inputPin3.setLowerValue(literalReal);
+ assertSuperset(inputPin3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ inputPin3.setLowerValue(literalString);
+ assertSuperset(inputPin3.getOwnedElements().contains(literalString));
+
+ InputPin inputPin4 = UML.createInputPin();
+ assertValid(inputPin4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ inputPin4.setLowerValue(literalNull);
+ assertSuperset(inputPin4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ inputPin4.setLowerValue(duration);
+ assertSuperset(inputPin4.getOwnedElements().contains(duration));
+
+ InputPin inputPin5 = UML.createInputPin();
+ assertValid(inputPin5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ inputPin5.setLowerValue(literalInteger);
+ assertSuperset(inputPin5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ inputPin5.setLowerValue(durationInterval);
+ assertSuperset(inputPin5.getOwnedElements().contains(durationInterval));
+
+ InputPin inputPin6 = UML.createInputPin();
+ assertValid(inputPin6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ inputPin6.setLowerValue(stringExpression);
+ assertSuperset(inputPin6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ inputPin6.setLowerValue(literalUnlimitedNatural);
+ assertSuperset(
+ inputPin6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ InputPin inputPin7 = UML.createInputPin();
+ assertValid(inputPin7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ inputPin7.setLowerValue(timeInterval);
+ assertSuperset(inputPin7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ inputPin7.setLowerValue(timeExpression);
+ assertSuperset(inputPin7.getOwnedElements().contains(timeExpression));
+
+ InputPin inputPin8 = UML.createInputPin();
+ assertValid(inputPin8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ inputPin8.setLowerValue(instanceValue);
+ assertSuperset(inputPin8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testUpperValue() {
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ inputPin.setUpperValue(literalBoolean);
+ assertSuperset(inputPin.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ inputPin.setUpperValue(interval);
+ assertSuperset(inputPin.getOwnedElements().contains(interval));
+
+ InputPin inputPin2 = UML.createInputPin();
+ assertValid(inputPin2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ inputPin2.setUpperValue(opaqueExpression);
+ assertSuperset(inputPin2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ inputPin2.setUpperValue(expression);
+ assertSuperset(inputPin2.getOwnedElements().contains(expression));
+
+ InputPin inputPin3 = UML.createInputPin();
+ assertValid(inputPin3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ inputPin3.setUpperValue(literalReal);
+ assertSuperset(inputPin3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ inputPin3.setUpperValue(literalString);
+ assertSuperset(inputPin3.getOwnedElements().contains(literalString));
+
+ InputPin inputPin4 = UML.createInputPin();
+ assertValid(inputPin4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ inputPin4.setUpperValue(literalNull);
+ assertSuperset(inputPin4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ inputPin4.setUpperValue(duration);
+ assertSuperset(inputPin4.getOwnedElements().contains(duration));
+
+ InputPin inputPin5 = UML.createInputPin();
+ assertValid(inputPin5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ inputPin5.setUpperValue(literalInteger);
+ assertSuperset(inputPin5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ inputPin5.setUpperValue(durationInterval);
+ assertSuperset(inputPin5.getOwnedElements().contains(durationInterval));
+
+ InputPin inputPin6 = UML.createInputPin();
+ assertValid(inputPin6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ inputPin6.setUpperValue(stringExpression);
+ assertSuperset(inputPin6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ inputPin6.setUpperValue(literalUnlimitedNatural);
+ assertSuperset(
+ inputPin6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ InputPin inputPin7 = UML.createInputPin();
+ assertValid(inputPin7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ inputPin7.setUpperValue(timeInterval);
+ assertSuperset(inputPin7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ inputPin7.setUpperValue(timeExpression);
+ assertSuperset(inputPin7.getOwnedElements().contains(timeExpression));
+
+ InputPin inputPin8 = UML.createInputPin();
+ assertValid(inputPin8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ inputPin8.setUpperValue(instanceValue);
+ assertSuperset(inputPin8.getOwnedElements().contains(instanceValue));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InstanceSpecificationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InstanceSpecificationTest.java
new file mode 100755
index 00000000..7d9e73ca
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InstanceSpecificationTest.java
@@ -0,0 +1,428 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class InstanceSpecificationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ instanceSpecification.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ instanceSpecification.getOwnedComments().add(comment);
+ assertSuperset(
+ instanceSpecification.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ EList<Element> elements = instanceSpecification.getOwnedElements();
+ EList<Element> elements2 = instanceSpecification.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ EList<Dependency> dependencys = instanceSpecification
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = instanceSpecification
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ instanceSpecification.setNameExpression(stringExpression);
+ assertSuperset(instanceSpecification.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testDeployedElement() {
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ EList<PackageableElement> packageableElements = instanceSpecification
+ .getDeployedElements();
+ EList<PackageableElement> packageableElements2 = instanceSpecification
+ .getDeployedElements();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testDeployment() {
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ instanceSpecification.getDeployments().add(deployment);
+ assertSuperset(
+ instanceSpecification.getOwnedElements().contains(deployment));
+ assertSuperset(
+ instanceSpecification.getClientDependencies().contains(deployment));
+ }
+
+ public void testOwningTemplateParameter() {
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ instanceSpecification.setOwningTemplateParameter(templateParameter);
+ assertSuperset(instanceSpecification.getOwner() == templateParameter);
+ assertSuperset(
+ instanceSpecification.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ instanceSpecification.setTemplateParameter(templateParameter);
+ }
+
+ public void testClassifier() {
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ instanceSpecification.getClassifiers().add(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ instanceSpecification.getClassifiers().add(activity);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ instanceSpecification.getClassifiers().add(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ instanceSpecification.getClassifiers().add(informationItem);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ instanceSpecification.getClassifiers().add(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ instanceSpecification.getClassifiers().add(executionEnvironment);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ instanceSpecification.getClassifiers().add(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ instanceSpecification.getClassifiers().add(interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ instanceSpecification.getClassifiers().add(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ instanceSpecification.getClassifiers().add(opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ instanceSpecification.getClassifiers().add(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ instanceSpecification.getClassifiers().add(dataType);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ instanceSpecification.getClassifiers().add(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ instanceSpecification.getClassifiers().add(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ instanceSpecification.getClassifiers().add(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ instanceSpecification.getClassifiers().add(class_);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ instanceSpecification.getClassifiers().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ instanceSpecification.getClassifiers().add(primitiveType);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ instanceSpecification.getClassifiers().add(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ instanceSpecification.getClassifiers().add(protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ instanceSpecification.getClassifiers().add(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ instanceSpecification.getClassifiers().add(signal);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ instanceSpecification.getClassifiers().add(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ instanceSpecification.getClassifiers().add(stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ instanceSpecification.getClassifiers().add(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ instanceSpecification.getClassifiers().add(artifact);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ instanceSpecification.getClassifiers().add(collaboration);
+ }
+
+ public void testSlot() {
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+ instanceSpecification.getSlots().add(slot);
+ assertSuperset(instanceSpecification.getOwnedElements().contains(slot));
+ }
+
+ public void testSpecification() {
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ instanceSpecification.setSpecification(literalBoolean);
+ assertSuperset(
+ instanceSpecification.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ instanceSpecification.setSpecification(interval);
+ assertSuperset(
+ instanceSpecification.getOwnedElements().contains(interval));
+
+ InstanceSpecification instanceSpecification2 = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ instanceSpecification2.setSpecification(opaqueExpression);
+ assertSuperset(instanceSpecification2.getOwnedElements()
+ .contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ instanceSpecification2.setSpecification(expression);
+ assertSuperset(
+ instanceSpecification2.getOwnedElements().contains(expression));
+
+ InstanceSpecification instanceSpecification3 = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ instanceSpecification3.setSpecification(literalReal);
+ assertSuperset(
+ instanceSpecification3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ instanceSpecification3.setSpecification(literalString);
+ assertSuperset(
+ instanceSpecification3.getOwnedElements().contains(literalString));
+
+ InstanceSpecification instanceSpecification4 = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ instanceSpecification4.setSpecification(literalNull);
+ assertSuperset(
+ instanceSpecification4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ instanceSpecification4.setSpecification(duration);
+ assertSuperset(
+ instanceSpecification4.getOwnedElements().contains(duration));
+
+ InstanceSpecification instanceSpecification5 = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ instanceSpecification5.setSpecification(literalInteger);
+ assertSuperset(
+ instanceSpecification5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ instanceSpecification5.setSpecification(durationInterval);
+ assertSuperset(instanceSpecification5.getOwnedElements()
+ .contains(durationInterval));
+
+ InstanceSpecification instanceSpecification6 = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ instanceSpecification6.setSpecification(stringExpression);
+ assertSuperset(instanceSpecification6.getOwnedElements()
+ .contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ instanceSpecification6.setSpecification(literalUnlimitedNatural);
+ assertSuperset(instanceSpecification6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ InstanceSpecification instanceSpecification7 = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ instanceSpecification7.setSpecification(timeInterval);
+ assertSuperset(
+ instanceSpecification7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ instanceSpecification7.setSpecification(timeExpression);
+ assertSuperset(
+ instanceSpecification7.getOwnedElements().contains(timeExpression));
+
+ InstanceSpecification instanceSpecification8 = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ instanceSpecification8.setSpecification(instanceValue);
+ assertSuperset(
+ instanceSpecification8.getOwnedElements().contains(instanceValue));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InstanceValueTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InstanceValueTest.java
new file mode 100755
index 00000000..72929853
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InstanceValueTest.java
@@ -0,0 +1,294 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class InstanceValueTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ instanceValue.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ instanceValue.getOwnedComments().add(comment);
+ assertSuperset(instanceValue.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ EList<Element> elements = instanceValue.getOwnedElements();
+ EList<Element> elements2 = instanceValue.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ EList<Dependency> dependencys = instanceValue.getClientDependencies();
+ EList<Dependency> dependencys2 = instanceValue.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ instanceValue.setNameExpression(stringExpression);
+ assertSuperset(
+ instanceValue.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ instanceValue.setOwningTemplateParameter(templateParameter);
+ assertSuperset(instanceValue.getOwner() == templateParameter);
+ assertSuperset(
+ instanceValue.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ instanceValue.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ instanceValue.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ instanceValue.setType(activity);
+
+ InstanceValue instanceValue2 = UML.createInstanceValue();
+ assertValid(instanceValue2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ instanceValue2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ instanceValue2.setType(informationItem);
+
+ InstanceValue instanceValue3 = UML.createInstanceValue();
+ assertValid(instanceValue3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ instanceValue3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ instanceValue3.setType(executionEnvironment);
+
+ InstanceValue instanceValue4 = UML.createInstanceValue();
+ assertValid(instanceValue4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ instanceValue4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ instanceValue4.setType(interaction);
+
+ InstanceValue instanceValue5 = UML.createInstanceValue();
+ assertValid(instanceValue5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ instanceValue5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ instanceValue5.setType(opaqueBehavior);
+
+ InstanceValue instanceValue6 = UML.createInstanceValue();
+ assertValid(instanceValue6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ instanceValue6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ instanceValue6.setType(dataType);
+
+ InstanceValue instanceValue7 = UML.createInstanceValue();
+ assertValid(instanceValue7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ instanceValue7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ instanceValue7.setType(extension);
+
+ InstanceValue instanceValue8 = UML.createInstanceValue();
+ assertValid(instanceValue8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ instanceValue8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ instanceValue8.setType(class_);
+
+ InstanceValue instanceValue9 = UML.createInstanceValue();
+ assertValid(instanceValue9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ instanceValue9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ instanceValue9.setType(primitiveType);
+
+ InstanceValue instanceValue10 = UML.createInstanceValue();
+ assertValid(instanceValue10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ instanceValue10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ instanceValue10.setType(protocolStateMachine);
+
+ InstanceValue instanceValue11 = UML.createInstanceValue();
+ assertValid(instanceValue11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ instanceValue11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ instanceValue11.setType(signal);
+
+ InstanceValue instanceValue12 = UML.createInstanceValue();
+ assertValid(instanceValue12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ instanceValue12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ instanceValue12.setType(stereotype);
+
+ InstanceValue instanceValue13 = UML.createInstanceValue();
+ assertValid(instanceValue13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ instanceValue13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ instanceValue13.setType(artifact);
+
+ InstanceValue instanceValue14 = UML.createInstanceValue();
+ assertValid(instanceValue14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ instanceValue14.setType(collaboration);
+ }
+
+ public void testInstance() {
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ instanceValue.setInstance(instanceSpecification);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ instanceValue.setInstance(enumerationLiteral);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionConstraintTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionConstraintTest.java
new file mode 100755
index 00000000..ac9249ea
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionConstraintTest.java
@@ -0,0 +1,1857 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Clause;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolConformance;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class InteractionConstraintTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ interactionConstraint.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ interactionConstraint.getOwnedComments().add(comment);
+ assertSuperset(
+ interactionConstraint.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ EList<Element> elements = interactionConstraint.getOwnedElements();
+ EList<Element> elements2 = interactionConstraint.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ EList<Dependency> dependencys = interactionConstraint
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = interactionConstraint
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interactionConstraint.setNameExpression(stringExpression);
+ assertSuperset(interactionConstraint.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ interactionConstraint.setOwningTemplateParameter(templateParameter);
+ assertSuperset(interactionConstraint.getOwner() == templateParameter);
+ assertSuperset(
+ interactionConstraint.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ interactionConstraint.setTemplateParameter(templateParameter);
+ }
+
+ public void testConstrainedElement() {
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ interactionConstraint.getConstrainedElements().add(activity);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ interactionConstraint.getConstrainedElements().add(communicationPath);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ interactionConstraint.getConstrainedElements().add(inputPin);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ interactionConstraint.getConstrainedElements()
+ .add(readLinkObjectEndQualifierAction);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ interactionConstraint.getConstrainedElements().add(component);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ interactionConstraint.getConstrainedElements().add(durationObservation);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ interactionConstraint.getConstrainedElements().add(callEvent);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ interactionConstraint.getConstrainedElements().add(joinNode);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ interactionConstraint.getConstrainedElements()
+ .add(createLinkObjectAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ interactionConstraint.getConstrainedElements().add(readLinkAction);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ interactionConstraint.getConstrainedElements().add(model);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ interactionConstraint.getConstrainedElements().add(trigger);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ interactionConstraint.getConstrainedElements().add(associationClass);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ interactionConstraint.getConstrainedElements()
+ .add(classifierTemplateParameter);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ interactionConstraint.getConstrainedElements()
+ .add(clearStructuralFeatureAction);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ interactionConstraint.getConstrainedElements()
+ .add(structuredActivityNode);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ interactionConstraint.getConstrainedElements().add(forkNode);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ interactionConstraint.getConstrainedElements().add(timeConstraint);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ interactionConstraint.getConstrainedElements().add(extensionEnd);
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ interactionConstraint.getConstrainedElements()
+ .add(considerIgnoreFragment);
+
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+ interactionConstraint.getConstrainedElements().add(protocolConformance);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ interactionConstraint.getConstrainedElements().add(readExtentAction);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ interactionConstraint.getConstrainedElements().add(actionInputPin);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ interactionConstraint.getConstrainedElements().add(artifact);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ interactionConstraint.getConstrainedElements().add(informationFlow);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ interactionConstraint.getConstrainedElements().add(clearVariableAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ interactionConstraint.getConstrainedElements().add(createLinkAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ interactionConstraint.getConstrainedElements().add(sendObjectAction);
+
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+ interactionConstraint.getConstrainedElements().add(linkEndData);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ interactionConstraint.getConstrainedElements().add(controlFlow);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ interactionConstraint.getConstrainedElements()
+ .add(deploymentSpecification);
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ interactionConstraint.getConstrainedElements().add(partDecomposition);
+
+ Image image = UML.createImage();
+ assertValid(image);
+ interactionConstraint.getConstrainedElements().add(image);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ interactionConstraint.getConstrainedElements().add(destroyLinkAction);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ interactionConstraint.getConstrainedElements().add(expansionNode);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ interactionConstraint.getConstrainedElements().add(timeInterval);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ interactionConstraint.getConstrainedElements().add(dataType);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ interactionConstraint.getConstrainedElements().add(substitution);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ interactionConstraint.getConstrainedElements().add(literalBoolean);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ interactionConstraint.getConstrainedElements().add(durationConstraint);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ interactionConstraint.getConstrainedElements().add(literalNull);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ interactionConstraint.getConstrainedElements().add(callOperationAction);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ interactionConstraint.getConstrainedElements().add(node);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ interactionConstraint.getConstrainedElements().add(constraint);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ interactionConstraint.getConstrainedElements().add(stateMachine);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ interactionConstraint.getConstrainedElements().add(interface_);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ interactionConstraint.getConstrainedElements()
+ .add(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ interactionConstraint.getConstrainedElements()
+ .add(removeVariableValueAction);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ interactionConstraint.getConstrainedElements()
+ .add(redefinableTemplateSignature);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ interactionConstraint.getConstrainedElements()
+ .add(executionOccurrenceSpecification);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ interactionConstraint.getConstrainedElements().add(variable);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ interactionConstraint.getConstrainedElements().add(property);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ interactionConstraint.getConstrainedElements().add(expansionRegion);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ interactionConstraint.getConstrainedElements().add(templateParameter);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ interactionConstraint.getConstrainedElements()
+ .add(startObjectBehaviorAction);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ interactionConstraint.getConstrainedElements().add(profile);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ interactionConstraint.getConstrainedElements().add(message);
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ interactionConstraint.getConstrainedElements().add(continuation);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ interactionConstraint.getConstrainedElements().add(objectFlow);
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ interactionConstraint.getConstrainedElements().add(stateInvariant);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ interactionConstraint.getConstrainedElements()
+ .add(addStructuralFeatureValueAction);
+
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+ interactionConstraint.getConstrainedElements().add(connectorEnd);
+
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+ interactionConstraint.getConstrainedElements().add(linkEndCreationData);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ interactionConstraint.getConstrainedElements()
+ .add(connectableElementTemplateParameter);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ interactionConstraint.getConstrainedElements().add(templateBinding);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ interactionConstraint.getConstrainedElements().add(opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ interactionConstraint.getConstrainedElements().add(timeEvent);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ interactionConstraint.getConstrainedElements().add(generalOrdering);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ interactionConstraint.getConstrainedElements()
+ .add(messageOccurrenceSpecification);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ interactionConstraint.getConstrainedElements().add(literalInteger);
+
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+ interactionConstraint.getConstrainedElements().add(slot);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ interactionConstraint.getConstrainedElements().add(centralBufferNode);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ interactionConstraint.getConstrainedElements().add(extension);
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ interactionConstraint.getConstrainedElements().add(extensionPoint);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ interactionConstraint.getConstrainedElements().add(elementImport);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ interactionConstraint.getConstrainedElements().add(dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ interactionConstraint.getConstrainedElements().add(expression);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ interactionConstraint.getConstrainedElements()
+ .add(behaviorExecutionSpecification);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ interactionConstraint.getConstrainedElements().add(acceptCallAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ interactionConstraint.getConstrainedElements()
+ .add(readLinkObjectEndAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ interactionConstraint.getConstrainedElements().add(opaqueAction);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ interactionConstraint.getConstrainedElements().add(packageImport);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interactionConstraint.getConstrainedElements().add(stringExpression);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ interactionConstraint.getConstrainedElements().add(mergeNode);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ interactionConstraint.getConstrainedElements().add(templateSignature);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ interactionConstraint.getConstrainedElements().add(changeEvent);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ interactionConstraint.getConstrainedElements().add(stereotype);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ interactionConstraint.getConstrainedElements().add(comment);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ interactionConstraint.getConstrainedElements().add(readSelfAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ interactionConstraint.getConstrainedElements().add(activityPartition);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ interactionConstraint.getConstrainedElements().add(manifestation);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ interactionConstraint.getConstrainedElements().add(interaction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ interactionConstraint.getConstrainedElements().add(exceptionHandler);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ interactionConstraint.getConstrainedElements().add(opaqueBehavior);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ interactionConstraint.getConstrainedElements()
+ .add(literalUnlimitedNatural);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ interactionConstraint.getConstrainedElements().add(sendSignalAction);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ interactionConstraint.getConstrainedElements().add(operation);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ interactionConstraint.getConstrainedElements()
+ .add(clearAssociationAction);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ interactionConstraint.getConstrainedElements().add(parameter);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ interactionConstraint.getConstrainedElements().add(instanceValue);
+
+ InteractionConstraint interactionConstraint2 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint2);
+ interactionConstraint.getConstrainedElements()
+ .add(interactionConstraint2);
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ interactionConstraint.getConstrainedElements().add(interactionUse);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ interactionConstraint.getConstrainedElements().add(interval);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ interactionConstraint.getConstrainedElements().add(literalString);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ interactionConstraint.getConstrainedElements().add(valuePin);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ interactionConstraint.getConstrainedElements()
+ .add(interfaceRealization);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ interactionConstraint.getConstrainedElements().add(decisionNode);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ interactionConstraint.getConstrainedElements().add(actor);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ interactionConstraint.getConstrainedElements().add(generalization);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ interactionConstraint.getConstrainedElements().add(reception);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ interactionConstraint.getConstrainedElements().add(pseudostate);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ interactionConstraint.getConstrainedElements().add(durationInterval);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ interactionConstraint.getConstrainedElements().add(deployment);
+
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+ interactionConstraint.getConstrainedElements().add(qualifierValue);
+
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ interactionConstraint.getConstrainedElements().add(packageMerge);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ interactionConstraint.getConstrainedElements().add(conditionalNode);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ interactionConstraint.getConstrainedElements().add(signalEvent);
+
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+ interactionConstraint.getConstrainedElements()
+ .add(templateParameterSubstitution);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ interactionConstraint.getConstrainedElements()
+ .add(connectionPointReference);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ interactionConstraint.getConstrainedElements()
+ .add(reclassifyObjectAction);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ interactionConstraint.getConstrainedElements().add(usage);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ interactionConstraint.getConstrainedElements().add(dataStoreNode);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ interactionConstraint.getConstrainedElements()
+ .add(executionEnvironment);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ interactionConstraint.getConstrainedElements().add(realization);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ interactionConstraint.getConstrainedElements().add(testIdentityAction);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ interactionConstraint.getConstrainedElements().add(association);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ interactionConstraint.getConstrainedElements().add(outputPin);
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ interactionConstraint.getConstrainedElements().add(include);
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ interactionConstraint.getConstrainedElements().add(extend);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ interactionConstraint.getConstrainedElements()
+ .add(broadcastSignalAction);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ interactionConstraint.getConstrainedElements().add(finalState);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ interactionConstraint.getConstrainedElements()
+ .add(raiseExceptionAction);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ interactionConstraint.getConstrainedElements().add(activityFinalNode);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interactionConstraint.getConstrainedElements()
+ .add(protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ interactionConstraint.getConstrainedElements().add(loopNode);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ interactionConstraint.getConstrainedElements().add(parameterSet);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ interactionConstraint.getConstrainedElements()
+ .add(valueSpecificationAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ interactionConstraint.getConstrainedElements().add(sequenceNode);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ interactionConstraint.getConstrainedElements().add(destroyObjectAction);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ interactionConstraint.getConstrainedElements().add(enumerationLiteral);
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ interactionConstraint.getConstrainedElements()
+ .add(actionExecutionSpecification);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ interactionConstraint.getConstrainedElements().add(functionBehavior);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ interactionConstraint.getConstrainedElements()
+ .add(instanceSpecification);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ interactionConstraint.getConstrainedElements().add(port);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ interactionConstraint.getConstrainedElements().add(informationItem);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ interactionConstraint.getConstrainedElements().add(literalReal);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ interactionConstraint.getConstrainedElements().add(duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ interactionConstraint.getConstrainedElements().add(package_);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ interactionConstraint.getConstrainedElements()
+ .add(destructionOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ interactionConstraint.getConstrainedElements().add(lifeline);
+
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ interactionConstraint.getConstrainedElements().add(profileApplication);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ interactionConstraint.getConstrainedElements().add(timeObservation);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ interactionConstraint.getConstrainedElements().add(replyAction);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ interactionConstraint.getConstrainedElements().add(gate);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ interactionConstraint.getConstrainedElements().add(timeExpression);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ interactionConstraint.getConstrainedElements().add(device);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ interactionConstraint.getConstrainedElements().add(flowFinalNode);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ interactionConstraint.getConstrainedElements().add(abstraction);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ interactionConstraint.getConstrainedElements().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ interactionConstraint.getConstrainedElements().add(primitiveType);
+
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+ interactionConstraint.getConstrainedElements()
+ .add(linkEndDestructionData);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ interactionConstraint.getConstrainedElements().add(generalizationSet);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ interactionConstraint.getConstrainedElements().add(signal);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ interactionConstraint.getConstrainedElements().add(callBehaviorAction);
+
+ Clause clause = UML.createClause();
+ assertValid(clause);
+ interactionConstraint.getConstrainedElements().add(clause);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ interactionConstraint.getConstrainedElements()
+ .add(readIsClassifiedObjectAction);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ interactionConstraint.getConstrainedElements()
+ .add(activityParameterNode);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ interactionConstraint.getConstrainedElements().add(readVariableAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ interactionConstraint.getConstrainedElements()
+ .add(interruptibleActivityRegion);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ interactionConstraint.getConstrainedElements()
+ .add(removeStructuralFeatureValueAction);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ interactionConstraint.getConstrainedElements().add(region);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ interactionConstraint.getConstrainedElements().add(transition);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ interactionConstraint.getConstrainedElements().add(anyReceiveEvent);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ interactionConstraint.getConstrainedElements().add(reduceAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ interactionConstraint.getConstrainedElements().add(acceptEventAction);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ interactionConstraint.getConstrainedElements().add(initialNode);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ interactionConstraint.getConstrainedElements().add(combinedFragment);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ interactionConstraint.getConstrainedElements().add(intervalConstraint);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ interactionConstraint.getConstrainedElements()
+ .add(occurrenceSpecification);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ interactionConstraint.getConstrainedElements().add(connector);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ interactionConstraint.getConstrainedElements()
+ .add(componentRealization);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ interactionConstraint.getConstrainedElements().add(class_);
+
+ State state = UML.createState();
+ assertValid(state);
+ interactionConstraint.getConstrainedElements().add(state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ interactionConstraint.getConstrainedElements().add(protocolTransition);
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ interactionConstraint.getConstrainedElements()
+ .add(operationTemplateParameter);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ interactionConstraint.getConstrainedElements().add(collaborationUse);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ interactionConstraint.getConstrainedElements().add(interactionOperand);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ interactionConstraint.getConstrainedElements()
+ .add(addVariableValueAction);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interactionConstraint.getConstrainedElements().add(useCase);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ interactionConstraint.getConstrainedElements().add(unmarshallAction);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ interactionConstraint.getConstrainedElements().add(createObjectAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ interactionConstraint.getConstrainedElements()
+ .add(readStructuralFeatureAction);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ interactionConstraint.getConstrainedElements().add(collaboration);
+ }
+
+ public void testContext() {
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ interactionConstraint.setContext(functionBehavior);
+ assertSuperset(
+ interactionConstraint.getNamespace() == functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ interactionConstraint.setContext(activity);
+ assertSuperset(interactionConstraint.getNamespace() == activity);
+
+ InteractionConstraint interactionConstraint2 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ interactionConstraint2.setContext(interface_);
+ assertSuperset(interactionConstraint2.getNamespace() == interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ interactionConstraint2.setContext(informationItem);
+ assertSuperset(
+ interactionConstraint2.getNamespace() == informationItem);
+
+ InteractionConstraint interactionConstraint3 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ interactionConstraint3.setContext(communicationPath);
+ assertSuperset(
+ interactionConstraint3.getNamespace() == communicationPath);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ interactionConstraint3.setContext(region);
+ assertSuperset(interactionConstraint3.getNamespace() == region);
+
+ InteractionConstraint interactionConstraint4 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint4);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ interactionConstraint4.setContext(transition);
+ assertSuperset(interactionConstraint4.getNamespace() == transition);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ interactionConstraint4.setContext(executionEnvironment);
+ assertSuperset(
+ interactionConstraint4.getNamespace() == executionEnvironment);
+
+ InteractionConstraint interactionConstraint5 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint5);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ interactionConstraint5.setContext(component);
+ assertSuperset(interactionConstraint5.getNamespace() == component);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ interactionConstraint5.setContext(package_);
+ assertSuperset(interactionConstraint5.getNamespace() == package_);
+
+ InteractionConstraint interactionConstraint6 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint6);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ interactionConstraint6.setContext(interaction);
+ assertSuperset(interactionConstraint6.getNamespace() == interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ interactionConstraint6.setContext(deploymentSpecification);
+ assertSuperset(
+ interactionConstraint6.getNamespace() == deploymentSpecification);
+
+ InteractionConstraint interactionConstraint7 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint7);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ interactionConstraint7.setContext(opaqueBehavior);
+ assertSuperset(interactionConstraint7.getNamespace() == opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ interactionConstraint7.setContext(association);
+ assertSuperset(interactionConstraint7.getNamespace() == association);
+
+ InteractionConstraint interactionConstraint8 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint8);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ interactionConstraint8.setContext(operation);
+ assertSuperset(interactionConstraint8.getNamespace() == operation);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ interactionConstraint8.setContext(dataType);
+ assertSuperset(interactionConstraint8.getNamespace() == dataType);
+
+ InteractionConstraint interactionConstraint9 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint9);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ interactionConstraint9.setContext(model);
+ assertSuperset(interactionConstraint9.getNamespace() == model);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ interactionConstraint9.setContext(device);
+ assertSuperset(interactionConstraint9.getNamespace() == device);
+
+ InteractionConstraint interactionConstraint10 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint10);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ interactionConstraint10.setContext(extension);
+ assertSuperset(interactionConstraint10.getNamespace() == extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ interactionConstraint10.setContext(associationClass);
+ assertSuperset(
+ interactionConstraint10.getNamespace() == associationClass);
+
+ InteractionConstraint interactionConstraint11 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint11);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ interactionConstraint11.setContext(expansionRegion);
+ assertSuperset(
+ interactionConstraint11.getNamespace() == expansionRegion);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ interactionConstraint11.setContext(structuredActivityNode);
+ assertSuperset(
+ interactionConstraint11.getNamespace() == structuredActivityNode);
+
+ InteractionConstraint interactionConstraint12 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint12);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ interactionConstraint12.setContext(finalState);
+ assertSuperset(interactionConstraint12.getNamespace() == finalState);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ interactionConstraint12.setContext(class_);
+ assertSuperset(interactionConstraint12.getNamespace() == class_);
+
+ InteractionConstraint interactionConstraint13 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint13);
+
+ State state = UML.createState();
+ assertValid(state);
+ interactionConstraint13.setContext(state);
+ assertSuperset(interactionConstraint13.getNamespace() == state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ interactionConstraint13.setContext(protocolTransition);
+ assertSuperset(
+ interactionConstraint13.getNamespace() == protocolTransition);
+
+ InteractionConstraint interactionConstraint14 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint14);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ interactionConstraint14.setContext(enumeration);
+ assertSuperset(interactionConstraint14.getNamespace() == enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ interactionConstraint14.setContext(primitiveType);
+ assertSuperset(interactionConstraint14.getNamespace() == primitiveType);
+
+ InteractionConstraint interactionConstraint15 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint15);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ interactionConstraint15.setContext(actor);
+ assertSuperset(interactionConstraint15.getNamespace() == actor);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ interactionConstraint15.setContext(profile);
+ assertSuperset(interactionConstraint15.getNamespace() == profile);
+
+ InteractionConstraint interactionConstraint16 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint16);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interactionConstraint16.setContext(protocolStateMachine);
+ assertSuperset(
+ interactionConstraint16.getNamespace() == protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ interactionConstraint16.setContext(loopNode);
+ assertSuperset(interactionConstraint16.getNamespace() == loopNode);
+
+ InteractionConstraint interactionConstraint17 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint17);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ interactionConstraint17.setContext(interactionOperand);
+ assertSuperset(
+ interactionConstraint17.getNamespace() == interactionOperand);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ interactionConstraint17.setContext(reception);
+ assertSuperset(interactionConstraint17.getNamespace() == reception);
+
+ InteractionConstraint interactionConstraint18 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint18);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interactionConstraint18.setContext(useCase);
+ assertSuperset(interactionConstraint18.getNamespace() == useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ interactionConstraint18.setContext(signal);
+ assertSuperset(interactionConstraint18.getNamespace() == signal);
+
+ InteractionConstraint interactionConstraint19 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint19);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ interactionConstraint19.setContext(node);
+ assertSuperset(interactionConstraint19.getNamespace() == node);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ interactionConstraint19.setContext(sequenceNode);
+ assertSuperset(interactionConstraint19.getNamespace() == sequenceNode);
+
+ InteractionConstraint interactionConstraint20 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint20);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ interactionConstraint20.setContext(stereotype);
+ assertSuperset(interactionConstraint20.getNamespace() == stereotype);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ interactionConstraint20.setContext(conditionalNode);
+ assertSuperset(
+ interactionConstraint20.getNamespace() == conditionalNode);
+
+ InteractionConstraint interactionConstraint21 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint21);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ interactionConstraint21.setContext(stateMachine);
+ assertSuperset(interactionConstraint21.getNamespace() == stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ interactionConstraint21.setContext(artifact);
+ assertSuperset(interactionConstraint21.getNamespace() == artifact);
+
+ InteractionConstraint interactionConstraint22 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint22);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ interactionConstraint22.setContext(collaboration);
+ assertSuperset(interactionConstraint22.getNamespace() == collaboration);
+ }
+
+ public void testSpecification() {
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ interactionConstraint.setSpecification(literalBoolean);
+ assertSuperset(
+ interactionConstraint.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ interactionConstraint.setSpecification(interval);
+ assertSuperset(
+ interactionConstraint.getOwnedElements().contains(interval));
+
+ InteractionConstraint interactionConstraint2 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ interactionConstraint2.setSpecification(opaqueExpression);
+ assertSuperset(interactionConstraint2.getOwnedElements()
+ .contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ interactionConstraint2.setSpecification(expression);
+ assertSuperset(
+ interactionConstraint2.getOwnedElements().contains(expression));
+
+ InteractionConstraint interactionConstraint3 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ interactionConstraint3.setSpecification(literalReal);
+ assertSuperset(
+ interactionConstraint3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ interactionConstraint3.setSpecification(literalString);
+ assertSuperset(
+ interactionConstraint3.getOwnedElements().contains(literalString));
+
+ InteractionConstraint interactionConstraint4 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ interactionConstraint4.setSpecification(literalNull);
+ assertSuperset(
+ interactionConstraint4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ interactionConstraint4.setSpecification(duration);
+ assertSuperset(
+ interactionConstraint4.getOwnedElements().contains(duration));
+
+ InteractionConstraint interactionConstraint5 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ interactionConstraint5.setSpecification(literalInteger);
+ assertSuperset(
+ interactionConstraint5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ interactionConstraint5.setSpecification(durationInterval);
+ assertSuperset(interactionConstraint5.getOwnedElements()
+ .contains(durationInterval));
+
+ InteractionConstraint interactionConstraint6 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interactionConstraint6.setSpecification(stringExpression);
+ assertSuperset(interactionConstraint6.getOwnedElements()
+ .contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ interactionConstraint6.setSpecification(literalUnlimitedNatural);
+ assertSuperset(interactionConstraint6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ InteractionConstraint interactionConstraint7 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ interactionConstraint7.setSpecification(timeInterval);
+ assertSuperset(
+ interactionConstraint7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ interactionConstraint7.setSpecification(timeExpression);
+ assertSuperset(
+ interactionConstraint7.getOwnedElements().contains(timeExpression));
+
+ InteractionConstraint interactionConstraint8 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ interactionConstraint8.setSpecification(instanceValue);
+ assertSuperset(
+ interactionConstraint8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testMaxint() {
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ interactionConstraint.setMaxint(literalBoolean);
+ assertSuperset(
+ interactionConstraint.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ interactionConstraint.setMaxint(interval);
+ assertSuperset(
+ interactionConstraint.getOwnedElements().contains(interval));
+
+ InteractionConstraint interactionConstraint2 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ interactionConstraint2.setMaxint(opaqueExpression);
+ assertSuperset(interactionConstraint2.getOwnedElements()
+ .contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ interactionConstraint2.setMaxint(expression);
+ assertSuperset(
+ interactionConstraint2.getOwnedElements().contains(expression));
+
+ InteractionConstraint interactionConstraint3 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ interactionConstraint3.setMaxint(literalReal);
+ assertSuperset(
+ interactionConstraint3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ interactionConstraint3.setMaxint(literalString);
+ assertSuperset(
+ interactionConstraint3.getOwnedElements().contains(literalString));
+
+ InteractionConstraint interactionConstraint4 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ interactionConstraint4.setMaxint(literalNull);
+ assertSuperset(
+ interactionConstraint4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ interactionConstraint4.setMaxint(duration);
+ assertSuperset(
+ interactionConstraint4.getOwnedElements().contains(duration));
+
+ InteractionConstraint interactionConstraint5 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ interactionConstraint5.setMaxint(literalInteger);
+ assertSuperset(
+ interactionConstraint5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ interactionConstraint5.setMaxint(durationInterval);
+ assertSuperset(interactionConstraint5.getOwnedElements()
+ .contains(durationInterval));
+
+ InteractionConstraint interactionConstraint6 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interactionConstraint6.setMaxint(stringExpression);
+ assertSuperset(interactionConstraint6.getOwnedElements()
+ .contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ interactionConstraint6.setMaxint(literalUnlimitedNatural);
+ assertSuperset(interactionConstraint6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ InteractionConstraint interactionConstraint7 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ interactionConstraint7.setMaxint(timeInterval);
+ assertSuperset(
+ interactionConstraint7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ interactionConstraint7.setMaxint(timeExpression);
+ assertSuperset(
+ interactionConstraint7.getOwnedElements().contains(timeExpression));
+
+ InteractionConstraint interactionConstraint8 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ interactionConstraint8.setMaxint(instanceValue);
+ assertSuperset(
+ interactionConstraint8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testMinint() {
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ interactionConstraint.setMinint(literalBoolean);
+ assertSuperset(
+ interactionConstraint.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ interactionConstraint.setMinint(interval);
+ assertSuperset(
+ interactionConstraint.getOwnedElements().contains(interval));
+
+ InteractionConstraint interactionConstraint2 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ interactionConstraint2.setMinint(opaqueExpression);
+ assertSuperset(interactionConstraint2.getOwnedElements()
+ .contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ interactionConstraint2.setMinint(expression);
+ assertSuperset(
+ interactionConstraint2.getOwnedElements().contains(expression));
+
+ InteractionConstraint interactionConstraint3 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ interactionConstraint3.setMinint(literalReal);
+ assertSuperset(
+ interactionConstraint3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ interactionConstraint3.setMinint(literalString);
+ assertSuperset(
+ interactionConstraint3.getOwnedElements().contains(literalString));
+
+ InteractionConstraint interactionConstraint4 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ interactionConstraint4.setMinint(literalNull);
+ assertSuperset(
+ interactionConstraint4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ interactionConstraint4.setMinint(duration);
+ assertSuperset(
+ interactionConstraint4.getOwnedElements().contains(duration));
+
+ InteractionConstraint interactionConstraint5 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ interactionConstraint5.setMinint(literalInteger);
+ assertSuperset(
+ interactionConstraint5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ interactionConstraint5.setMinint(durationInterval);
+ assertSuperset(interactionConstraint5.getOwnedElements()
+ .contains(durationInterval));
+
+ InteractionConstraint interactionConstraint6 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interactionConstraint6.setMinint(stringExpression);
+ assertSuperset(interactionConstraint6.getOwnedElements()
+ .contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ interactionConstraint6.setMinint(literalUnlimitedNatural);
+ assertSuperset(interactionConstraint6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ InteractionConstraint interactionConstraint7 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ interactionConstraint7.setMinint(timeInterval);
+ assertSuperset(
+ interactionConstraint7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ interactionConstraint7.setMinint(timeExpression);
+ assertSuperset(
+ interactionConstraint7.getOwnedElements().contains(timeExpression));
+
+ InteractionConstraint interactionConstraint8 = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ interactionConstraint8.setMinint(instanceValue);
+ assertSuperset(
+ interactionConstraint8.getOwnedElements().contains(instanceValue));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionOperandTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionOperandTest.java
new file mode 100755
index 00000000..c6db11ad
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionOperandTest.java
@@ -0,0 +1,337 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeConstraint;
+
+/**
+ * @author Eike Stepper
+ */
+public class InteractionOperandTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ interactionOperand.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ interactionOperand.getOwnedComments().add(comment);
+ assertSuperset(interactionOperand.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ EList<Element> elements = interactionOperand.getOwnedElements();
+ EList<Element> elements2 = interactionOperand.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ EList<Dependency> dependencys = interactionOperand
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = interactionOperand
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interactionOperand.setNameExpression(stringExpression);
+ assertSuperset(
+ interactionOperand.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ interactionOperand.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ interactionOperand.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ interactionOperand.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ interactionOperand.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ interactionOperand.getOwnedRules().add(interactionConstraint);
+ assertSuperset(interactionOperand.getOwnedMembers()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ interactionOperand.getOwnedRules().add(constraint);
+ assertSuperset(
+ interactionOperand.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ interactionOperand.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ interactionOperand.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ interactionOperand.getElementImports().add(elementImport);
+ assertSuperset(
+ interactionOperand.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ interactionOperand.getPackageImports().add(packageImport);
+ assertSuperset(
+ interactionOperand.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ EList<NamedElement> namedElements = interactionOperand
+ .getOwnedMembers();
+ EList<NamedElement> namedElements2 = interactionOperand
+ .getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ EList<PackageableElement> packageableElements = interactionOperand
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = interactionOperand
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ EList<NamedElement> namedElements = interactionOperand.getMembers();
+ EList<NamedElement> namedElements2 = interactionOperand.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testCovered() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ interactionOperand.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+
+ InteractionOperand interactionOperand2 = UML.createInteractionOperand();
+ assertValid(interactionOperand2);
+ interactionOperand.setEnclosingOperand(interactionOperand2);
+ assertSuperset(
+ interactionOperand.getNamespace() == interactionOperand2);
+ }
+
+ public void testEnclosingInteraction() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ interactionOperand.setEnclosingInteraction(interaction);
+ assertSuperset(interactionOperand.getNamespace() == interaction);
+ }
+
+ public void testGeneralOrdering() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ interactionOperand.getGeneralOrderings().add(generalOrdering);
+ assertSuperset(
+ interactionOperand.getOwnedElements().contains(generalOrdering));
+ }
+
+ public void testFragment() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ interactionOperand.getFragments().add(combinedFragment);
+ assertSuperset(
+ interactionOperand.getOwnedMembers().contains(combinedFragment));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ interactionOperand.getFragments().add(stateInvariant);
+ assertSuperset(
+ interactionOperand.getOwnedMembers().contains(stateInvariant));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ interactionOperand.getFragments().add(occurrenceSpecification);
+ assertSuperset(interactionOperand.getOwnedMembers()
+ .contains(occurrenceSpecification));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ interactionOperand.getFragments().add(interactionUse);
+ assertSuperset(
+ interactionOperand.getOwnedMembers().contains(interactionUse));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ interactionOperand.getFragments().add(behaviorExecutionSpecification);
+ assertSuperset(interactionOperand.getOwnedMembers()
+ .contains(behaviorExecutionSpecification));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ interactionOperand.getFragments().add(executionOccurrenceSpecification);
+ assertSuperset(interactionOperand.getOwnedMembers()
+ .contains(executionOccurrenceSpecification));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ interactionOperand.getFragments()
+ .add(destructionOccurrenceSpecification);
+ assertSuperset(interactionOperand.getOwnedMembers()
+ .contains(destructionOccurrenceSpecification));
+
+ InteractionOperand interactionOperand2 = UML.createInteractionOperand();
+ assertValid(interactionOperand2);
+ interactionOperand.getFragments().add(interactionOperand2);
+ assertSuperset(
+ interactionOperand.getOwnedMembers().contains(interactionOperand2));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ interactionOperand.getFragments().add(messageOccurrenceSpecification);
+ assertSuperset(interactionOperand.getOwnedMembers()
+ .contains(messageOccurrenceSpecification));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ interactionOperand.getFragments().add(interaction);
+ assertSuperset(
+ interactionOperand.getOwnedMembers().contains(interaction));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ interactionOperand.getFragments().add(partDecomposition);
+ assertSuperset(
+ interactionOperand.getOwnedMembers().contains(partDecomposition));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ interactionOperand.getFragments().add(continuation);
+ assertSuperset(
+ interactionOperand.getOwnedMembers().contains(continuation));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ interactionOperand.getFragments().add(considerIgnoreFragment);
+ assertSuperset(interactionOperand.getOwnedMembers()
+ .contains(considerIgnoreFragment));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ interactionOperand.getFragments().add(actionExecutionSpecification);
+ assertSuperset(interactionOperand.getOwnedMembers()
+ .contains(actionExecutionSpecification));
+ }
+
+ public void testGuard() {
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ interactionOperand.setGuard(interactionConstraint);
+ assertSuperset(interactionOperand.getOwnedElements()
+ .contains(interactionConstraint));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionTest.java
new file mode 100755
index 00000000..e94ce3f2
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionTest.java
@@ -0,0 +1,1443 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class InteractionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ interaction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ interaction.getOwnedComments().add(comment);
+ assertSuperset(interaction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<Element> elements = interaction.getOwnedElements();
+ EList<Element> elements2 = interaction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<Dependency> dependencys = interaction.getClientDependencies();
+ EList<Dependency> dependencys2 = interaction.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interaction.setNameExpression(stringExpression);
+ assertSuperset(
+ interaction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ interaction.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ interaction.getOwnedRules().add(timeConstraint);
+ assertSuperset(interaction.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ interaction.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ interaction.getOwnedRules().add(constraint);
+ assertSuperset(interaction.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ interaction.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ interaction.getElementImports().add(elementImport);
+ assertSuperset(interaction.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ interaction.getPackageImports().add(packageImport);
+ assertSuperset(interaction.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<NamedElement> namedElements = interaction.getOwnedMembers();
+ EList<NamedElement> namedElements2 = interaction.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<PackageableElement> packageableElements = interaction
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = interaction
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<NamedElement> namedElements = interaction.getMembers();
+ EList<NamedElement> namedElements2 = interaction.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<RedefinableElement> redefinableElements = interaction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = interaction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<Classifier> classifiers = interaction.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = interaction.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ interaction.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(interaction.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ interaction.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ interaction.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ interaction.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ interaction.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ interaction.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(interaction.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<Feature> features = interaction.getFeatures();
+ EList<Feature> features2 = interaction.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<Property> propertys = interaction.getAttributes();
+ EList<Property> propertys2 = interaction.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ interaction.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ interaction.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<Classifier> classifiers = interaction.getGenerals();
+ EList<Classifier> classifiers2 = interaction.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ interaction.getGeneralizations().add(generalization);
+ assertSuperset(interaction.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ interaction.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<NamedElement> namedElements = interaction.getInheritedMembers();
+ EList<NamedElement> namedElements2 = interaction.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interaction.getOwnedUseCases().add(useCase);
+ assertSuperset(interaction.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interaction.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ interaction.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ interaction.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ interaction.getRedefinedClassifiers().add(activity);
+ assertSuperset(interaction.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ interaction.getRedefinedClassifiers().add(interface_);
+ assertSuperset(interaction.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ interaction.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ interaction.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ interaction.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ interaction.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ interaction.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ interaction.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ interaction.getRedefinedClassifiers().add(component);
+ assertSuperset(interaction.getRedefinedElements().contains(component));
+
+ Interaction interaction2 = UML.createInteraction();
+ assertValid(interaction2);
+ interaction.getRedefinedClassifiers().add(interaction2);
+ assertSuperset(
+ interaction.getRedefinedElements().contains(interaction2));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ interaction.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(interaction.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ interaction.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ interaction.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ interaction.getRedefinedClassifiers().add(association);
+ assertSuperset(
+ interaction.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ interaction.getRedefinedClassifiers().add(dataType);
+ assertSuperset(interaction.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ interaction.getRedefinedClassifiers().add(device);
+ assertSuperset(interaction.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ interaction.getRedefinedClassifiers().add(extension);
+ assertSuperset(interaction.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ interaction.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ interaction.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ interaction.getRedefinedClassifiers().add(class_);
+ assertSuperset(interaction.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ interaction.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(
+ interaction.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ interaction.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ interaction.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ interaction.getRedefinedClassifiers().add(actor);
+ assertSuperset(interaction.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interaction.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ interaction.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interaction.getRedefinedClassifiers().add(useCase);
+ assertSuperset(interaction.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ interaction.getRedefinedClassifiers().add(signal);
+ assertSuperset(interaction.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ interaction.getRedefinedClassifiers().add(node);
+ assertSuperset(interaction.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ interaction.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(interaction.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ interaction.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ interaction.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ interaction.getRedefinedClassifiers().add(artifact);
+ assertSuperset(interaction.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ interaction.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ interaction.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ interaction.setRepresentation(collaborationUse);
+ assertSuperset(
+ interaction.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ interaction.getSubstitutions().add(substitution);
+ assertSuperset(interaction.getOwnedElements().contains(substitution));
+ assertSuperset(
+ interaction.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ interaction.getOwnedAttributes().add(port);
+ assertSuperset(interaction.getAttributes().contains(port));
+ assertSuperset(interaction.getOwnedMembers().contains(port));
+ assertSuperset(interaction.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ interaction.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(interaction.getAttributes().contains(extensionEnd));
+ assertSuperset(interaction.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(interaction.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ interaction.getOwnedAttributes().add(property);
+ assertSuperset(interaction.getAttributes().contains(property));
+ assertSuperset(interaction.getOwnedMembers().contains(property));
+ assertSuperset(interaction.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ interaction.getOwnedConnectors().add(connector);
+ assertSuperset(interaction.getFeatures().contains(connector));
+ assertSuperset(interaction.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<Property> propertys = interaction.getParts();
+ EList<Property> propertys2 = interaction.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<ConnectableElement> connectableElements = interaction.getRoles();
+ EList<ConnectableElement> connectableElements2 = interaction.getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testOwnedPort() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<Port> ports = interaction.getOwnedPorts();
+ EList<Port> ports2 = interaction.getOwnedPorts();
+ assertSame(ports, ports2);
+ }
+
+ public void testClassifierBehavior() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interaction.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(
+ interaction.getOwnedBehaviors().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ interaction.setClassifierBehavior(stateMachine);
+ assertSuperset(interaction.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ interaction.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(
+ interaction.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(
+ interaction.getClientDependencies().contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interaction.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ interaction.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(interaction.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testOwnedOperation() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ interaction.getOwnedOperations().add(operation);
+ assertSuperset(interaction.getFeatures().contains(operation));
+ assertSuperset(interaction.getOwnedMembers().contains(operation));
+ }
+
+ public void testExtension() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<Extension> extensions = interaction.getExtensions();
+ EList<Extension> extensions2 = interaction.getExtensions();
+ assertSame(extensions, extensions2);
+ }
+
+ public void testNestedClassifier() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ interaction.getNestedClassifiers().add(functionBehavior);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ interaction.getNestedClassifiers().add(activity);
+ assertSuperset(interaction.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ interaction.getNestedClassifiers().add(interface_);
+ assertSuperset(interaction.getOwnedMembers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ interaction.getNestedClassifiers().add(informationItem);
+ assertSuperset(interaction.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ interaction.getNestedClassifiers().add(communicationPath);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ interaction.getNestedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ interaction.getNestedClassifiers().add(component);
+ assertSuperset(interaction.getOwnedMembers().contains(component));
+
+ Interaction interaction2 = UML.createInteraction();
+ assertValid(interaction2);
+ interaction.getNestedClassifiers().add(interaction2);
+ assertSuperset(interaction.getOwnedMembers().contains(interaction2));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ interaction.getNestedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ interaction.getNestedClassifiers().add(opaqueBehavior);
+ assertSuperset(interaction.getOwnedMembers().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ interaction.getNestedClassifiers().add(association);
+ assertSuperset(interaction.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ interaction.getNestedClassifiers().add(dataType);
+ assertSuperset(interaction.getOwnedMembers().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ interaction.getNestedClassifiers().add(device);
+ assertSuperset(interaction.getOwnedMembers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ interaction.getNestedClassifiers().add(extension);
+ assertSuperset(interaction.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ interaction.getNestedClassifiers().add(associationClass);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ interaction.getNestedClassifiers().add(class_);
+ assertSuperset(interaction.getOwnedMembers().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ interaction.getNestedClassifiers().add(enumeration);
+ assertSuperset(interaction.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ interaction.getNestedClassifiers().add(primitiveType);
+ assertSuperset(interaction.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ interaction.getNestedClassifiers().add(actor);
+ assertSuperset(interaction.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interaction.getNestedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interaction.getNestedClassifiers().add(useCase);
+ assertSuperset(interaction.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ interaction.getNestedClassifiers().add(signal);
+ assertSuperset(interaction.getOwnedMembers().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ interaction.getNestedClassifiers().add(node);
+ assertSuperset(interaction.getOwnedMembers().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ interaction.getNestedClassifiers().add(stereotype);
+ assertSuperset(interaction.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ interaction.getNestedClassifiers().add(stateMachine);
+ assertSuperset(interaction.getOwnedMembers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ interaction.getNestedClassifiers().add(artifact);
+ assertSuperset(interaction.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ interaction.getNestedClassifiers().add(collaboration);
+ assertSuperset(interaction.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedReception() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ interaction.getOwnedReceptions().add(reception);
+ assertSuperset(interaction.getFeatures().contains(reception));
+ assertSuperset(interaction.getOwnedMembers().contains(reception));
+ }
+
+ public void testSuperClass() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ EList<org.eclipse.uml2.uml.Class> class_s = interaction
+ .getSuperClasses();
+ EList<org.eclipse.uml2.uml.Class> class_s2 = interaction
+ .getSuperClasses();
+ assertSame(class_s, class_s2);
+ }
+
+ public void testSpecification() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ interaction.setSpecification(reception);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ interaction.setSpecification(operation);
+ }
+
+ public void testOwnedParameter() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ interaction.getOwnedParameters().add(parameter);
+ assertSuperset(interaction.getOwnedMembers().contains(parameter));
+ }
+
+ public void testOwnedParameterSet() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ interaction.getOwnedParameterSets().add(parameterSet);
+ assertSuperset(interaction.getOwnedMembers().contains(parameterSet));
+ }
+
+ public void testPostcondition() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ interaction.getPostconditions().add(intervalConstraint);
+ assertSuperset(
+ interaction.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ interaction.getPostconditions().add(timeConstraint);
+ assertSuperset(interaction.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ interaction.getPostconditions().add(interactionConstraint);
+ assertSuperset(
+ interaction.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ interaction.getPostconditions().add(constraint);
+ assertSuperset(interaction.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ interaction.getPostconditions().add(durationConstraint);
+ assertSuperset(
+ interaction.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testPrecondition() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ interaction.getPreconditions().add(intervalConstraint);
+ assertSuperset(
+ interaction.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ interaction.getPreconditions().add(timeConstraint);
+ assertSuperset(interaction.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ interaction.getPreconditions().add(interactionConstraint);
+ assertSuperset(
+ interaction.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ interaction.getPreconditions().add(constraint);
+ assertSuperset(interaction.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ interaction.getPreconditions().add(durationConstraint);
+ assertSuperset(
+ interaction.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testRedefinedBehavior() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interaction.getRedefinedBehaviors().add(protocolStateMachine);
+ assertSuperset(interaction.getRedefinedClassifiers()
+ .contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ interaction.getRedefinedBehaviors().add(stateMachine);
+ assertSuperset(
+ interaction.getRedefinedClassifiers().contains(stateMachine));
+ }
+
+ public void testCovered() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ interaction.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ interaction.setEnclosingOperand(interactionOperand);
+ assertSuperset(interaction.getNamespace() == interactionOperand);
+ }
+
+ public void testEnclosingInteraction() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Interaction interaction2 = UML.createInteraction();
+ assertValid(interaction2);
+ interaction.setEnclosingInteraction(interaction2);
+ assertSuperset(interaction.getNamespace() == interaction2);
+ }
+
+ public void testGeneralOrdering() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ interaction.getGeneralOrderings().add(generalOrdering);
+ assertSuperset(
+ interaction.getOwnedElements().contains(generalOrdering));
+ }
+
+ public void testLifeline() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ interaction.getLifelines().add(lifeline);
+ assertSuperset(interaction.getOwnedMembers().contains(lifeline));
+ }
+
+ public void testFragment() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ interaction.getFragments().add(combinedFragment);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(combinedFragment));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ interaction.getFragments().add(stateInvariant);
+ assertSuperset(interaction.getOwnedMembers().contains(stateInvariant));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ interaction.getFragments().add(occurrenceSpecification);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(occurrenceSpecification));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ interaction.getFragments().add(interactionUse);
+ assertSuperset(interaction.getOwnedMembers().contains(interactionUse));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ interaction.getFragments().add(behaviorExecutionSpecification);
+ assertSuperset(interaction.getOwnedMembers()
+ .contains(behaviorExecutionSpecification));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ interaction.getFragments().add(executionOccurrenceSpecification);
+ assertSuperset(interaction.getOwnedMembers()
+ .contains(executionOccurrenceSpecification));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ interaction.getFragments().add(destructionOccurrenceSpecification);
+ assertSuperset(interaction.getOwnedMembers()
+ .contains(destructionOccurrenceSpecification));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ interaction.getFragments().add(interactionOperand);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(interactionOperand));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ interaction.getFragments().add(messageOccurrenceSpecification);
+ assertSuperset(interaction.getOwnedMembers()
+ .contains(messageOccurrenceSpecification));
+
+ Interaction interaction2 = UML.createInteraction();
+ assertValid(interaction2);
+ interaction.getFragments().add(interaction2);
+ assertSuperset(interaction.getOwnedMembers().contains(interaction2));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ interaction.getFragments().add(partDecomposition);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(partDecomposition));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ interaction.getFragments().add(continuation);
+ assertSuperset(interaction.getOwnedMembers().contains(continuation));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ interaction.getFragments().add(considerIgnoreFragment);
+ assertSuperset(
+ interaction.getOwnedMembers().contains(considerIgnoreFragment));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ interaction.getFragments().add(actionExecutionSpecification);
+ assertSuperset(interaction.getOwnedMembers()
+ .contains(actionExecutionSpecification));
+ }
+
+ public void testAction() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ interaction.getActions().add(readIsClassifiedObjectAction);
+ assertSuperset(interaction.getOwnedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ interaction.getActions().add(startClassifierBehaviorAction);
+ assertSuperset(interaction.getOwnedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ interaction.getActions().add(removeVariableValueAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(removeVariableValueAction));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ interaction.getActions().add(addStructuralFeatureValueAction);
+ assertSuperset(interaction.getOwnedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ interaction.getActions().add(readVariableAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ interaction.getActions().add(clearVariableAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ interaction.getActions().add(removeStructuralFeatureValueAction);
+ assertSuperset(interaction.getOwnedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ interaction.getActions().add(createLinkAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(createLinkAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ interaction.getActions().add(readSelfAction);
+ assertSuperset(interaction.getOwnedElements().contains(readSelfAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ interaction.getActions().add(reclassifyObjectAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(reclassifyObjectAction));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ interaction.getActions().add(readLinkObjectEndQualifierAction);
+ assertSuperset(interaction.getOwnedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ interaction.getActions().add(sendObjectAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ interaction.getActions().add(reduceAction);
+ assertSuperset(interaction.getOwnedElements().contains(reduceAction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ interaction.getActions().add(createLinkObjectAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(createLinkObjectAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ interaction.getActions().add(acceptEventAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ interaction.getActions().add(destroyLinkAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(destroyLinkAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ interaction.getActions().add(sendSignalAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ interaction.getActions().add(readLinkAction);
+ assertSuperset(interaction.getOwnedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ interaction.getActions().add(replyAction);
+ assertSuperset(interaction.getOwnedElements().contains(replyAction));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ interaction.getActions().add(testIdentityAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(testIdentityAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ interaction.getActions().add(clearAssociationAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(clearAssociationAction));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ interaction.getActions().add(broadcastSignalAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(broadcastSignalAction));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ interaction.getActions().add(clearStructuralFeatureAction);
+ assertSuperset(interaction.getOwnedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ interaction.getActions().add(expansionRegion);
+ assertSuperset(
+ interaction.getOwnedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ interaction.getActions().add(structuredActivityNode);
+ assertSuperset(
+ interaction.getOwnedElements().contains(structuredActivityNode));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ interaction.getActions().add(raiseExceptionAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(raiseExceptionAction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ interaction.getActions().add(startObjectBehaviorAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(startObjectBehaviorAction));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ interaction.getActions().add(callOperationAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ interaction.getActions().add(loopNode);
+ assertSuperset(interaction.getOwnedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ interaction.getActions().add(valueSpecificationAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ interaction.getActions().add(acceptCallAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ interaction.getActions().add(addVariableValueAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ interaction.getActions().add(readLinkObjectEndAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ interaction.getActions().add(unmarshallAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ interaction.getActions().add(opaqueAction);
+ assertSuperset(interaction.getOwnedElements().contains(opaqueAction));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ interaction.getActions().add(sequenceNode);
+ assertSuperset(interaction.getOwnedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ interaction.getActions().add(createObjectAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ interaction.getActions().add(destroyObjectAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(destroyObjectAction));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ interaction.getActions().add(callBehaviorAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ interaction.getActions().add(conditionalNode);
+ assertSuperset(
+ interaction.getOwnedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ interaction.getActions().add(readExtentAction);
+ assertSuperset(
+ interaction.getOwnedElements().contains(readExtentAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ interaction.getActions().add(readStructuralFeatureAction);
+ assertSuperset(interaction.getOwnedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testFormalGate() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ interaction.getFormalGates().add(gate);
+ assertSuperset(interaction.getOwnedMembers().contains(gate));
+ }
+
+ public void testMessage() {
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ interaction.getMessages().add(message);
+ assertSuperset(interaction.getOwnedMembers().contains(message));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionUseTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionUseTest.java
new file mode 100755
index 00000000..f9828262
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InteractionUseTest.java
@@ -0,0 +1,381 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+
+/**
+ * @author Eike Stepper
+ */
+public class InteractionUseTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ interactionUse.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ interactionUse.getOwnedComments().add(comment);
+ assertSuperset(interactionUse.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ EList<Element> elements = interactionUse.getOwnedElements();
+ EList<Element> elements2 = interactionUse.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ EList<Dependency> dependencys = interactionUse.getClientDependencies();
+ EList<Dependency> dependencys2 = interactionUse.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interactionUse.setNameExpression(stringExpression);
+ assertSuperset(
+ interactionUse.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testCovered() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ interactionUse.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ interactionUse.setEnclosingOperand(interactionOperand);
+ assertSuperset(interactionUse.getNamespace() == interactionOperand);
+ }
+
+ public void testEnclosingInteraction() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ interactionUse.setEnclosingInteraction(interaction);
+ assertSuperset(interactionUse.getNamespace() == interaction);
+ }
+
+ public void testGeneralOrdering() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ interactionUse.getGeneralOrderings().add(generalOrdering);
+ assertSuperset(
+ interactionUse.getOwnedElements().contains(generalOrdering));
+ }
+
+ public void testActualGate() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ interactionUse.getActualGates().add(gate);
+ assertSuperset(interactionUse.getOwnedElements().contains(gate));
+ }
+
+ public void testArgument() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ interactionUse.getArguments().add(literalBoolean);
+ assertSuperset(
+ interactionUse.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ interactionUse.getArguments().add(interval);
+ assertSuperset(interactionUse.getOwnedElements().contains(interval));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ interactionUse.getArguments().add(opaqueExpression);
+ assertSuperset(
+ interactionUse.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ interactionUse.getArguments().add(expression);
+ assertSuperset(interactionUse.getOwnedElements().contains(expression));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ interactionUse.getArguments().add(literalReal);
+ assertSuperset(interactionUse.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ interactionUse.getArguments().add(literalString);
+ assertSuperset(
+ interactionUse.getOwnedElements().contains(literalString));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ interactionUse.getArguments().add(literalNull);
+ assertSuperset(interactionUse.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ interactionUse.getArguments().add(duration);
+ assertSuperset(interactionUse.getOwnedElements().contains(duration));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ interactionUse.getArguments().add(literalInteger);
+ assertSuperset(
+ interactionUse.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ interactionUse.getArguments().add(durationInterval);
+ assertSuperset(
+ interactionUse.getOwnedElements().contains(durationInterval));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interactionUse.getArguments().add(stringExpression);
+ assertSuperset(
+ interactionUse.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ interactionUse.getArguments().add(literalUnlimitedNatural);
+ assertSuperset(interactionUse.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ interactionUse.getArguments().add(timeInterval);
+ assertSuperset(
+ interactionUse.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ interactionUse.getArguments().add(timeExpression);
+ assertSuperset(
+ interactionUse.getOwnedElements().contains(timeExpression));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ interactionUse.getArguments().add(instanceValue);
+ assertSuperset(
+ interactionUse.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testRefersTo() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ interactionUse.setRefersTo(interaction);
+ }
+
+ public void testReturnValue() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ interactionUse.setReturnValue(literalBoolean);
+ assertSuperset(
+ interactionUse.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ interactionUse.setReturnValue(interval);
+ assertSuperset(interactionUse.getOwnedElements().contains(interval));
+
+ InteractionUse interactionUse2 = UML.createInteractionUse();
+ assertValid(interactionUse2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ interactionUse2.setReturnValue(opaqueExpression);
+ assertSuperset(
+ interactionUse2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ interactionUse2.setReturnValue(expression);
+ assertSuperset(interactionUse2.getOwnedElements().contains(expression));
+
+ InteractionUse interactionUse3 = UML.createInteractionUse();
+ assertValid(interactionUse3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ interactionUse3.setReturnValue(literalReal);
+ assertSuperset(
+ interactionUse3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ interactionUse3.setReturnValue(literalString);
+ assertSuperset(
+ interactionUse3.getOwnedElements().contains(literalString));
+
+ InteractionUse interactionUse4 = UML.createInteractionUse();
+ assertValid(interactionUse4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ interactionUse4.setReturnValue(literalNull);
+ assertSuperset(
+ interactionUse4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ interactionUse4.setReturnValue(duration);
+ assertSuperset(interactionUse4.getOwnedElements().contains(duration));
+
+ InteractionUse interactionUse5 = UML.createInteractionUse();
+ assertValid(interactionUse5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ interactionUse5.setReturnValue(literalInteger);
+ assertSuperset(
+ interactionUse5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ interactionUse5.setReturnValue(durationInterval);
+ assertSuperset(
+ interactionUse5.getOwnedElements().contains(durationInterval));
+
+ InteractionUse interactionUse6 = UML.createInteractionUse();
+ assertValid(interactionUse6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interactionUse6.setReturnValue(stringExpression);
+ assertSuperset(
+ interactionUse6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ interactionUse6.setReturnValue(literalUnlimitedNatural);
+ assertSuperset(interactionUse6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ InteractionUse interactionUse7 = UML.createInteractionUse();
+ assertValid(interactionUse7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ interactionUse7.setReturnValue(timeInterval);
+ assertSuperset(
+ interactionUse7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ interactionUse7.setReturnValue(timeExpression);
+ assertSuperset(
+ interactionUse7.getOwnedElements().contains(timeExpression));
+
+ InteractionUse interactionUse8 = UML.createInteractionUse();
+ assertValid(interactionUse8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ interactionUse8.setReturnValue(instanceValue);
+ assertSuperset(
+ interactionUse8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testReturnValueRecipient() {
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ interactionUse.setReturnValueRecipient(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ interactionUse.setReturnValueRecipient(extensionEnd);
+
+ InteractionUse interactionUse2 = UML.createInteractionUse();
+ assertValid(interactionUse2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ interactionUse2.setReturnValueRecipient(property);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InterfaceRealizationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InterfaceRealizationTest.java
new file mode 100755
index 00000000..79d20835
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InterfaceRealizationTest.java
@@ -0,0 +1,2480 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class InterfaceRealizationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ interfaceRealization.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ interfaceRealization.getOwnedComments().add(comment);
+ assertSuperset(
+ interfaceRealization.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ EList<Element> elements = interfaceRealization.getOwnedElements();
+ EList<Element> elements2 = interfaceRealization.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ EList<Dependency> dependencys = interfaceRealization
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = interfaceRealization
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interfaceRealization.setNameExpression(stringExpression);
+ assertSuperset(
+ interfaceRealization.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ interfaceRealization.setOwningTemplateParameter(templateParameter);
+ assertSuperset(interfaceRealization.getOwner() == templateParameter);
+ assertSuperset(
+ interfaceRealization.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ interfaceRealization.setTemplateParameter(templateParameter);
+ }
+
+ public void testRelatedElement() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ EList<Element> elements = interfaceRealization.getRelatedElements();
+ EList<Element> elements2 = interfaceRealization.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ EList<Element> elements = interfaceRealization.getSources();
+ EList<Element> elements2 = interfaceRealization.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ EList<Element> elements = interfaceRealization.getTargets();
+ EList<Element> elements2 = interfaceRealization.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testClient() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ interfaceRealization.getClients().add(activity);
+ assertSuperset(interfaceRealization.getSources().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ interfaceRealization.getClients().add(communicationPath);
+ assertSuperset(
+ interfaceRealization.getSources().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ interfaceRealization.getClients().add(readSelfAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ interfaceRealization.getClients().add(activityPartition);
+ assertSuperset(
+ interfaceRealization.getSources().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ interfaceRealization.getClients().add(inputPin);
+ assertSuperset(interfaceRealization.getSources().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ interfaceRealization.getClients().add(readLinkObjectEndQualifierAction);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ interfaceRealization.getClients().add(component);
+ assertSuperset(interfaceRealization.getSources().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ interfaceRealization.getClients().add(manifestation);
+ assertSuperset(
+ interfaceRealization.getSources().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ interfaceRealization.getClients().add(durationObservation);
+ assertSuperset(
+ interfaceRealization.getSources().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ interfaceRealization.getClients().add(callEvent);
+ assertSuperset(interfaceRealization.getSources().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ interfaceRealization.getClients().add(joinNode);
+ assertSuperset(interfaceRealization.getSources().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ interfaceRealization.getClients().add(interaction);
+ assertSuperset(interfaceRealization.getSources().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ interfaceRealization.getClients().add(createLinkObjectAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ interfaceRealization.getClients().add(opaqueBehavior);
+ assertSuperset(
+ interfaceRealization.getSources().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ interfaceRealization.getClients().add(literalUnlimitedNatural);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ interfaceRealization.getClients().add(sendSignalAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ interfaceRealization.getClients().add(readLinkAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ interfaceRealization.getClients().add(operation);
+ assertSuperset(interfaceRealization.getSources().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ interfaceRealization.getClients().add(clearAssociationAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ interfaceRealization.getClients().add(model);
+ assertSuperset(interfaceRealization.getSources().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ interfaceRealization.getClients().add(parameter);
+ assertSuperset(interfaceRealization.getSources().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ interfaceRealization.getClients().add(instanceValue);
+ assertSuperset(
+ interfaceRealization.getSources().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ interfaceRealization.getClients().add(trigger);
+ assertSuperset(interfaceRealization.getSources().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ interfaceRealization.getClients().add(interactionConstraint);
+ assertSuperset(
+ interfaceRealization.getSources().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ interfaceRealization.getClients().add(associationClass);
+ assertSuperset(
+ interfaceRealization.getSources().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ interfaceRealization.getClients().add(interactionUse);
+ assertSuperset(
+ interfaceRealization.getSources().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ interfaceRealization.getClients().add(clearStructuralFeatureAction);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ interfaceRealization.getClients().add(interval);
+ assertSuperset(interfaceRealization.getSources().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ interfaceRealization.getClients().add(structuredActivityNode);
+ assertSuperset(
+ interfaceRealization.getSources().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ interfaceRealization.getClients().add(literalString);
+ assertSuperset(
+ interfaceRealization.getSources().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ interfaceRealization.getClients().add(valuePin);
+ assertSuperset(interfaceRealization.getSources().contains(valuePin));
+
+ InterfaceRealization interfaceRealization2 = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization2);
+ interfaceRealization.getClients().add(interfaceRealization2);
+ assertSuperset(
+ interfaceRealization.getSources().contains(interfaceRealization2));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ interfaceRealization.getClients().add(forkNode);
+ assertSuperset(interfaceRealization.getSources().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ interfaceRealization.getClients().add(decisionNode);
+ assertSuperset(
+ interfaceRealization.getSources().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ interfaceRealization.getClients().add(actor);
+ assertSuperset(interfaceRealization.getSources().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ interfaceRealization.getClients().add(timeConstraint);
+ assertSuperset(
+ interfaceRealization.getSources().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ interfaceRealization.getClients().add(reception);
+ assertSuperset(interfaceRealization.getSources().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ interfaceRealization.getClients().add(pseudostate);
+ assertSuperset(interfaceRealization.getSources().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ interfaceRealization.getClients().add(durationInterval);
+ assertSuperset(
+ interfaceRealization.getSources().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ interfaceRealization.getClients().add(deployment);
+ assertSuperset(interfaceRealization.getSources().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ interfaceRealization.getClients().add(extensionEnd);
+ assertSuperset(
+ interfaceRealization.getSources().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ interfaceRealization.getClients().add(considerIgnoreFragment);
+ assertSuperset(
+ interfaceRealization.getSources().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ interfaceRealization.getClients().add(conditionalNode);
+ assertSuperset(
+ interfaceRealization.getSources().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ interfaceRealization.getClients().add(readExtentAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ interfaceRealization.getClients().add(actionInputPin);
+ assertSuperset(
+ interfaceRealization.getSources().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ interfaceRealization.getClients().add(artifact);
+ assertSuperset(interfaceRealization.getSources().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ interfaceRealization.getClients().add(informationFlow);
+ assertSuperset(
+ interfaceRealization.getSources().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ interfaceRealization.getClients().add(clearVariableAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ interfaceRealization.getClients().add(createLinkAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ interfaceRealization.getClients().add(signalEvent);
+ assertSuperset(interfaceRealization.getSources().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ interfaceRealization.getClients().add(connectionPointReference);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ interfaceRealization.getClients().add(reclassifyObjectAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ interfaceRealization.getClients().add(usage);
+ assertSuperset(interfaceRealization.getSources().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ interfaceRealization.getClients().add(dataStoreNode);
+ assertSuperset(
+ interfaceRealization.getSources().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ interfaceRealization.getClients().add(executionEnvironment);
+ assertSuperset(
+ interfaceRealization.getSources().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ interfaceRealization.getClients().add(sendObjectAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ interfaceRealization.getClients().add(controlFlow);
+ assertSuperset(interfaceRealization.getSources().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ interfaceRealization.getClients().add(deploymentSpecification);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ interfaceRealization.getClients().add(partDecomposition);
+ assertSuperset(
+ interfaceRealization.getSources().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ interfaceRealization.getClients().add(destroyLinkAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ interfaceRealization.getClients().add(realization);
+ assertSuperset(interfaceRealization.getSources().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ interfaceRealization.getClients().add(expansionNode);
+ assertSuperset(
+ interfaceRealization.getSources().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ interfaceRealization.getClients().add(testIdentityAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ interfaceRealization.getClients().add(association);
+ assertSuperset(interfaceRealization.getSources().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ interfaceRealization.getClients().add(timeInterval);
+ assertSuperset(
+ interfaceRealization.getSources().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ interfaceRealization.getClients().add(dataType);
+ assertSuperset(interfaceRealization.getSources().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ interfaceRealization.getClients().add(outputPin);
+ assertSuperset(interfaceRealization.getSources().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ interfaceRealization.getClients().add(substitution);
+ assertSuperset(
+ interfaceRealization.getSources().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ interfaceRealization.getClients().add(include);
+ assertSuperset(interfaceRealization.getSources().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ interfaceRealization.getClients().add(extend);
+ assertSuperset(interfaceRealization.getSources().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ interfaceRealization.getClients().add(broadcastSignalAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ interfaceRealization.getClients().add(literalBoolean);
+ assertSuperset(
+ interfaceRealization.getSources().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ interfaceRealization.getClients().add(finalState);
+ assertSuperset(interfaceRealization.getSources().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ interfaceRealization.getClients().add(raiseExceptionAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ interfaceRealization.getClients().add(durationConstraint);
+ assertSuperset(
+ interfaceRealization.getSources().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ interfaceRealization.getClients().add(activityFinalNode);
+ assertSuperset(
+ interfaceRealization.getSources().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ interfaceRealization.getClients().add(literalNull);
+ assertSuperset(interfaceRealization.getSources().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ interfaceRealization.getClients().add(callOperationAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interfaceRealization.getClients().add(protocolStateMachine);
+ assertSuperset(
+ interfaceRealization.getSources().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ interfaceRealization.getClients().add(loopNode);
+ assertSuperset(interfaceRealization.getSources().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ interfaceRealization.getClients().add(parameterSet);
+ assertSuperset(
+ interfaceRealization.getSources().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ interfaceRealization.getClients().add(valueSpecificationAction);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ interfaceRealization.getClients().add(node);
+ assertSuperset(interfaceRealization.getSources().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ interfaceRealization.getClients().add(sequenceNode);
+ assertSuperset(
+ interfaceRealization.getSources().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ interfaceRealization.getClients().add(constraint);
+ assertSuperset(interfaceRealization.getSources().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ interfaceRealization.getClients().add(destroyObjectAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ interfaceRealization.getClients().add(stateMachine);
+ assertSuperset(
+ interfaceRealization.getSources().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ interfaceRealization.getClients().add(enumerationLiteral);
+ assertSuperset(
+ interfaceRealization.getSources().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ interfaceRealization.getClients().add(actionExecutionSpecification);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ interfaceRealization.getClients().add(functionBehavior);
+ assertSuperset(
+ interfaceRealization.getSources().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ interfaceRealization.getClients().add(interface_);
+ assertSuperset(interfaceRealization.getSources().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ interfaceRealization.getClients().add(instanceSpecification);
+ assertSuperset(
+ interfaceRealization.getSources().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ interfaceRealization.getClients().add(startClassifierBehaviorAction);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ interfaceRealization.getClients().add(port);
+ assertSuperset(interfaceRealization.getSources().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ interfaceRealization.getClients().add(removeVariableValueAction);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ interfaceRealization.getClients().add(informationItem);
+ assertSuperset(
+ interfaceRealization.getSources().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ interfaceRealization.getClients().add(literalReal);
+ assertSuperset(interfaceRealization.getSources().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ interfaceRealization.getClients().add(redefinableTemplateSignature);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ interfaceRealization.getClients().add(executionOccurrenceSpecification);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ interfaceRealization.getClients().add(duration);
+ assertSuperset(interfaceRealization.getSources().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ interfaceRealization.getClients().add(package_);
+ assertSuperset(interfaceRealization.getSources().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ interfaceRealization.getClients().add(variable);
+ assertSuperset(interfaceRealization.getSources().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ interfaceRealization.getClients()
+ .add(destructionOccurrenceSpecification);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ interfaceRealization.getClients().add(lifeline);
+ assertSuperset(interfaceRealization.getSources().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ interfaceRealization.getClients().add(timeObservation);
+ assertSuperset(
+ interfaceRealization.getSources().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ interfaceRealization.getClients().add(replyAction);
+ assertSuperset(interfaceRealization.getSources().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ interfaceRealization.getClients().add(gate);
+ assertSuperset(interfaceRealization.getSources().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ interfaceRealization.getClients().add(property);
+ assertSuperset(interfaceRealization.getSources().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ interfaceRealization.getClients().add(timeExpression);
+ assertSuperset(
+ interfaceRealization.getSources().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ interfaceRealization.getClients().add(device);
+ assertSuperset(interfaceRealization.getSources().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ interfaceRealization.getClients().add(flowFinalNode);
+ assertSuperset(
+ interfaceRealization.getSources().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ interfaceRealization.getClients().add(expansionRegion);
+ assertSuperset(
+ interfaceRealization.getSources().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ interfaceRealization.getClients().add(abstraction);
+ assertSuperset(interfaceRealization.getSources().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ interfaceRealization.getClients().add(startObjectBehaviorAction);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ interfaceRealization.getClients().add(enumeration);
+ assertSuperset(interfaceRealization.getSources().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ interfaceRealization.getClients().add(primitiveType);
+ assertSuperset(
+ interfaceRealization.getSources().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ interfaceRealization.getClients().add(profile);
+ assertSuperset(interfaceRealization.getSources().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ interfaceRealization.getClients().add(message);
+ assertSuperset(interfaceRealization.getSources().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ interfaceRealization.getClients().add(generalizationSet);
+ assertSuperset(
+ interfaceRealization.getSources().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ interfaceRealization.getClients().add(continuation);
+ assertSuperset(
+ interfaceRealization.getSources().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ interfaceRealization.getClients().add(signal);
+ assertSuperset(interfaceRealization.getSources().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ interfaceRealization.getClients().add(callBehaviorAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ interfaceRealization.getClients().add(objectFlow);
+ assertSuperset(interfaceRealization.getSources().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ interfaceRealization.getClients().add(stateInvariant);
+ assertSuperset(
+ interfaceRealization.getSources().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ interfaceRealization.getClients().add(readIsClassifiedObjectAction);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ interfaceRealization.getClients().add(activityParameterNode);
+ assertSuperset(
+ interfaceRealization.getSources().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ interfaceRealization.getClients().add(addStructuralFeatureValueAction);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ interfaceRealization.getClients().add(readVariableAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ interfaceRealization.getClients().add(interruptibleActivityRegion);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ interfaceRealization.getClients()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ interfaceRealization.getClients().add(opaqueExpression);
+ assertSuperset(
+ interfaceRealization.getSources().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ interfaceRealization.getClients().add(timeEvent);
+ assertSuperset(interfaceRealization.getSources().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ interfaceRealization.getClients().add(generalOrdering);
+ assertSuperset(
+ interfaceRealization.getSources().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ interfaceRealization.getClients().add(region);
+ assertSuperset(interfaceRealization.getSources().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ interfaceRealization.getClients().add(transition);
+ assertSuperset(interfaceRealization.getSources().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ interfaceRealization.getClients().add(anyReceiveEvent);
+ assertSuperset(
+ interfaceRealization.getSources().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ interfaceRealization.getClients().add(messageOccurrenceSpecification);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ interfaceRealization.getClients().add(literalInteger);
+ assertSuperset(
+ interfaceRealization.getSources().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ interfaceRealization.getClients().add(reduceAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ interfaceRealization.getClients().add(acceptEventAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ interfaceRealization.getClients().add(initialNode);
+ assertSuperset(interfaceRealization.getSources().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ interfaceRealization.getClients().add(centralBufferNode);
+ assertSuperset(
+ interfaceRealization.getSources().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ interfaceRealization.getClients().add(combinedFragment);
+ assertSuperset(
+ interfaceRealization.getSources().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ interfaceRealization.getClients().add(intervalConstraint);
+ assertSuperset(
+ interfaceRealization.getSources().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ interfaceRealization.getClients().add(extension);
+ assertSuperset(interfaceRealization.getSources().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ interfaceRealization.getClients().add(occurrenceSpecification);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ interfaceRealization.getClients().add(extensionPoint);
+ assertSuperset(
+ interfaceRealization.getSources().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ interfaceRealization.getClients().add(dependency);
+ assertSuperset(interfaceRealization.getSources().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ interfaceRealization.getClients().add(connector);
+ assertSuperset(interfaceRealization.getSources().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ interfaceRealization.getClients().add(expression);
+ assertSuperset(interfaceRealization.getSources().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ interfaceRealization.getClients().add(componentRealization);
+ assertSuperset(
+ interfaceRealization.getSources().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ interfaceRealization.getClients().add(class_);
+ assertSuperset(interfaceRealization.getSources().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ interfaceRealization.getClients().add(state);
+ assertSuperset(interfaceRealization.getSources().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ interfaceRealization.getClients().add(protocolTransition);
+ assertSuperset(
+ interfaceRealization.getSources().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ interfaceRealization.getClients().add(behaviorExecutionSpecification);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ interfaceRealization.getClients().add(collaborationUse);
+ assertSuperset(
+ interfaceRealization.getSources().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ interfaceRealization.getClients().add(interactionOperand);
+ assertSuperset(
+ interfaceRealization.getSources().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ interfaceRealization.getClients().add(acceptCallAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ interfaceRealization.getClients().add(addVariableValueAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ interfaceRealization.getClients().add(readLinkObjectEndAction);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interfaceRealization.getClients().add(useCase);
+ assertSuperset(interfaceRealization.getSources().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ interfaceRealization.getClients().add(unmarshallAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ interfaceRealization.getClients().add(opaqueAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interfaceRealization.getClients().add(stringExpression);
+ assertSuperset(
+ interfaceRealization.getSources().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ interfaceRealization.getClients().add(mergeNode);
+ assertSuperset(interfaceRealization.getSources().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ interfaceRealization.getClients().add(changeEvent);
+ assertSuperset(interfaceRealization.getSources().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ interfaceRealization.getClients().add(createObjectAction);
+ assertSuperset(
+ interfaceRealization.getSources().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ interfaceRealization.getClients().add(stereotype);
+ assertSuperset(interfaceRealization.getSources().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ interfaceRealization.getClients().add(readStructuralFeatureAction);
+ assertSuperset(interfaceRealization.getSources()
+ .contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ interfaceRealization.getClients().add(collaboration);
+ assertSuperset(
+ interfaceRealization.getSources().contains(collaboration));
+ }
+
+ public void testSupplier() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ interfaceRealization.getSuppliers().add(activity);
+ assertSuperset(interfaceRealization.getTargets().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ interfaceRealization.getSuppliers().add(communicationPath);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ interfaceRealization.getSuppliers().add(readSelfAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ interfaceRealization.getSuppliers().add(activityPartition);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ interfaceRealization.getSuppliers().add(inputPin);
+ assertSuperset(interfaceRealization.getTargets().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ interfaceRealization.getSuppliers()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ interfaceRealization.getSuppliers().add(component);
+ assertSuperset(interfaceRealization.getTargets().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ interfaceRealization.getSuppliers().add(manifestation);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ interfaceRealization.getSuppliers().add(durationObservation);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ interfaceRealization.getSuppliers().add(callEvent);
+ assertSuperset(interfaceRealization.getTargets().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ interfaceRealization.getSuppliers().add(joinNode);
+ assertSuperset(interfaceRealization.getTargets().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ interfaceRealization.getSuppliers().add(interaction);
+ assertSuperset(interfaceRealization.getTargets().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ interfaceRealization.getSuppliers().add(createLinkObjectAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ interfaceRealization.getSuppliers().add(opaqueBehavior);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ interfaceRealization.getSuppliers().add(literalUnlimitedNatural);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ interfaceRealization.getSuppliers().add(sendSignalAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ interfaceRealization.getSuppliers().add(readLinkAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ interfaceRealization.getSuppliers().add(operation);
+ assertSuperset(interfaceRealization.getTargets().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ interfaceRealization.getSuppliers().add(clearAssociationAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ interfaceRealization.getSuppliers().add(model);
+ assertSuperset(interfaceRealization.getTargets().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ interfaceRealization.getSuppliers().add(parameter);
+ assertSuperset(interfaceRealization.getTargets().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ interfaceRealization.getSuppliers().add(instanceValue);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ interfaceRealization.getSuppliers().add(trigger);
+ assertSuperset(interfaceRealization.getTargets().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ interfaceRealization.getSuppliers().add(interactionConstraint);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ interfaceRealization.getSuppliers().add(associationClass);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ interfaceRealization.getSuppliers().add(interactionUse);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ interfaceRealization.getSuppliers().add(clearStructuralFeatureAction);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ interfaceRealization.getSuppliers().add(interval);
+ assertSuperset(interfaceRealization.getTargets().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ interfaceRealization.getSuppliers().add(structuredActivityNode);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ interfaceRealization.getSuppliers().add(literalString);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ interfaceRealization.getSuppliers().add(valuePin);
+ assertSuperset(interfaceRealization.getTargets().contains(valuePin));
+
+ InterfaceRealization interfaceRealization2 = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization2);
+ interfaceRealization.getSuppliers().add(interfaceRealization2);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(interfaceRealization2));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ interfaceRealization.getSuppliers().add(forkNode);
+ assertSuperset(interfaceRealization.getTargets().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ interfaceRealization.getSuppliers().add(decisionNode);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ interfaceRealization.getSuppliers().add(actor);
+ assertSuperset(interfaceRealization.getTargets().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ interfaceRealization.getSuppliers().add(timeConstraint);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ interfaceRealization.getSuppliers().add(reception);
+ assertSuperset(interfaceRealization.getTargets().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ interfaceRealization.getSuppliers().add(pseudostate);
+ assertSuperset(interfaceRealization.getTargets().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ interfaceRealization.getSuppliers().add(durationInterval);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ interfaceRealization.getSuppliers().add(deployment);
+ assertSuperset(interfaceRealization.getTargets().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ interfaceRealization.getSuppliers().add(extensionEnd);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ interfaceRealization.getSuppliers().add(considerIgnoreFragment);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ interfaceRealization.getSuppliers().add(conditionalNode);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ interfaceRealization.getSuppliers().add(readExtentAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ interfaceRealization.getSuppliers().add(actionInputPin);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ interfaceRealization.getSuppliers().add(artifact);
+ assertSuperset(interfaceRealization.getTargets().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ interfaceRealization.getSuppliers().add(informationFlow);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ interfaceRealization.getSuppliers().add(clearVariableAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ interfaceRealization.getSuppliers().add(createLinkAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ interfaceRealization.getSuppliers().add(signalEvent);
+ assertSuperset(interfaceRealization.getTargets().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ interfaceRealization.getSuppliers().add(connectionPointReference);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ interfaceRealization.getSuppliers().add(reclassifyObjectAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ interfaceRealization.getSuppliers().add(usage);
+ assertSuperset(interfaceRealization.getTargets().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ interfaceRealization.getSuppliers().add(dataStoreNode);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ interfaceRealization.getSuppliers().add(executionEnvironment);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ interfaceRealization.getSuppliers().add(sendObjectAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ interfaceRealization.getSuppliers().add(controlFlow);
+ assertSuperset(interfaceRealization.getTargets().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ interfaceRealization.getSuppliers().add(deploymentSpecification);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ interfaceRealization.getSuppliers().add(partDecomposition);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ interfaceRealization.getSuppliers().add(destroyLinkAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ interfaceRealization.getSuppliers().add(realization);
+ assertSuperset(interfaceRealization.getTargets().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ interfaceRealization.getSuppliers().add(expansionNode);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ interfaceRealization.getSuppliers().add(testIdentityAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ interfaceRealization.getSuppliers().add(association);
+ assertSuperset(interfaceRealization.getTargets().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ interfaceRealization.getSuppliers().add(timeInterval);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ interfaceRealization.getSuppliers().add(dataType);
+ assertSuperset(interfaceRealization.getTargets().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ interfaceRealization.getSuppliers().add(outputPin);
+ assertSuperset(interfaceRealization.getTargets().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ interfaceRealization.getSuppliers().add(substitution);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ interfaceRealization.getSuppliers().add(include);
+ assertSuperset(interfaceRealization.getTargets().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ interfaceRealization.getSuppliers().add(extend);
+ assertSuperset(interfaceRealization.getTargets().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ interfaceRealization.getSuppliers().add(broadcastSignalAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ interfaceRealization.getSuppliers().add(literalBoolean);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ interfaceRealization.getSuppliers().add(finalState);
+ assertSuperset(interfaceRealization.getTargets().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ interfaceRealization.getSuppliers().add(raiseExceptionAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ interfaceRealization.getSuppliers().add(durationConstraint);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ interfaceRealization.getSuppliers().add(activityFinalNode);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ interfaceRealization.getSuppliers().add(literalNull);
+ assertSuperset(interfaceRealization.getTargets().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ interfaceRealization.getSuppliers().add(callOperationAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interfaceRealization.getSuppliers().add(protocolStateMachine);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ interfaceRealization.getSuppliers().add(loopNode);
+ assertSuperset(interfaceRealization.getTargets().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ interfaceRealization.getSuppliers().add(parameterSet);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ interfaceRealization.getSuppliers().add(valueSpecificationAction);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ interfaceRealization.getSuppliers().add(node);
+ assertSuperset(interfaceRealization.getTargets().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ interfaceRealization.getSuppliers().add(sequenceNode);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ interfaceRealization.getSuppliers().add(constraint);
+ assertSuperset(interfaceRealization.getTargets().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ interfaceRealization.getSuppliers().add(destroyObjectAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ interfaceRealization.getSuppliers().add(stateMachine);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ interfaceRealization.getSuppliers().add(enumerationLiteral);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ interfaceRealization.getSuppliers().add(actionExecutionSpecification);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ interfaceRealization.getSuppliers().add(functionBehavior);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ interfaceRealization.getSuppliers().add(interface_);
+ assertSuperset(interfaceRealization.getTargets().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ interfaceRealization.getSuppliers().add(instanceSpecification);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ interfaceRealization.getSuppliers().add(startClassifierBehaviorAction);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ interfaceRealization.getSuppliers().add(port);
+ assertSuperset(interfaceRealization.getTargets().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ interfaceRealization.getSuppliers().add(removeVariableValueAction);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ interfaceRealization.getSuppliers().add(informationItem);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ interfaceRealization.getSuppliers().add(literalReal);
+ assertSuperset(interfaceRealization.getTargets().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ interfaceRealization.getSuppliers().add(redefinableTemplateSignature);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ interfaceRealization.getSuppliers()
+ .add(executionOccurrenceSpecification);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ interfaceRealization.getSuppliers().add(duration);
+ assertSuperset(interfaceRealization.getTargets().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ interfaceRealization.getSuppliers().add(package_);
+ assertSuperset(interfaceRealization.getTargets().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ interfaceRealization.getSuppliers().add(variable);
+ assertSuperset(interfaceRealization.getTargets().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ interfaceRealization.getSuppliers()
+ .add(destructionOccurrenceSpecification);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ interfaceRealization.getSuppliers().add(lifeline);
+ assertSuperset(interfaceRealization.getTargets().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ interfaceRealization.getSuppliers().add(timeObservation);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ interfaceRealization.getSuppliers().add(replyAction);
+ assertSuperset(interfaceRealization.getTargets().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ interfaceRealization.getSuppliers().add(gate);
+ assertSuperset(interfaceRealization.getTargets().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ interfaceRealization.getSuppliers().add(property);
+ assertSuperset(interfaceRealization.getTargets().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ interfaceRealization.getSuppliers().add(timeExpression);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ interfaceRealization.getSuppliers().add(device);
+ assertSuperset(interfaceRealization.getTargets().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ interfaceRealization.getSuppliers().add(flowFinalNode);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ interfaceRealization.getSuppliers().add(expansionRegion);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ interfaceRealization.getSuppliers().add(abstraction);
+ assertSuperset(interfaceRealization.getTargets().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ interfaceRealization.getSuppliers().add(startObjectBehaviorAction);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ interfaceRealization.getSuppliers().add(enumeration);
+ assertSuperset(interfaceRealization.getTargets().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ interfaceRealization.getSuppliers().add(primitiveType);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ interfaceRealization.getSuppliers().add(profile);
+ assertSuperset(interfaceRealization.getTargets().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ interfaceRealization.getSuppliers().add(message);
+ assertSuperset(interfaceRealization.getTargets().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ interfaceRealization.getSuppliers().add(generalizationSet);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ interfaceRealization.getSuppliers().add(continuation);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ interfaceRealization.getSuppliers().add(signal);
+ assertSuperset(interfaceRealization.getTargets().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ interfaceRealization.getSuppliers().add(callBehaviorAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ interfaceRealization.getSuppliers().add(objectFlow);
+ assertSuperset(interfaceRealization.getTargets().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ interfaceRealization.getSuppliers().add(stateInvariant);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ interfaceRealization.getSuppliers().add(readIsClassifiedObjectAction);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ interfaceRealization.getSuppliers().add(activityParameterNode);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ interfaceRealization.getSuppliers()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ interfaceRealization.getSuppliers().add(readVariableAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ interfaceRealization.getSuppliers().add(interruptibleActivityRegion);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ interfaceRealization.getSuppliers()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ interfaceRealization.getSuppliers().add(opaqueExpression);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ interfaceRealization.getSuppliers().add(timeEvent);
+ assertSuperset(interfaceRealization.getTargets().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ interfaceRealization.getSuppliers().add(generalOrdering);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ interfaceRealization.getSuppliers().add(region);
+ assertSuperset(interfaceRealization.getTargets().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ interfaceRealization.getSuppliers().add(transition);
+ assertSuperset(interfaceRealization.getTargets().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ interfaceRealization.getSuppliers().add(anyReceiveEvent);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ interfaceRealization.getSuppliers().add(messageOccurrenceSpecification);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ interfaceRealization.getSuppliers().add(literalInteger);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ interfaceRealization.getSuppliers().add(reduceAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ interfaceRealization.getSuppliers().add(acceptEventAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ interfaceRealization.getSuppliers().add(initialNode);
+ assertSuperset(interfaceRealization.getTargets().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ interfaceRealization.getSuppliers().add(centralBufferNode);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ interfaceRealization.getSuppliers().add(combinedFragment);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ interfaceRealization.getSuppliers().add(intervalConstraint);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ interfaceRealization.getSuppliers().add(extension);
+ assertSuperset(interfaceRealization.getTargets().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ interfaceRealization.getSuppliers().add(occurrenceSpecification);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ interfaceRealization.getSuppliers().add(extensionPoint);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ interfaceRealization.getSuppliers().add(dependency);
+ assertSuperset(interfaceRealization.getTargets().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ interfaceRealization.getSuppliers().add(connector);
+ assertSuperset(interfaceRealization.getTargets().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ interfaceRealization.getSuppliers().add(expression);
+ assertSuperset(interfaceRealization.getTargets().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ interfaceRealization.getSuppliers().add(componentRealization);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ interfaceRealization.getSuppliers().add(class_);
+ assertSuperset(interfaceRealization.getTargets().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ interfaceRealization.getSuppliers().add(state);
+ assertSuperset(interfaceRealization.getTargets().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ interfaceRealization.getSuppliers().add(protocolTransition);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ interfaceRealization.getSuppliers().add(behaviorExecutionSpecification);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ interfaceRealization.getSuppliers().add(collaborationUse);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ interfaceRealization.getSuppliers().add(interactionOperand);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ interfaceRealization.getSuppliers().add(acceptCallAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ interfaceRealization.getSuppliers().add(addVariableValueAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ interfaceRealization.getSuppliers().add(readLinkObjectEndAction);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interfaceRealization.getSuppliers().add(useCase);
+ assertSuperset(interfaceRealization.getTargets().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ interfaceRealization.getSuppliers().add(unmarshallAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ interfaceRealization.getSuppliers().add(opaqueAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interfaceRealization.getSuppliers().add(stringExpression);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ interfaceRealization.getSuppliers().add(mergeNode);
+ assertSuperset(interfaceRealization.getTargets().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ interfaceRealization.getSuppliers().add(changeEvent);
+ assertSuperset(interfaceRealization.getTargets().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ interfaceRealization.getSuppliers().add(createObjectAction);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ interfaceRealization.getSuppliers().add(stereotype);
+ assertSuperset(interfaceRealization.getTargets().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ interfaceRealization.getSuppliers().add(readStructuralFeatureAction);
+ assertSuperset(interfaceRealization.getTargets()
+ .contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ interfaceRealization.getSuppliers().add(collaboration);
+ assertSuperset(
+ interfaceRealization.getTargets().contains(collaboration));
+ }
+
+ public void testMapping() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ interfaceRealization.setMapping(opaqueExpression);
+ assertSuperset(
+ interfaceRealization.getOwnedElements().contains(opaqueExpression));
+ }
+
+ public void testContract() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ interfaceRealization.setContract(interface_);
+ assertSuperset(
+ interfaceRealization.getSuppliers().contains(interface_));
+ }
+
+ public void testImplementingClassifier() {
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ interfaceRealization.setImplementingClassifier(functionBehavior);
+ assertSuperset(
+ interfaceRealization.getClients().contains(functionBehavior));
+ assertSuperset(interfaceRealization.getOwner() == functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ interfaceRealization.setImplementingClassifier(activity);
+ assertSuperset(interfaceRealization.getClients().contains(activity));
+ assertSuperset(interfaceRealization.getOwner() == activity);
+
+ InterfaceRealization interfaceRealization2 = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization2);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ interfaceRealization2.setImplementingClassifier(associationClass);
+ assertSuperset(
+ interfaceRealization2.getClients().contains(associationClass));
+ assertSuperset(interfaceRealization2.getOwner() == associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ interfaceRealization2.setImplementingClassifier(class_);
+ assertSuperset(interfaceRealization2.getClients().contains(class_));
+ assertSuperset(interfaceRealization2.getOwner() == class_);
+
+ InterfaceRealization interfaceRealization3 = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization3);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ interfaceRealization3.setImplementingClassifier(executionEnvironment);
+ assertSuperset(
+ interfaceRealization3.getClients().contains(executionEnvironment));
+ assertSuperset(
+ interfaceRealization3.getOwner() == executionEnvironment);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ interfaceRealization3.setImplementingClassifier(component);
+ assertSuperset(interfaceRealization3.getClients().contains(component));
+ assertSuperset(interfaceRealization3.getOwner() == component);
+
+ InterfaceRealization interfaceRealization4 = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization4);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ interfaceRealization4.setImplementingClassifier(actor);
+ assertSuperset(interfaceRealization4.getClients().contains(actor));
+ assertSuperset(interfaceRealization4.getOwner() == actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interfaceRealization4.setImplementingClassifier(protocolStateMachine);
+ assertSuperset(
+ interfaceRealization4.getClients().contains(protocolStateMachine));
+ assertSuperset(
+ interfaceRealization4.getOwner() == protocolStateMachine);
+
+ InterfaceRealization interfaceRealization5 = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization5);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ interfaceRealization5.setImplementingClassifier(interaction);
+ assertSuperset(
+ interfaceRealization5.getClients().contains(interaction));
+ assertSuperset(interfaceRealization5.getOwner() == interaction);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interfaceRealization5.setImplementingClassifier(useCase);
+ assertSuperset(interfaceRealization5.getClients().contains(useCase));
+ assertSuperset(interfaceRealization5.getOwner() == useCase);
+
+ InterfaceRealization interfaceRealization6 = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization6);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ interfaceRealization6.setImplementingClassifier(opaqueBehavior);
+ assertSuperset(
+ interfaceRealization6.getClients().contains(opaqueBehavior));
+ assertSuperset(interfaceRealization6.getOwner() == opaqueBehavior);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ interfaceRealization6.setImplementingClassifier(node);
+ assertSuperset(interfaceRealization6.getClients().contains(node));
+ assertSuperset(interfaceRealization6.getOwner() == node);
+
+ InterfaceRealization interfaceRealization7 = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization7);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ interfaceRealization7.setImplementingClassifier(stereotype);
+ assertSuperset(interfaceRealization7.getClients().contains(stereotype));
+ assertSuperset(interfaceRealization7.getOwner() == stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ interfaceRealization7.setImplementingClassifier(stateMachine);
+ assertSuperset(
+ interfaceRealization7.getClients().contains(stateMachine));
+ assertSuperset(interfaceRealization7.getOwner() == stateMachine);
+
+ InterfaceRealization interfaceRealization8 = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization8);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ interfaceRealization8.setImplementingClassifier(device);
+ assertSuperset(interfaceRealization8.getClients().contains(device));
+ assertSuperset(interfaceRealization8.getOwner() == device);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ interfaceRealization8.setImplementingClassifier(collaboration);
+ assertSuperset(
+ interfaceRealization8.getClients().contains(collaboration));
+ assertSuperset(interfaceRealization8.getOwner() == collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InterfaceTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InterfaceTest.java
new file mode 100755
index 00000000..24bb981a
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InterfaceTest.java
@@ -0,0 +1,740 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class InterfaceTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ interface_.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ interface_.getOwnedComments().add(comment);
+ assertSuperset(interface_.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ EList<Element> elements = interface_.getOwnedElements();
+ EList<Element> elements2 = interface_.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ EList<Dependency> dependencys = interface_.getClientDependencies();
+ EList<Dependency> dependencys2 = interface_.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interface_.setNameExpression(stringExpression);
+ assertSuperset(
+ interface_.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ interface_.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ interface_.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ interface_.getOwnedRules().add(timeConstraint);
+ assertSuperset(interface_.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ interface_.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ interface_.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ interface_.getOwnedRules().add(constraint);
+ assertSuperset(interface_.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ interface_.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ interface_.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ interface_.getElementImports().add(elementImport);
+ assertSuperset(interface_.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ interface_.getPackageImports().add(packageImport);
+ assertSuperset(interface_.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ EList<NamedElement> namedElements = interface_.getOwnedMembers();
+ EList<NamedElement> namedElements2 = interface_.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ EList<PackageableElement> packageableElements = interface_
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = interface_
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ EList<NamedElement> namedElements = interface_.getMembers();
+ EList<NamedElement> namedElements2 = interface_.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ EList<RedefinableElement> redefinableElements = interface_
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = interface_
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ EList<Classifier> classifiers = interface_.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = interface_.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ interface_.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(interface_.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ interface_.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ interface_.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ interface_.getTemplateBindings().add(templateBinding);
+ assertSuperset(interface_.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ interface_.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(interface_.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ EList<Feature> features = interface_.getFeatures();
+ EList<Feature> features2 = interface_.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ EList<Property> propertys = interface_.getAttributes();
+ EList<Property> propertys2 = interface_.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ interface_.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ interface_.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ EList<Classifier> classifiers = interface_.getGenerals();
+ EList<Classifier> classifiers2 = interface_.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ interface_.getGeneralizations().add(generalization);
+ assertSuperset(interface_.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ interface_.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ EList<NamedElement> namedElements = interface_.getInheritedMembers();
+ EList<NamedElement> namedElements2 = interface_.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interface_.getOwnedUseCases().add(useCase);
+ assertSuperset(interface_.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interface_.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ interface_.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ interface_.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ interface_.getRedefinedClassifiers().add(activity);
+ assertSuperset(interface_.getRedefinedElements().contains(activity));
+
+ Interface interface_2 = UML.createInterface();
+ assertValid(interface_2);
+ interface_.getRedefinedClassifiers().add(interface_2);
+ assertSuperset(interface_.getRedefinedElements().contains(interface_2));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ interface_.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ interface_.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ interface_.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ interface_.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ interface_.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ interface_.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ interface_.getRedefinedClassifiers().add(component);
+ assertSuperset(interface_.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ interface_.getRedefinedClassifiers().add(interaction);
+ assertSuperset(interface_.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ interface_.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(interface_.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ interface_.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ interface_.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ interface_.getRedefinedClassifiers().add(association);
+ assertSuperset(interface_.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ interface_.getRedefinedClassifiers().add(dataType);
+ assertSuperset(interface_.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ interface_.getRedefinedClassifiers().add(device);
+ assertSuperset(interface_.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ interface_.getRedefinedClassifiers().add(extension);
+ assertSuperset(interface_.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ interface_.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ interface_.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ interface_.getRedefinedClassifiers().add(class_);
+ assertSuperset(interface_.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ interface_.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(interface_.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ interface_.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ interface_.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ interface_.getRedefinedClassifiers().add(actor);
+ assertSuperset(interface_.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interface_.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ interface_.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interface_.getRedefinedClassifiers().add(useCase);
+ assertSuperset(interface_.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ interface_.getRedefinedClassifiers().add(signal);
+ assertSuperset(interface_.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ interface_.getRedefinedClassifiers().add(node);
+ assertSuperset(interface_.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ interface_.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(interface_.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ interface_.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ interface_.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ interface_.getRedefinedClassifiers().add(artifact);
+ assertSuperset(interface_.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ interface_.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ interface_.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ interface_.setRepresentation(collaborationUse);
+ assertSuperset(
+ interface_.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ interface_.getSubstitutions().add(substitution);
+ assertSuperset(interface_.getOwnedElements().contains(substitution));
+ assertSuperset(
+ interface_.getClientDependencies().contains(substitution));
+ }
+
+ public void testNestedClassifier() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ interface_.getNestedClassifiers().add(functionBehavior);
+ assertSuperset(interface_.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ interface_.getNestedClassifiers().add(activity);
+ assertSuperset(interface_.getOwnedMembers().contains(activity));
+
+ Interface interface_2 = UML.createInterface();
+ assertValid(interface_2);
+ interface_.getNestedClassifiers().add(interface_2);
+ assertSuperset(interface_.getOwnedMembers().contains(interface_2));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ interface_.getNestedClassifiers().add(informationItem);
+ assertSuperset(interface_.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ interface_.getNestedClassifiers().add(communicationPath);
+ assertSuperset(
+ interface_.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ interface_.getNestedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ interface_.getOwnedMembers().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ interface_.getNestedClassifiers().add(component);
+ assertSuperset(interface_.getOwnedMembers().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ interface_.getNestedClassifiers().add(interaction);
+ assertSuperset(interface_.getOwnedMembers().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ interface_.getNestedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ interface_.getOwnedMembers().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ interface_.getNestedClassifiers().add(opaqueBehavior);
+ assertSuperset(interface_.getOwnedMembers().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ interface_.getNestedClassifiers().add(association);
+ assertSuperset(interface_.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ interface_.getNestedClassifiers().add(dataType);
+ assertSuperset(interface_.getOwnedMembers().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ interface_.getNestedClassifiers().add(device);
+ assertSuperset(interface_.getOwnedMembers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ interface_.getNestedClassifiers().add(extension);
+ assertSuperset(interface_.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ interface_.getNestedClassifiers().add(associationClass);
+ assertSuperset(interface_.getOwnedMembers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ interface_.getNestedClassifiers().add(class_);
+ assertSuperset(interface_.getOwnedMembers().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ interface_.getNestedClassifiers().add(enumeration);
+ assertSuperset(interface_.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ interface_.getNestedClassifiers().add(primitiveType);
+ assertSuperset(interface_.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ interface_.getNestedClassifiers().add(actor);
+ assertSuperset(interface_.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interface_.getNestedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ interface_.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interface_.getNestedClassifiers().add(useCase);
+ assertSuperset(interface_.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ interface_.getNestedClassifiers().add(signal);
+ assertSuperset(interface_.getOwnedMembers().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ interface_.getNestedClassifiers().add(node);
+ assertSuperset(interface_.getOwnedMembers().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ interface_.getNestedClassifiers().add(stereotype);
+ assertSuperset(interface_.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ interface_.getNestedClassifiers().add(stateMachine);
+ assertSuperset(interface_.getOwnedMembers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ interface_.getNestedClassifiers().add(artifact);
+ assertSuperset(interface_.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ interface_.getNestedClassifiers().add(collaboration);
+ assertSuperset(interface_.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedAttribute() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ interface_.getOwnedAttributes().add(port);
+ assertSuperset(interface_.getAttributes().contains(port));
+ assertSuperset(interface_.getOwnedMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ interface_.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(interface_.getAttributes().contains(extensionEnd));
+ assertSuperset(interface_.getOwnedMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ interface_.getOwnedAttributes().add(property);
+ assertSuperset(interface_.getAttributes().contains(property));
+ assertSuperset(interface_.getOwnedMembers().contains(property));
+ }
+
+ public void testOwnedReception() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ interface_.getOwnedReceptions().add(reception);
+ assertSuperset(interface_.getFeatures().contains(reception));
+ assertSuperset(interface_.getOwnedMembers().contains(reception));
+ }
+
+ public void testProtocol() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interface_.setProtocol(protocolStateMachine);
+ assertSuperset(
+ interface_.getOwnedMembers().contains(protocolStateMachine));
+ }
+
+ public void testRedefinedInterface() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ Interface interface_2 = UML.createInterface();
+ assertValid(interface_2);
+ interface_.getRedefinedInterfaces().add(interface_2);
+ assertSuperset(
+ interface_.getRedefinedClassifiers().contains(interface_2));
+ }
+
+ public void testOwnedOperation() {
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ interface_.getOwnedOperations().add(operation);
+ assertSuperset(interface_.getFeatures().contains(operation));
+ assertSuperset(interface_.getOwnedMembers().contains(operation));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InterruptibleActivityRegionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InterruptibleActivityRegionTest.java
new file mode 100755
index 00000000..aa612d58
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/InterruptibleActivityRegionTest.java
@@ -0,0 +1,570 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class InterruptibleActivityRegionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ interruptibleActivityRegion.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ interruptibleActivityRegion.getOwnedComments().add(comment);
+ assertSuperset(
+ interruptibleActivityRegion.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ EList<Element> elements = interruptibleActivityRegion
+ .getOwnedElements();
+ EList<Element> elements2 = interruptibleActivityRegion
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ EList<Dependency> dependencys = interruptibleActivityRegion
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = interruptibleActivityRegion
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interruptibleActivityRegion.setNameExpression(stringExpression);
+ assertSuperset(interruptibleActivityRegion.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testContainedEdge() {
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ EList<ActivityEdge> activityEdges = interruptibleActivityRegion
+ .getContainedEdges();
+ EList<ActivityEdge> activityEdges2 = interruptibleActivityRegion
+ .getContainedEdges();
+ assertSame(activityEdges, activityEdges2);
+ }
+
+ public void testContainedNode() {
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ EList<ActivityNode> activityNodes = interruptibleActivityRegion
+ .getContainedNodes();
+ EList<ActivityNode> activityNodes2 = interruptibleActivityRegion
+ .getContainedNodes();
+ assertSame(activityNodes, activityNodes2);
+ }
+
+ public void testSubgroup() {
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ EList<ActivityGroup> activityGroups = interruptibleActivityRegion
+ .getSubgroups();
+ EList<ActivityGroup> activityGroups2 = interruptibleActivityRegion
+ .getSubgroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInterruptingEdge() {
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ interruptibleActivityRegion.getInterruptingEdges().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ interruptibleActivityRegion.getInterruptingEdges().add(objectFlow);
+ }
+
+ public void testNode() {
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ interruptibleActivityRegion.getNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ interruptibleActivityRegion.getNodes().add(removeVariableValueAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ interruptibleActivityRegion.getNodes().add(readSelfAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ interruptibleActivityRegion.getNodes().add(inputPin);
+ assertSuperset(
+ interruptibleActivityRegion.getContainedNodes().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ interruptibleActivityRegion.getNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ interruptibleActivityRegion.getNodes().add(joinNode);
+ assertSuperset(
+ interruptibleActivityRegion.getContainedNodes().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ interruptibleActivityRegion.getNodes().add(createLinkObjectAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ interruptibleActivityRegion.getNodes().add(sendSignalAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ interruptibleActivityRegion.getNodes().add(readLinkAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ interruptibleActivityRegion.getNodes().add(replyAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ interruptibleActivityRegion.getNodes().add(clearAssociationAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ interruptibleActivityRegion.getNodes().add(flowFinalNode);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ interruptibleActivityRegion.getNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ interruptibleActivityRegion.getNodes().add(expansionRegion);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ interruptibleActivityRegion.getNodes().add(structuredActivityNode);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ interruptibleActivityRegion.getNodes().add(valuePin);
+ assertSuperset(
+ interruptibleActivityRegion.getContainedNodes().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ interruptibleActivityRegion.getNodes().add(startObjectBehaviorAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ interruptibleActivityRegion.getNodes().add(forkNode);
+ assertSuperset(
+ interruptibleActivityRegion.getContainedNodes().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ interruptibleActivityRegion.getNodes().add(decisionNode);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ interruptibleActivityRegion.getNodes().add(callBehaviorAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ interruptibleActivityRegion.getNodes().add(conditionalNode);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ interruptibleActivityRegion.getNodes().add(readExtentAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ interruptibleActivityRegion.getNodes().add(actionInputPin);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ interruptibleActivityRegion.getNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ interruptibleActivityRegion.getNodes().add(activityParameterNode);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ interruptibleActivityRegion.getNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ interruptibleActivityRegion.getNodes().add(readVariableAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ interruptibleActivityRegion.getNodes().add(clearVariableAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ interruptibleActivityRegion.getNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ interruptibleActivityRegion.getNodes().add(createLinkAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ interruptibleActivityRegion.getNodes().add(reclassifyObjectAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ interruptibleActivityRegion.getNodes().add(dataStoreNode);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ interruptibleActivityRegion.getNodes().add(sendObjectAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ interruptibleActivityRegion.getNodes().add(reduceAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ interruptibleActivityRegion.getNodes().add(acceptEventAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ interruptibleActivityRegion.getNodes().add(destroyLinkAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ interruptibleActivityRegion.getNodes().add(expansionNode);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ interruptibleActivityRegion.getNodes().add(initialNode);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ interruptibleActivityRegion.getNodes().add(testIdentityAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ interruptibleActivityRegion.getNodes().add(outputPin);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ interruptibleActivityRegion.getNodes().add(centralBufferNode);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ interruptibleActivityRegion.getNodes().add(broadcastSignalAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ interruptibleActivityRegion.getNodes().add(raiseExceptionAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ interruptibleActivityRegion.getNodes().add(activityFinalNode);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ interruptibleActivityRegion.getNodes().add(callOperationAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ interruptibleActivityRegion.getNodes().add(loopNode);
+ assertSuperset(
+ interruptibleActivityRegion.getContainedNodes().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ interruptibleActivityRegion.getNodes().add(valueSpecificationAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ interruptibleActivityRegion.getNodes().add(acceptCallAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ interruptibleActivityRegion.getNodes().add(addVariableValueAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ interruptibleActivityRegion.getNodes().add(readLinkObjectEndAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ interruptibleActivityRegion.getNodes().add(unmarshallAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ interruptibleActivityRegion.getNodes().add(opaqueAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ interruptibleActivityRegion.getNodes().add(mergeNode);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ interruptibleActivityRegion.getNodes().add(sequenceNode);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ interruptibleActivityRegion.getNodes().add(createObjectAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ interruptibleActivityRegion.getNodes().add(destroyObjectAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ interruptibleActivityRegion.getNodes().add(readStructuralFeatureAction);
+ assertSuperset(interruptibleActivityRegion.getContainedNodes()
+ .contains(readStructuralFeatureAction));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/IntervalConstraintTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/IntervalConstraintTest.java
new file mode 100755
index 00000000..8c26527b
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/IntervalConstraintTest.java
@@ -0,0 +1,1468 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Clause;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolConformance;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class IntervalConstraintTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ intervalConstraint.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ intervalConstraint.getOwnedComments().add(comment);
+ assertSuperset(intervalConstraint.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ EList<Element> elements = intervalConstraint.getOwnedElements();
+ EList<Element> elements2 = intervalConstraint.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ EList<Dependency> dependencys = intervalConstraint
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = intervalConstraint
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ intervalConstraint.setNameExpression(stringExpression);
+ assertSuperset(
+ intervalConstraint.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ intervalConstraint.setOwningTemplateParameter(templateParameter);
+ assertSuperset(intervalConstraint.getOwner() == templateParameter);
+ assertSuperset(
+ intervalConstraint.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ intervalConstraint.setTemplateParameter(templateParameter);
+ }
+
+ public void testConstrainedElement() {
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ intervalConstraint.getConstrainedElements().add(activity);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ intervalConstraint.getConstrainedElements().add(communicationPath);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ intervalConstraint.getConstrainedElements().add(inputPin);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ intervalConstraint.getConstrainedElements()
+ .add(readLinkObjectEndQualifierAction);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ intervalConstraint.getConstrainedElements().add(component);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ intervalConstraint.getConstrainedElements().add(durationObservation);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ intervalConstraint.getConstrainedElements().add(callEvent);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ intervalConstraint.getConstrainedElements().add(joinNode);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ intervalConstraint.getConstrainedElements().add(createLinkObjectAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ intervalConstraint.getConstrainedElements().add(readLinkAction);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ intervalConstraint.getConstrainedElements().add(model);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ intervalConstraint.getConstrainedElements().add(trigger);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ intervalConstraint.getConstrainedElements().add(associationClass);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ intervalConstraint.getConstrainedElements()
+ .add(classifierTemplateParameter);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ intervalConstraint.getConstrainedElements()
+ .add(clearStructuralFeatureAction);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ intervalConstraint.getConstrainedElements().add(structuredActivityNode);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ intervalConstraint.getConstrainedElements().add(forkNode);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ intervalConstraint.getConstrainedElements().add(timeConstraint);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ intervalConstraint.getConstrainedElements().add(extensionEnd);
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ intervalConstraint.getConstrainedElements().add(considerIgnoreFragment);
+
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+ intervalConstraint.getConstrainedElements().add(protocolConformance);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ intervalConstraint.getConstrainedElements().add(readExtentAction);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ intervalConstraint.getConstrainedElements().add(actionInputPin);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ intervalConstraint.getConstrainedElements().add(artifact);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ intervalConstraint.getConstrainedElements().add(informationFlow);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ intervalConstraint.getConstrainedElements().add(clearVariableAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ intervalConstraint.getConstrainedElements().add(createLinkAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ intervalConstraint.getConstrainedElements().add(sendObjectAction);
+
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+ intervalConstraint.getConstrainedElements().add(linkEndData);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ intervalConstraint.getConstrainedElements().add(controlFlow);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ intervalConstraint.getConstrainedElements()
+ .add(deploymentSpecification);
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ intervalConstraint.getConstrainedElements().add(partDecomposition);
+
+ Image image = UML.createImage();
+ assertValid(image);
+ intervalConstraint.getConstrainedElements().add(image);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ intervalConstraint.getConstrainedElements().add(destroyLinkAction);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ intervalConstraint.getConstrainedElements().add(expansionNode);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ intervalConstraint.getConstrainedElements().add(timeInterval);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ intervalConstraint.getConstrainedElements().add(dataType);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ intervalConstraint.getConstrainedElements().add(substitution);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ intervalConstraint.getConstrainedElements().add(literalBoolean);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ intervalConstraint.getConstrainedElements().add(durationConstraint);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ intervalConstraint.getConstrainedElements().add(literalNull);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ intervalConstraint.getConstrainedElements().add(callOperationAction);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ intervalConstraint.getConstrainedElements().add(node);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ intervalConstraint.getConstrainedElements().add(constraint);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ intervalConstraint.getConstrainedElements().add(stateMachine);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ intervalConstraint.getConstrainedElements().add(interface_);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ intervalConstraint.getConstrainedElements()
+ .add(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ intervalConstraint.getConstrainedElements()
+ .add(removeVariableValueAction);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ intervalConstraint.getConstrainedElements()
+ .add(redefinableTemplateSignature);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ intervalConstraint.getConstrainedElements()
+ .add(executionOccurrenceSpecification);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ intervalConstraint.getConstrainedElements().add(variable);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ intervalConstraint.getConstrainedElements().add(property);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ intervalConstraint.getConstrainedElements().add(expansionRegion);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ intervalConstraint.getConstrainedElements().add(templateParameter);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ intervalConstraint.getConstrainedElements()
+ .add(startObjectBehaviorAction);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ intervalConstraint.getConstrainedElements().add(profile);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ intervalConstraint.getConstrainedElements().add(message);
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ intervalConstraint.getConstrainedElements().add(continuation);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ intervalConstraint.getConstrainedElements().add(objectFlow);
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ intervalConstraint.getConstrainedElements().add(stateInvariant);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ intervalConstraint.getConstrainedElements()
+ .add(addStructuralFeatureValueAction);
+
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+ intervalConstraint.getConstrainedElements().add(connectorEnd);
+
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+ intervalConstraint.getConstrainedElements().add(linkEndCreationData);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ intervalConstraint.getConstrainedElements()
+ .add(connectableElementTemplateParameter);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ intervalConstraint.getConstrainedElements().add(templateBinding);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ intervalConstraint.getConstrainedElements().add(opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ intervalConstraint.getConstrainedElements().add(timeEvent);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ intervalConstraint.getConstrainedElements().add(generalOrdering);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ intervalConstraint.getConstrainedElements()
+ .add(messageOccurrenceSpecification);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ intervalConstraint.getConstrainedElements().add(literalInteger);
+
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+ intervalConstraint.getConstrainedElements().add(slot);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ intervalConstraint.getConstrainedElements().add(centralBufferNode);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ intervalConstraint.getConstrainedElements().add(extension);
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ intervalConstraint.getConstrainedElements().add(extensionPoint);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ intervalConstraint.getConstrainedElements().add(elementImport);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ intervalConstraint.getConstrainedElements().add(dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ intervalConstraint.getConstrainedElements().add(expression);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ intervalConstraint.getConstrainedElements()
+ .add(behaviorExecutionSpecification);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ intervalConstraint.getConstrainedElements().add(acceptCallAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ intervalConstraint.getConstrainedElements()
+ .add(readLinkObjectEndAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ intervalConstraint.getConstrainedElements().add(opaqueAction);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ intervalConstraint.getConstrainedElements().add(packageImport);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ intervalConstraint.getConstrainedElements().add(stringExpression);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ intervalConstraint.getConstrainedElements().add(mergeNode);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ intervalConstraint.getConstrainedElements().add(templateSignature);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ intervalConstraint.getConstrainedElements().add(changeEvent);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ intervalConstraint.getConstrainedElements().add(stereotype);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ intervalConstraint.getConstrainedElements().add(comment);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ intervalConstraint.getConstrainedElements().add(readSelfAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ intervalConstraint.getConstrainedElements().add(activityPartition);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ intervalConstraint.getConstrainedElements().add(manifestation);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ intervalConstraint.getConstrainedElements().add(interaction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ intervalConstraint.getConstrainedElements().add(exceptionHandler);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ intervalConstraint.getConstrainedElements().add(opaqueBehavior);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ intervalConstraint.getConstrainedElements()
+ .add(literalUnlimitedNatural);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ intervalConstraint.getConstrainedElements().add(sendSignalAction);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ intervalConstraint.getConstrainedElements().add(operation);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ intervalConstraint.getConstrainedElements().add(clearAssociationAction);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ intervalConstraint.getConstrainedElements().add(parameter);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ intervalConstraint.getConstrainedElements().add(instanceValue);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ intervalConstraint.getConstrainedElements().add(interactionConstraint);
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ intervalConstraint.getConstrainedElements().add(interactionUse);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ intervalConstraint.getConstrainedElements().add(interval);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ intervalConstraint.getConstrainedElements().add(literalString);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ intervalConstraint.getConstrainedElements().add(valuePin);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ intervalConstraint.getConstrainedElements().add(interfaceRealization);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ intervalConstraint.getConstrainedElements().add(decisionNode);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ intervalConstraint.getConstrainedElements().add(actor);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ intervalConstraint.getConstrainedElements().add(generalization);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ intervalConstraint.getConstrainedElements().add(reception);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ intervalConstraint.getConstrainedElements().add(pseudostate);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ intervalConstraint.getConstrainedElements().add(durationInterval);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ intervalConstraint.getConstrainedElements().add(deployment);
+
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+ intervalConstraint.getConstrainedElements().add(qualifierValue);
+
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ intervalConstraint.getConstrainedElements().add(packageMerge);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ intervalConstraint.getConstrainedElements().add(conditionalNode);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ intervalConstraint.getConstrainedElements().add(signalEvent);
+
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+ intervalConstraint.getConstrainedElements()
+ .add(templateParameterSubstitution);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ intervalConstraint.getConstrainedElements()
+ .add(connectionPointReference);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ intervalConstraint.getConstrainedElements().add(reclassifyObjectAction);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ intervalConstraint.getConstrainedElements().add(usage);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ intervalConstraint.getConstrainedElements().add(dataStoreNode);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ intervalConstraint.getConstrainedElements().add(executionEnvironment);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ intervalConstraint.getConstrainedElements().add(realization);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ intervalConstraint.getConstrainedElements().add(testIdentityAction);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ intervalConstraint.getConstrainedElements().add(association);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ intervalConstraint.getConstrainedElements().add(outputPin);
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ intervalConstraint.getConstrainedElements().add(include);
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ intervalConstraint.getConstrainedElements().add(extend);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ intervalConstraint.getConstrainedElements().add(broadcastSignalAction);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ intervalConstraint.getConstrainedElements().add(finalState);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ intervalConstraint.getConstrainedElements().add(raiseExceptionAction);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ intervalConstraint.getConstrainedElements().add(activityFinalNode);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ intervalConstraint.getConstrainedElements().add(protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ intervalConstraint.getConstrainedElements().add(loopNode);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ intervalConstraint.getConstrainedElements().add(parameterSet);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ intervalConstraint.getConstrainedElements()
+ .add(valueSpecificationAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ intervalConstraint.getConstrainedElements().add(sequenceNode);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ intervalConstraint.getConstrainedElements().add(destroyObjectAction);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ intervalConstraint.getConstrainedElements().add(enumerationLiteral);
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ intervalConstraint.getConstrainedElements()
+ .add(actionExecutionSpecification);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ intervalConstraint.getConstrainedElements().add(functionBehavior);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ intervalConstraint.getConstrainedElements().add(instanceSpecification);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ intervalConstraint.getConstrainedElements().add(port);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ intervalConstraint.getConstrainedElements().add(informationItem);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ intervalConstraint.getConstrainedElements().add(literalReal);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ intervalConstraint.getConstrainedElements().add(duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ intervalConstraint.getConstrainedElements().add(package_);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ intervalConstraint.getConstrainedElements()
+ .add(destructionOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ intervalConstraint.getConstrainedElements().add(lifeline);
+
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ intervalConstraint.getConstrainedElements().add(profileApplication);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ intervalConstraint.getConstrainedElements().add(timeObservation);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ intervalConstraint.getConstrainedElements().add(replyAction);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ intervalConstraint.getConstrainedElements().add(gate);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ intervalConstraint.getConstrainedElements().add(timeExpression);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ intervalConstraint.getConstrainedElements().add(device);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ intervalConstraint.getConstrainedElements().add(flowFinalNode);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ intervalConstraint.getConstrainedElements().add(abstraction);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ intervalConstraint.getConstrainedElements().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ intervalConstraint.getConstrainedElements().add(primitiveType);
+
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+ intervalConstraint.getConstrainedElements().add(linkEndDestructionData);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ intervalConstraint.getConstrainedElements().add(generalizationSet);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ intervalConstraint.getConstrainedElements().add(signal);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ intervalConstraint.getConstrainedElements().add(callBehaviorAction);
+
+ Clause clause = UML.createClause();
+ assertValid(clause);
+ intervalConstraint.getConstrainedElements().add(clause);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ intervalConstraint.getConstrainedElements()
+ .add(readIsClassifiedObjectAction);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ intervalConstraint.getConstrainedElements().add(activityParameterNode);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ intervalConstraint.getConstrainedElements().add(readVariableAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ intervalConstraint.getConstrainedElements()
+ .add(interruptibleActivityRegion);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ intervalConstraint.getConstrainedElements()
+ .add(removeStructuralFeatureValueAction);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ intervalConstraint.getConstrainedElements().add(region);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ intervalConstraint.getConstrainedElements().add(transition);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ intervalConstraint.getConstrainedElements().add(anyReceiveEvent);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ intervalConstraint.getConstrainedElements().add(reduceAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ intervalConstraint.getConstrainedElements().add(acceptEventAction);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ intervalConstraint.getConstrainedElements().add(initialNode);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ intervalConstraint.getConstrainedElements().add(combinedFragment);
+
+ IntervalConstraint intervalConstraint2 = UML.createIntervalConstraint();
+ assertValid(intervalConstraint2);
+ intervalConstraint.getConstrainedElements().add(intervalConstraint2);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ intervalConstraint.getConstrainedElements()
+ .add(occurrenceSpecification);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ intervalConstraint.getConstrainedElements().add(connector);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ intervalConstraint.getConstrainedElements().add(componentRealization);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ intervalConstraint.getConstrainedElements().add(class_);
+
+ State state = UML.createState();
+ assertValid(state);
+ intervalConstraint.getConstrainedElements().add(state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ intervalConstraint.getConstrainedElements().add(protocolTransition);
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ intervalConstraint.getConstrainedElements()
+ .add(operationTemplateParameter);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ intervalConstraint.getConstrainedElements().add(collaborationUse);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ intervalConstraint.getConstrainedElements().add(interactionOperand);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ intervalConstraint.getConstrainedElements().add(addVariableValueAction);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ intervalConstraint.getConstrainedElements().add(useCase);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ intervalConstraint.getConstrainedElements().add(unmarshallAction);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ intervalConstraint.getConstrainedElements().add(createObjectAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ intervalConstraint.getConstrainedElements()
+ .add(readStructuralFeatureAction);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ intervalConstraint.getConstrainedElements().add(collaboration);
+ }
+
+ public void testContext() {
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ intervalConstraint.setContext(functionBehavior);
+ assertSuperset(intervalConstraint.getNamespace() == functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ intervalConstraint.setContext(activity);
+ assertSuperset(intervalConstraint.getNamespace() == activity);
+
+ IntervalConstraint intervalConstraint2 = UML.createIntervalConstraint();
+ assertValid(intervalConstraint2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ intervalConstraint2.setContext(interface_);
+ assertSuperset(intervalConstraint2.getNamespace() == interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ intervalConstraint2.setContext(informationItem);
+ assertSuperset(intervalConstraint2.getNamespace() == informationItem);
+
+ IntervalConstraint intervalConstraint3 = UML.createIntervalConstraint();
+ assertValid(intervalConstraint3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ intervalConstraint3.setContext(communicationPath);
+ assertSuperset(intervalConstraint3.getNamespace() == communicationPath);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ intervalConstraint3.setContext(region);
+ assertSuperset(intervalConstraint3.getNamespace() == region);
+
+ IntervalConstraint intervalConstraint4 = UML.createIntervalConstraint();
+ assertValid(intervalConstraint4);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ intervalConstraint4.setContext(transition);
+ assertSuperset(intervalConstraint4.getNamespace() == transition);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ intervalConstraint4.setContext(executionEnvironment);
+ assertSuperset(
+ intervalConstraint4.getNamespace() == executionEnvironment);
+
+ IntervalConstraint intervalConstraint5 = UML.createIntervalConstraint();
+ assertValid(intervalConstraint5);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ intervalConstraint5.setContext(component);
+ assertSuperset(intervalConstraint5.getNamespace() == component);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ intervalConstraint5.setContext(package_);
+ assertSuperset(intervalConstraint5.getNamespace() == package_);
+
+ IntervalConstraint intervalConstraint6 = UML.createIntervalConstraint();
+ assertValid(intervalConstraint6);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ intervalConstraint6.setContext(interaction);
+ assertSuperset(intervalConstraint6.getNamespace() == interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ intervalConstraint6.setContext(deploymentSpecification);
+ assertSuperset(
+ intervalConstraint6.getNamespace() == deploymentSpecification);
+
+ IntervalConstraint intervalConstraint7 = UML.createIntervalConstraint();
+ assertValid(intervalConstraint7);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ intervalConstraint7.setContext(opaqueBehavior);
+ assertSuperset(intervalConstraint7.getNamespace() == opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ intervalConstraint7.setContext(association);
+ assertSuperset(intervalConstraint7.getNamespace() == association);
+
+ IntervalConstraint intervalConstraint8 = UML.createIntervalConstraint();
+ assertValid(intervalConstraint8);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ intervalConstraint8.setContext(operation);
+ assertSuperset(intervalConstraint8.getNamespace() == operation);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ intervalConstraint8.setContext(dataType);
+ assertSuperset(intervalConstraint8.getNamespace() == dataType);
+
+ IntervalConstraint intervalConstraint9 = UML.createIntervalConstraint();
+ assertValid(intervalConstraint9);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ intervalConstraint9.setContext(model);
+ assertSuperset(intervalConstraint9.getNamespace() == model);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ intervalConstraint9.setContext(device);
+ assertSuperset(intervalConstraint9.getNamespace() == device);
+
+ IntervalConstraint intervalConstraint10 = UML
+ .createIntervalConstraint();
+ assertValid(intervalConstraint10);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ intervalConstraint10.setContext(extension);
+ assertSuperset(intervalConstraint10.getNamespace() == extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ intervalConstraint10.setContext(associationClass);
+ assertSuperset(intervalConstraint10.getNamespace() == associationClass);
+
+ IntervalConstraint intervalConstraint11 = UML
+ .createIntervalConstraint();
+ assertValid(intervalConstraint11);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ intervalConstraint11.setContext(expansionRegion);
+ assertSuperset(intervalConstraint11.getNamespace() == expansionRegion);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ intervalConstraint11.setContext(structuredActivityNode);
+ assertSuperset(
+ intervalConstraint11.getNamespace() == structuredActivityNode);
+
+ IntervalConstraint intervalConstraint12 = UML
+ .createIntervalConstraint();
+ assertValid(intervalConstraint12);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ intervalConstraint12.setContext(finalState);
+ assertSuperset(intervalConstraint12.getNamespace() == finalState);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ intervalConstraint12.setContext(class_);
+ assertSuperset(intervalConstraint12.getNamespace() == class_);
+
+ IntervalConstraint intervalConstraint13 = UML
+ .createIntervalConstraint();
+ assertValid(intervalConstraint13);
+
+ State state = UML.createState();
+ assertValid(state);
+ intervalConstraint13.setContext(state);
+ assertSuperset(intervalConstraint13.getNamespace() == state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ intervalConstraint13.setContext(protocolTransition);
+ assertSuperset(
+ intervalConstraint13.getNamespace() == protocolTransition);
+
+ IntervalConstraint intervalConstraint14 = UML
+ .createIntervalConstraint();
+ assertValid(intervalConstraint14);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ intervalConstraint14.setContext(enumeration);
+ assertSuperset(intervalConstraint14.getNamespace() == enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ intervalConstraint14.setContext(primitiveType);
+ assertSuperset(intervalConstraint14.getNamespace() == primitiveType);
+
+ IntervalConstraint intervalConstraint15 = UML
+ .createIntervalConstraint();
+ assertValid(intervalConstraint15);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ intervalConstraint15.setContext(actor);
+ assertSuperset(intervalConstraint15.getNamespace() == actor);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ intervalConstraint15.setContext(profile);
+ assertSuperset(intervalConstraint15.getNamespace() == profile);
+
+ IntervalConstraint intervalConstraint16 = UML
+ .createIntervalConstraint();
+ assertValid(intervalConstraint16);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ intervalConstraint16.setContext(protocolStateMachine);
+ assertSuperset(
+ intervalConstraint16.getNamespace() == protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ intervalConstraint16.setContext(loopNode);
+ assertSuperset(intervalConstraint16.getNamespace() == loopNode);
+
+ IntervalConstraint intervalConstraint17 = UML
+ .createIntervalConstraint();
+ assertValid(intervalConstraint17);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ intervalConstraint17.setContext(interactionOperand);
+ assertSuperset(
+ intervalConstraint17.getNamespace() == interactionOperand);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ intervalConstraint17.setContext(reception);
+ assertSuperset(intervalConstraint17.getNamespace() == reception);
+
+ IntervalConstraint intervalConstraint18 = UML
+ .createIntervalConstraint();
+ assertValid(intervalConstraint18);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ intervalConstraint18.setContext(useCase);
+ assertSuperset(intervalConstraint18.getNamespace() == useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ intervalConstraint18.setContext(signal);
+ assertSuperset(intervalConstraint18.getNamespace() == signal);
+
+ IntervalConstraint intervalConstraint19 = UML
+ .createIntervalConstraint();
+ assertValid(intervalConstraint19);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ intervalConstraint19.setContext(node);
+ assertSuperset(intervalConstraint19.getNamespace() == node);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ intervalConstraint19.setContext(sequenceNode);
+ assertSuperset(intervalConstraint19.getNamespace() == sequenceNode);
+
+ IntervalConstraint intervalConstraint20 = UML
+ .createIntervalConstraint();
+ assertValid(intervalConstraint20);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ intervalConstraint20.setContext(stereotype);
+ assertSuperset(intervalConstraint20.getNamespace() == stereotype);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ intervalConstraint20.setContext(conditionalNode);
+ assertSuperset(intervalConstraint20.getNamespace() == conditionalNode);
+
+ IntervalConstraint intervalConstraint21 = UML
+ .createIntervalConstraint();
+ assertValid(intervalConstraint21);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ intervalConstraint21.setContext(stateMachine);
+ assertSuperset(intervalConstraint21.getNamespace() == stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ intervalConstraint21.setContext(artifact);
+ assertSuperset(intervalConstraint21.getNamespace() == artifact);
+
+ IntervalConstraint intervalConstraint22 = UML
+ .createIntervalConstraint();
+ assertValid(intervalConstraint22);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ intervalConstraint22.setContext(collaboration);
+ assertSuperset(intervalConstraint22.getNamespace() == collaboration);
+ }
+
+ public void testSpecification() {
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ intervalConstraint.setSpecification(durationInterval);
+ assertSuperset(
+ intervalConstraint.getOwnedElements().contains(durationInterval));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ intervalConstraint.setSpecification(interval);
+ assertSuperset(
+ intervalConstraint.getOwnedElements().contains(interval));
+
+ IntervalConstraint intervalConstraint2 = UML.createIntervalConstraint();
+ assertValid(intervalConstraint2);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ intervalConstraint2.setSpecification(timeInterval);
+ assertSuperset(
+ intervalConstraint2.getOwnedElements().contains(timeInterval));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/IntervalTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/IntervalTest.java
new file mode 100755
index 00000000..437e5931
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/IntervalTest.java
@@ -0,0 +1,463 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class IntervalTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ interval.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ interval.getOwnedComments().add(comment);
+ assertSuperset(interval.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ EList<Element> elements = interval.getOwnedElements();
+ EList<Element> elements2 = interval.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ EList<Dependency> dependencys = interval.getClientDependencies();
+ EList<Dependency> dependencys2 = interval.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interval.setNameExpression(stringExpression);
+ assertSuperset(interval.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ interval.setOwningTemplateParameter(templateParameter);
+ assertSuperset(interval.getOwner() == templateParameter);
+ assertSuperset(interval.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ interval.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ interval.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ interval.setType(activity);
+
+ Interval interval2 = UML.createInterval();
+ assertValid(interval2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ interval2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ interval2.setType(informationItem);
+
+ Interval interval3 = UML.createInterval();
+ assertValid(interval3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ interval3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ interval3.setType(executionEnvironment);
+
+ Interval interval4 = UML.createInterval();
+ assertValid(interval4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ interval4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ interval4.setType(interaction);
+
+ Interval interval5 = UML.createInterval();
+ assertValid(interval5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ interval5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ interval5.setType(opaqueBehavior);
+
+ Interval interval6 = UML.createInterval();
+ assertValid(interval6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ interval6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ interval6.setType(dataType);
+
+ Interval interval7 = UML.createInterval();
+ assertValid(interval7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ interval7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ interval7.setType(extension);
+
+ Interval interval8 = UML.createInterval();
+ assertValid(interval8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ interval8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ interval8.setType(class_);
+
+ Interval interval9 = UML.createInterval();
+ assertValid(interval9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ interval9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ interval9.setType(primitiveType);
+
+ Interval interval10 = UML.createInterval();
+ assertValid(interval10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ interval10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ interval10.setType(protocolStateMachine);
+
+ Interval interval11 = UML.createInterval();
+ assertValid(interval11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ interval11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ interval11.setType(signal);
+
+ Interval interval12 = UML.createInterval();
+ assertValid(interval12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ interval12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ interval12.setType(stereotype);
+
+ Interval interval13 = UML.createInterval();
+ assertValid(interval13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ interval13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ interval13.setType(artifact);
+
+ Interval interval14 = UML.createInterval();
+ assertValid(interval14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ interval14.setType(collaboration);
+ }
+
+ public void testMax() {
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ interval.setMax(literalBoolean);
+
+ Interval interval2 = UML.createInterval();
+ assertValid(interval2);
+ interval.setMax(interval2);
+
+ Interval interval3 = UML.createInterval();
+ assertValid(interval3);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ interval3.setMax(opaqueExpression);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ interval3.setMax(expression);
+
+ Interval interval4 = UML.createInterval();
+ assertValid(interval4);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ interval4.setMax(literalReal);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ interval4.setMax(literalString);
+
+ Interval interval5 = UML.createInterval();
+ assertValid(interval5);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ interval5.setMax(literalNull);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ interval5.setMax(duration);
+
+ Interval interval6 = UML.createInterval();
+ assertValid(interval6);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ interval6.setMax(literalInteger);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ interval6.setMax(durationInterval);
+
+ Interval interval7 = UML.createInterval();
+ assertValid(interval7);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interval7.setMax(stringExpression);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ interval7.setMax(literalUnlimitedNatural);
+
+ Interval interval8 = UML.createInterval();
+ assertValid(interval8);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ interval8.setMax(timeInterval);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ interval8.setMax(timeExpression);
+
+ Interval interval9 = UML.createInterval();
+ assertValid(interval9);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ interval9.setMax(instanceValue);
+ }
+
+ public void testMin() {
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ interval.setMin(literalBoolean);
+
+ Interval interval2 = UML.createInterval();
+ assertValid(interval2);
+ interval.setMin(interval2);
+
+ Interval interval3 = UML.createInterval();
+ assertValid(interval3);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ interval3.setMin(opaqueExpression);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ interval3.setMin(expression);
+
+ Interval interval4 = UML.createInterval();
+ assertValid(interval4);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ interval4.setMin(literalReal);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ interval4.setMin(literalString);
+
+ Interval interval5 = UML.createInterval();
+ assertValid(interval5);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ interval5.setMin(literalNull);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ interval5.setMin(duration);
+
+ Interval interval6 = UML.createInterval();
+ assertValid(interval6);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ interval6.setMin(literalInteger);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ interval6.setMin(durationInterval);
+
+ Interval interval7 = UML.createInterval();
+ assertValid(interval7);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ interval7.setMin(stringExpression);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ interval7.setMin(literalUnlimitedNatural);
+
+ Interval interval8 = UML.createInterval();
+ assertValid(interval8);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ interval8.setMin(timeInterval);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ interval8.setMin(timeExpression);
+
+ Interval interval9 = UML.createInterval();
+ assertValid(interval9);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ interval9.setMin(instanceValue);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/JoinNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/JoinNodeTest.java
new file mode 100755
index 00000000..2b482129
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/JoinNodeTest.java
@@ -0,0 +1,715 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class JoinNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ joinNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ joinNode.getOwnedComments().add(comment);
+ assertSuperset(joinNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ EList<Element> elements = joinNode.getOwnedElements();
+ EList<Element> elements2 = joinNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ EList<Dependency> dependencys = joinNode.getClientDependencies();
+ EList<Dependency> dependencys2 = joinNode.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ joinNode.setNameExpression(stringExpression);
+ assertSuperset(joinNode.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ EList<RedefinableElement> redefinableElements = joinNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = joinNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ EList<Classifier> classifiers = joinNode.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = joinNode.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ EList<ActivityGroup> activityGroups = joinNode.getInGroups();
+ EList<ActivityGroup> activityGroups2 = joinNode.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ joinNode.getInInterruptibleRegions().add(interruptibleActivityRegion);
+ assertSuperset(
+ joinNode.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ joinNode.setInStructuredNode(loopNode);
+ assertSuperset(joinNode.getInGroups().contains(loopNode));
+ assertSuperset(joinNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ joinNode.setInStructuredNode(expansionRegion);
+ assertSuperset(joinNode.getInGroups().contains(expansionRegion));
+ assertSuperset(joinNode.getOwner() == expansionRegion);
+
+ JoinNode joinNode2 = UML.createJoinNode();
+ assertValid(joinNode2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ joinNode2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ joinNode2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(joinNode2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ joinNode2.setInStructuredNode(conditionalNode);
+ assertSuperset(joinNode2.getInGroups().contains(conditionalNode));
+ assertSuperset(joinNode2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ joinNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ joinNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ joinNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ joinNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ joinNode.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(joinNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ joinNode.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(joinNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ joinNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ joinNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(joinNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ joinNode.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(joinNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode2 = UML.createJoinNode();
+ assertValid(joinNode2);
+ joinNode.getRedefinedNodes().add(joinNode2);
+ assertSuperset(joinNode.getRedefinedElements().contains(joinNode2));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ joinNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ joinNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ joinNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ joinNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(joinNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ joinNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ joinNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(joinNode.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ joinNode.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(joinNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ joinNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ joinNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ joinNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(joinNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ joinNode.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(joinNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ joinNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(joinNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ joinNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(joinNode.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ joinNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ joinNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ joinNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ joinNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ joinNode.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(joinNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ joinNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ joinNode.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(joinNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ joinNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ joinNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ joinNode.getRedefinedNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(joinNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ joinNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ joinNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ joinNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(joinNode.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ joinNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ joinNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(joinNode.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ joinNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ joinNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ joinNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(joinNode.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ joinNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(joinNode.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ joinNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ joinNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(joinNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ joinNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ joinNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ joinNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ joinNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ joinNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ joinNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(joinNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ joinNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ joinNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ joinNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ joinNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ joinNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ joinNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(joinNode.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ joinNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(joinNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ joinNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(joinNode.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ joinNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ joinNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ joinNode.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ joinNode.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(joinNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ joinNode.getInPartitions().add(activityPartition);
+ assertSuperset(joinNode.getInGroups().contains(activityPartition));
+ }
+
+ public void testJoinSpec() {
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ joinNode.setJoinSpec(literalBoolean);
+ assertSuperset(joinNode.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ joinNode.setJoinSpec(interval);
+ assertSuperset(joinNode.getOwnedElements().contains(interval));
+
+ JoinNode joinNode2 = UML.createJoinNode();
+ assertValid(joinNode2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ joinNode2.setJoinSpec(opaqueExpression);
+ assertSuperset(joinNode2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ joinNode2.setJoinSpec(expression);
+ assertSuperset(joinNode2.getOwnedElements().contains(expression));
+
+ JoinNode joinNode3 = UML.createJoinNode();
+ assertValid(joinNode3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ joinNode3.setJoinSpec(literalReal);
+ assertSuperset(joinNode3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ joinNode3.setJoinSpec(literalString);
+ assertSuperset(joinNode3.getOwnedElements().contains(literalString));
+
+ JoinNode joinNode4 = UML.createJoinNode();
+ assertValid(joinNode4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ joinNode4.setJoinSpec(literalNull);
+ assertSuperset(joinNode4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ joinNode4.setJoinSpec(duration);
+ assertSuperset(joinNode4.getOwnedElements().contains(duration));
+
+ JoinNode joinNode5 = UML.createJoinNode();
+ assertValid(joinNode5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ joinNode5.setJoinSpec(literalInteger);
+ assertSuperset(joinNode5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ joinNode5.setJoinSpec(durationInterval);
+ assertSuperset(joinNode5.getOwnedElements().contains(durationInterval));
+
+ JoinNode joinNode6 = UML.createJoinNode();
+ assertValid(joinNode6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ joinNode6.setJoinSpec(stringExpression);
+ assertSuperset(joinNode6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ joinNode6.setJoinSpec(literalUnlimitedNatural);
+ assertSuperset(
+ joinNode6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ JoinNode joinNode7 = UML.createJoinNode();
+ assertValid(joinNode7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ joinNode7.setJoinSpec(timeInterval);
+ assertSuperset(joinNode7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ joinNode7.setJoinSpec(timeExpression);
+ assertSuperset(joinNode7.getOwnedElements().contains(timeExpression));
+
+ JoinNode joinNode8 = UML.createJoinNode();
+ assertValid(joinNode8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ joinNode8.setJoinSpec(instanceValue);
+ assertSuperset(joinNode8.getOwnedElements().contains(instanceValue));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LifelineTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LifelineTest.java
new file mode 100755
index 00000000..7d1090dd
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LifelineTest.java
@@ -0,0 +1,328 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class LifelineTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ lifeline.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ lifeline.getOwnedComments().add(comment);
+ assertSuperset(lifeline.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ EList<Element> elements = lifeline.getOwnedElements();
+ EList<Element> elements2 = lifeline.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ EList<Dependency> dependencys = lifeline.getClientDependencies();
+ EList<Dependency> dependencys2 = lifeline.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ lifeline.setNameExpression(stringExpression);
+ assertSuperset(lifeline.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testDecomposedAs() {
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ lifeline.setDecomposedAs(partDecomposition);
+ }
+
+ public void testInteraction() {
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ lifeline.setInteraction(interaction);
+ assertSuperset(lifeline.getNamespace() == interaction);
+ }
+
+ public void testRepresents() {
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ lifeline.setRepresents(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ lifeline.setRepresents(extensionEnd);
+
+ Lifeline lifeline2 = UML.createLifeline();
+ assertValid(lifeline2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ lifeline2.setRepresents(property);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ lifeline2.setRepresents(parameter);
+
+ Lifeline lifeline3 = UML.createLifeline();
+ assertValid(lifeline3);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ lifeline3.setRepresents(variable);
+ }
+
+ public void testSelector() {
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ lifeline.setSelector(literalBoolean);
+ assertSuperset(lifeline.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ lifeline.setSelector(interval);
+ assertSuperset(lifeline.getOwnedElements().contains(interval));
+
+ Lifeline lifeline2 = UML.createLifeline();
+ assertValid(lifeline2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ lifeline2.setSelector(opaqueExpression);
+ assertSuperset(lifeline2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ lifeline2.setSelector(expression);
+ assertSuperset(lifeline2.getOwnedElements().contains(expression));
+
+ Lifeline lifeline3 = UML.createLifeline();
+ assertValid(lifeline3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ lifeline3.setSelector(literalReal);
+ assertSuperset(lifeline3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ lifeline3.setSelector(literalString);
+ assertSuperset(lifeline3.getOwnedElements().contains(literalString));
+
+ Lifeline lifeline4 = UML.createLifeline();
+ assertValid(lifeline4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ lifeline4.setSelector(literalNull);
+ assertSuperset(lifeline4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ lifeline4.setSelector(duration);
+ assertSuperset(lifeline4.getOwnedElements().contains(duration));
+
+ Lifeline lifeline5 = UML.createLifeline();
+ assertValid(lifeline5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ lifeline5.setSelector(literalInteger);
+ assertSuperset(lifeline5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ lifeline5.setSelector(durationInterval);
+ assertSuperset(lifeline5.getOwnedElements().contains(durationInterval));
+
+ Lifeline lifeline6 = UML.createLifeline();
+ assertValid(lifeline6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ lifeline6.setSelector(stringExpression);
+ assertSuperset(lifeline6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ lifeline6.setSelector(literalUnlimitedNatural);
+ assertSuperset(
+ lifeline6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Lifeline lifeline7 = UML.createLifeline();
+ assertValid(lifeline7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ lifeline7.setSelector(timeInterval);
+ assertSuperset(lifeline7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ lifeline7.setSelector(timeExpression);
+ assertSuperset(lifeline7.getOwnedElements().contains(timeExpression));
+
+ Lifeline lifeline8 = UML.createLifeline();
+ assertValid(lifeline8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ lifeline8.setSelector(instanceValue);
+ assertSuperset(lifeline8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testCoveredBy() {
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ lifeline.getCoveredBys().add(combinedFragment);
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ lifeline.getCoveredBys().add(stateInvariant);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ lifeline.getCoveredBys().add(occurrenceSpecification);
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ lifeline.getCoveredBys().add(interactionUse);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ lifeline.getCoveredBys().add(behaviorExecutionSpecification);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ lifeline.getCoveredBys().add(executionOccurrenceSpecification);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ lifeline.getCoveredBys().add(destructionOccurrenceSpecification);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ lifeline.getCoveredBys().add(interactionOperand);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ lifeline.getCoveredBys().add(messageOccurrenceSpecification);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ lifeline.getCoveredBys().add(interaction);
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ lifeline.getCoveredBys().add(partDecomposition);
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ lifeline.getCoveredBys().add(continuation);
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ lifeline.getCoveredBys().add(considerIgnoreFragment);
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ lifeline.getCoveredBys().add(actionExecutionSpecification);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LinkEndCreationDataTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LinkEndCreationDataTest.java
new file mode 100755
index 00000000..db187da4
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LinkEndCreationDataTest.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.ValuePin;
+
+/**
+ * @author Eike Stepper
+ */
+public class LinkEndCreationDataTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ linkEndCreationData.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ linkEndCreationData.getOwnedComments().add(comment);
+ assertSuperset(
+ linkEndCreationData.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+ EList<Element> elements = linkEndCreationData.getOwnedElements();
+ EList<Element> elements2 = linkEndCreationData.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testEnd() {
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ linkEndCreationData.setEnd(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ linkEndCreationData.setEnd(extensionEnd);
+
+ LinkEndCreationData linkEndCreationData2 = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ linkEndCreationData2.setEnd(property);
+ }
+
+ public void testQualifier() {
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+ linkEndCreationData.getQualifiers().add(qualifierValue);
+ assertSuperset(
+ linkEndCreationData.getOwnedElements().contains(qualifierValue));
+ }
+
+ public void testValue() {
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ linkEndCreationData.setValue(inputPin);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ linkEndCreationData.setValue(valuePin);
+
+ LinkEndCreationData linkEndCreationData2 = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ linkEndCreationData2.setValue(actionInputPin);
+ }
+
+ public void testInsertAt() {
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ linkEndCreationData.setInsertAt(inputPin);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ linkEndCreationData.setInsertAt(valuePin);
+
+ LinkEndCreationData linkEndCreationData2 = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ linkEndCreationData2.setInsertAt(actionInputPin);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LinkEndDataTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LinkEndDataTest.java
new file mode 100755
index 00000000..f34aedf5
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LinkEndDataTest.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.ValuePin;
+
+/**
+ * @author Eike Stepper
+ */
+public class LinkEndDataTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ linkEndData.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ linkEndData.getOwnedComments().add(comment);
+ assertSuperset(linkEndData.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+ EList<Element> elements = linkEndData.getOwnedElements();
+ EList<Element> elements2 = linkEndData.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testEnd() {
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ linkEndData.setEnd(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ linkEndData.setEnd(extensionEnd);
+
+ LinkEndData linkEndData2 = UML.createLinkEndData();
+ assertValid(linkEndData2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ linkEndData2.setEnd(property);
+ }
+
+ public void testQualifier() {
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+ linkEndData.getQualifiers().add(qualifierValue);
+ assertSuperset(linkEndData.getOwnedElements().contains(qualifierValue));
+ }
+
+ public void testValue() {
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ linkEndData.setValue(inputPin);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ linkEndData.setValue(valuePin);
+
+ LinkEndData linkEndData2 = UML.createLinkEndData();
+ assertValid(linkEndData2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ linkEndData2.setValue(actionInputPin);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LinkEndDestructionDataTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LinkEndDestructionDataTest.java
new file mode 100755
index 00000000..6604f58b
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LinkEndDestructionDataTest.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.ValuePin;
+
+/**
+ * @author Eike Stepper
+ */
+public class LinkEndDestructionDataTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ linkEndDestructionData.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ linkEndDestructionData.getOwnedComments().add(comment);
+ assertSuperset(
+ linkEndDestructionData.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+ EList<Element> elements = linkEndDestructionData.getOwnedElements();
+ EList<Element> elements2 = linkEndDestructionData.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testEnd() {
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ linkEndDestructionData.setEnd(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ linkEndDestructionData.setEnd(extensionEnd);
+
+ LinkEndDestructionData linkEndDestructionData2 = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ linkEndDestructionData2.setEnd(property);
+ }
+
+ public void testQualifier() {
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+ linkEndDestructionData.getQualifiers().add(qualifierValue);
+ assertSuperset(
+ linkEndDestructionData.getOwnedElements().contains(qualifierValue));
+ }
+
+ public void testValue() {
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ linkEndDestructionData.setValue(inputPin);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ linkEndDestructionData.setValue(valuePin);
+
+ LinkEndDestructionData linkEndDestructionData2 = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ linkEndDestructionData2.setValue(actionInputPin);
+ }
+
+ public void testDestroyAt() {
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ linkEndDestructionData.setDestroyAt(inputPin);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ linkEndDestructionData.setDestroyAt(valuePin);
+
+ LinkEndDestructionData linkEndDestructionData2 = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ linkEndDestructionData2.setDestroyAt(actionInputPin);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralBooleanTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralBooleanTest.java
new file mode 100755
index 00000000..62ce4d21
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralBooleanTest.java
@@ -0,0 +1,278 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class LiteralBooleanTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ literalBoolean.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ literalBoolean.getOwnedComments().add(comment);
+ assertSuperset(literalBoolean.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ EList<Element> elements = literalBoolean.getOwnedElements();
+ EList<Element> elements2 = literalBoolean.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ EList<Dependency> dependencys = literalBoolean.getClientDependencies();
+ EList<Dependency> dependencys2 = literalBoolean.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ literalBoolean.setNameExpression(stringExpression);
+ assertSuperset(
+ literalBoolean.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ literalBoolean.setOwningTemplateParameter(templateParameter);
+ assertSuperset(literalBoolean.getOwner() == templateParameter);
+ assertSuperset(
+ literalBoolean.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ literalBoolean.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ literalBoolean.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ literalBoolean.setType(activity);
+
+ LiteralBoolean literalBoolean2 = UML.createLiteralBoolean();
+ assertValid(literalBoolean2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ literalBoolean2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ literalBoolean2.setType(informationItem);
+
+ LiteralBoolean literalBoolean3 = UML.createLiteralBoolean();
+ assertValid(literalBoolean3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ literalBoolean3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ literalBoolean3.setType(executionEnvironment);
+
+ LiteralBoolean literalBoolean4 = UML.createLiteralBoolean();
+ assertValid(literalBoolean4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ literalBoolean4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ literalBoolean4.setType(interaction);
+
+ LiteralBoolean literalBoolean5 = UML.createLiteralBoolean();
+ assertValid(literalBoolean5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ literalBoolean5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ literalBoolean5.setType(opaqueBehavior);
+
+ LiteralBoolean literalBoolean6 = UML.createLiteralBoolean();
+ assertValid(literalBoolean6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ literalBoolean6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ literalBoolean6.setType(dataType);
+
+ LiteralBoolean literalBoolean7 = UML.createLiteralBoolean();
+ assertValid(literalBoolean7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ literalBoolean7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ literalBoolean7.setType(extension);
+
+ LiteralBoolean literalBoolean8 = UML.createLiteralBoolean();
+ assertValid(literalBoolean8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ literalBoolean8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ literalBoolean8.setType(class_);
+
+ LiteralBoolean literalBoolean9 = UML.createLiteralBoolean();
+ assertValid(literalBoolean9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ literalBoolean9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ literalBoolean9.setType(primitiveType);
+
+ LiteralBoolean literalBoolean10 = UML.createLiteralBoolean();
+ assertValid(literalBoolean10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ literalBoolean10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ literalBoolean10.setType(protocolStateMachine);
+
+ LiteralBoolean literalBoolean11 = UML.createLiteralBoolean();
+ assertValid(literalBoolean11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ literalBoolean11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ literalBoolean11.setType(signal);
+
+ LiteralBoolean literalBoolean12 = UML.createLiteralBoolean();
+ assertValid(literalBoolean12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ literalBoolean12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ literalBoolean12.setType(stereotype);
+
+ LiteralBoolean literalBoolean13 = UML.createLiteralBoolean();
+ assertValid(literalBoolean13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ literalBoolean13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ literalBoolean13.setType(artifact);
+
+ LiteralBoolean literalBoolean14 = UML.createLiteralBoolean();
+ assertValid(literalBoolean14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ literalBoolean14.setType(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralIntegerTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralIntegerTest.java
new file mode 100755
index 00000000..8cc5305e
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralIntegerTest.java
@@ -0,0 +1,278 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class LiteralIntegerTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ literalInteger.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ literalInteger.getOwnedComments().add(comment);
+ assertSuperset(literalInteger.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ EList<Element> elements = literalInteger.getOwnedElements();
+ EList<Element> elements2 = literalInteger.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ EList<Dependency> dependencys = literalInteger.getClientDependencies();
+ EList<Dependency> dependencys2 = literalInteger.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ literalInteger.setNameExpression(stringExpression);
+ assertSuperset(
+ literalInteger.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ literalInteger.setOwningTemplateParameter(templateParameter);
+ assertSuperset(literalInteger.getOwner() == templateParameter);
+ assertSuperset(
+ literalInteger.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ literalInteger.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ literalInteger.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ literalInteger.setType(activity);
+
+ LiteralInteger literalInteger2 = UML.createLiteralInteger();
+ assertValid(literalInteger2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ literalInteger2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ literalInteger2.setType(informationItem);
+
+ LiteralInteger literalInteger3 = UML.createLiteralInteger();
+ assertValid(literalInteger3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ literalInteger3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ literalInteger3.setType(executionEnvironment);
+
+ LiteralInteger literalInteger4 = UML.createLiteralInteger();
+ assertValid(literalInteger4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ literalInteger4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ literalInteger4.setType(interaction);
+
+ LiteralInteger literalInteger5 = UML.createLiteralInteger();
+ assertValid(literalInteger5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ literalInteger5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ literalInteger5.setType(opaqueBehavior);
+
+ LiteralInteger literalInteger6 = UML.createLiteralInteger();
+ assertValid(literalInteger6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ literalInteger6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ literalInteger6.setType(dataType);
+
+ LiteralInteger literalInteger7 = UML.createLiteralInteger();
+ assertValid(literalInteger7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ literalInteger7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ literalInteger7.setType(extension);
+
+ LiteralInteger literalInteger8 = UML.createLiteralInteger();
+ assertValid(literalInteger8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ literalInteger8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ literalInteger8.setType(class_);
+
+ LiteralInteger literalInteger9 = UML.createLiteralInteger();
+ assertValid(literalInteger9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ literalInteger9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ literalInteger9.setType(primitiveType);
+
+ LiteralInteger literalInteger10 = UML.createLiteralInteger();
+ assertValid(literalInteger10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ literalInteger10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ literalInteger10.setType(protocolStateMachine);
+
+ LiteralInteger literalInteger11 = UML.createLiteralInteger();
+ assertValid(literalInteger11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ literalInteger11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ literalInteger11.setType(signal);
+
+ LiteralInteger literalInteger12 = UML.createLiteralInteger();
+ assertValid(literalInteger12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ literalInteger12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ literalInteger12.setType(stereotype);
+
+ LiteralInteger literalInteger13 = UML.createLiteralInteger();
+ assertValid(literalInteger13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ literalInteger13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ literalInteger13.setType(artifact);
+
+ LiteralInteger literalInteger14 = UML.createLiteralInteger();
+ assertValid(literalInteger14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ literalInteger14.setType(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralNullTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralNullTest.java
new file mode 100755
index 00000000..2360a055
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralNullTest.java
@@ -0,0 +1,277 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class LiteralNullTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ literalNull.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ literalNull.getOwnedComments().add(comment);
+ assertSuperset(literalNull.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ EList<Element> elements = literalNull.getOwnedElements();
+ EList<Element> elements2 = literalNull.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ EList<Dependency> dependencys = literalNull.getClientDependencies();
+ EList<Dependency> dependencys2 = literalNull.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ literalNull.setNameExpression(stringExpression);
+ assertSuperset(
+ literalNull.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ literalNull.setOwningTemplateParameter(templateParameter);
+ assertSuperset(literalNull.getOwner() == templateParameter);
+ assertSuperset(literalNull.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ literalNull.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ literalNull.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ literalNull.setType(activity);
+
+ LiteralNull literalNull2 = UML.createLiteralNull();
+ assertValid(literalNull2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ literalNull2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ literalNull2.setType(informationItem);
+
+ LiteralNull literalNull3 = UML.createLiteralNull();
+ assertValid(literalNull3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ literalNull3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ literalNull3.setType(executionEnvironment);
+
+ LiteralNull literalNull4 = UML.createLiteralNull();
+ assertValid(literalNull4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ literalNull4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ literalNull4.setType(interaction);
+
+ LiteralNull literalNull5 = UML.createLiteralNull();
+ assertValid(literalNull5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ literalNull5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ literalNull5.setType(opaqueBehavior);
+
+ LiteralNull literalNull6 = UML.createLiteralNull();
+ assertValid(literalNull6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ literalNull6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ literalNull6.setType(dataType);
+
+ LiteralNull literalNull7 = UML.createLiteralNull();
+ assertValid(literalNull7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ literalNull7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ literalNull7.setType(extension);
+
+ LiteralNull literalNull8 = UML.createLiteralNull();
+ assertValid(literalNull8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ literalNull8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ literalNull8.setType(class_);
+
+ LiteralNull literalNull9 = UML.createLiteralNull();
+ assertValid(literalNull9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ literalNull9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ literalNull9.setType(primitiveType);
+
+ LiteralNull literalNull10 = UML.createLiteralNull();
+ assertValid(literalNull10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ literalNull10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ literalNull10.setType(protocolStateMachine);
+
+ LiteralNull literalNull11 = UML.createLiteralNull();
+ assertValid(literalNull11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ literalNull11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ literalNull11.setType(signal);
+
+ LiteralNull literalNull12 = UML.createLiteralNull();
+ assertValid(literalNull12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ literalNull12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ literalNull12.setType(stereotype);
+
+ LiteralNull literalNull13 = UML.createLiteralNull();
+ assertValid(literalNull13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ literalNull13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ literalNull13.setType(artifact);
+
+ LiteralNull literalNull14 = UML.createLiteralNull();
+ assertValid(literalNull14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ literalNull14.setType(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralRealTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralRealTest.java
new file mode 100755
index 00000000..186c2f96
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralRealTest.java
@@ -0,0 +1,277 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class LiteralRealTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ literalReal.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ literalReal.getOwnedComments().add(comment);
+ assertSuperset(literalReal.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ EList<Element> elements = literalReal.getOwnedElements();
+ EList<Element> elements2 = literalReal.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ EList<Dependency> dependencys = literalReal.getClientDependencies();
+ EList<Dependency> dependencys2 = literalReal.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ literalReal.setNameExpression(stringExpression);
+ assertSuperset(
+ literalReal.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ literalReal.setOwningTemplateParameter(templateParameter);
+ assertSuperset(literalReal.getOwner() == templateParameter);
+ assertSuperset(literalReal.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ literalReal.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ literalReal.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ literalReal.setType(activity);
+
+ LiteralReal literalReal2 = UML.createLiteralReal();
+ assertValid(literalReal2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ literalReal2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ literalReal2.setType(informationItem);
+
+ LiteralReal literalReal3 = UML.createLiteralReal();
+ assertValid(literalReal3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ literalReal3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ literalReal3.setType(executionEnvironment);
+
+ LiteralReal literalReal4 = UML.createLiteralReal();
+ assertValid(literalReal4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ literalReal4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ literalReal4.setType(interaction);
+
+ LiteralReal literalReal5 = UML.createLiteralReal();
+ assertValid(literalReal5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ literalReal5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ literalReal5.setType(opaqueBehavior);
+
+ LiteralReal literalReal6 = UML.createLiteralReal();
+ assertValid(literalReal6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ literalReal6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ literalReal6.setType(dataType);
+
+ LiteralReal literalReal7 = UML.createLiteralReal();
+ assertValid(literalReal7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ literalReal7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ literalReal7.setType(extension);
+
+ LiteralReal literalReal8 = UML.createLiteralReal();
+ assertValid(literalReal8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ literalReal8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ literalReal8.setType(class_);
+
+ LiteralReal literalReal9 = UML.createLiteralReal();
+ assertValid(literalReal9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ literalReal9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ literalReal9.setType(primitiveType);
+
+ LiteralReal literalReal10 = UML.createLiteralReal();
+ assertValid(literalReal10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ literalReal10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ literalReal10.setType(protocolStateMachine);
+
+ LiteralReal literalReal11 = UML.createLiteralReal();
+ assertValid(literalReal11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ literalReal11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ literalReal11.setType(signal);
+
+ LiteralReal literalReal12 = UML.createLiteralReal();
+ assertValid(literalReal12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ literalReal12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ literalReal12.setType(stereotype);
+
+ LiteralReal literalReal13 = UML.createLiteralReal();
+ assertValid(literalReal13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ literalReal13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ literalReal13.setType(artifact);
+
+ LiteralReal literalReal14 = UML.createLiteralReal();
+ assertValid(literalReal14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ literalReal14.setType(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralStringTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralStringTest.java
new file mode 100755
index 00000000..def7b68b
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralStringTest.java
@@ -0,0 +1,278 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class LiteralStringTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ literalString.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ literalString.getOwnedComments().add(comment);
+ assertSuperset(literalString.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ EList<Element> elements = literalString.getOwnedElements();
+ EList<Element> elements2 = literalString.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ EList<Dependency> dependencys = literalString.getClientDependencies();
+ EList<Dependency> dependencys2 = literalString.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ literalString.setNameExpression(stringExpression);
+ assertSuperset(
+ literalString.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ literalString.setOwningTemplateParameter(templateParameter);
+ assertSuperset(literalString.getOwner() == templateParameter);
+ assertSuperset(
+ literalString.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ literalString.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ literalString.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ literalString.setType(activity);
+
+ LiteralString literalString2 = UML.createLiteralString();
+ assertValid(literalString2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ literalString2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ literalString2.setType(informationItem);
+
+ LiteralString literalString3 = UML.createLiteralString();
+ assertValid(literalString3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ literalString3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ literalString3.setType(executionEnvironment);
+
+ LiteralString literalString4 = UML.createLiteralString();
+ assertValid(literalString4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ literalString4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ literalString4.setType(interaction);
+
+ LiteralString literalString5 = UML.createLiteralString();
+ assertValid(literalString5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ literalString5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ literalString5.setType(opaqueBehavior);
+
+ LiteralString literalString6 = UML.createLiteralString();
+ assertValid(literalString6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ literalString6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ literalString6.setType(dataType);
+
+ LiteralString literalString7 = UML.createLiteralString();
+ assertValid(literalString7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ literalString7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ literalString7.setType(extension);
+
+ LiteralString literalString8 = UML.createLiteralString();
+ assertValid(literalString8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ literalString8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ literalString8.setType(class_);
+
+ LiteralString literalString9 = UML.createLiteralString();
+ assertValid(literalString9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ literalString9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ literalString9.setType(primitiveType);
+
+ LiteralString literalString10 = UML.createLiteralString();
+ assertValid(literalString10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ literalString10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ literalString10.setType(protocolStateMachine);
+
+ LiteralString literalString11 = UML.createLiteralString();
+ assertValid(literalString11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ literalString11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ literalString11.setType(signal);
+
+ LiteralString literalString12 = UML.createLiteralString();
+ assertValid(literalString12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ literalString12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ literalString12.setType(stereotype);
+
+ LiteralString literalString13 = UML.createLiteralString();
+ assertValid(literalString13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ literalString13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ literalString13.setType(artifact);
+
+ LiteralString literalString14 = UML.createLiteralString();
+ assertValid(literalString14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ literalString14.setType(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralUnlimitedNaturalTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralUnlimitedNaturalTest.java
new file mode 100755
index 00000000..27b059b5
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LiteralUnlimitedNaturalTest.java
@@ -0,0 +1,302 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class LiteralUnlimitedNaturalTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ literalUnlimitedNatural.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ literalUnlimitedNatural.getOwnedComments().add(comment);
+ assertSuperset(
+ literalUnlimitedNatural.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ EList<Element> elements = literalUnlimitedNatural.getOwnedElements();
+ EList<Element> elements2 = literalUnlimitedNatural.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ EList<Dependency> dependencys = literalUnlimitedNatural
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = literalUnlimitedNatural
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ literalUnlimitedNatural.setNameExpression(stringExpression);
+ assertSuperset(literalUnlimitedNatural.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ literalUnlimitedNatural.setOwningTemplateParameter(templateParameter);
+ assertSuperset(literalUnlimitedNatural.getOwner() == templateParameter);
+ assertSuperset(literalUnlimitedNatural
+ .getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ literalUnlimitedNatural.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ literalUnlimitedNatural.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ literalUnlimitedNatural.setType(activity);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural2 = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ literalUnlimitedNatural2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ literalUnlimitedNatural2.setType(informationItem);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural3 = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ literalUnlimitedNatural3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ literalUnlimitedNatural3.setType(executionEnvironment);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural4 = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ literalUnlimitedNatural4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ literalUnlimitedNatural4.setType(interaction);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural5 = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ literalUnlimitedNatural5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ literalUnlimitedNatural5.setType(opaqueBehavior);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural6 = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ literalUnlimitedNatural6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ literalUnlimitedNatural6.setType(dataType);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural7 = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ literalUnlimitedNatural7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ literalUnlimitedNatural7.setType(extension);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural8 = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ literalUnlimitedNatural8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ literalUnlimitedNatural8.setType(class_);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural9 = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ literalUnlimitedNatural9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ literalUnlimitedNatural9.setType(primitiveType);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural10 = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ literalUnlimitedNatural10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ literalUnlimitedNatural10.setType(protocolStateMachine);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural11 = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ literalUnlimitedNatural11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ literalUnlimitedNatural11.setType(signal);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural12 = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ literalUnlimitedNatural12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ literalUnlimitedNatural12.setType(stereotype);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural13 = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ literalUnlimitedNatural13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ literalUnlimitedNatural13.setType(artifact);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural14 = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ literalUnlimitedNatural14.setType(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LoopNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LoopNodeTest.java
new file mode 100755
index 00000000..a6f09803
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/LoopNodeTest.java
@@ -0,0 +1,1924 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class LoopNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ loopNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ loopNode.getOwnedComments().add(comment);
+ assertSuperset(loopNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ EList<Element> elements = loopNode.getOwnedElements();
+ EList<Element> elements2 = loopNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ EList<Dependency> dependencys = loopNode.getClientDependencies();
+ EList<Dependency> dependencys2 = loopNode.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ loopNode.setNameExpression(stringExpression);
+ assertSuperset(loopNode.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ EList<RedefinableElement> redefinableElements = loopNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = loopNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ EList<Classifier> classifiers = loopNode.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = loopNode.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ EList<ActivityGroup> activityGroups = loopNode.getInGroups();
+ EList<ActivityGroup> activityGroups2 = loopNode.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ loopNode.getInInterruptibleRegions().add(interruptibleActivityRegion);
+ assertSuperset(
+ loopNode.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ LoopNode loopNode2 = UML.createLoopNode();
+ assertValid(loopNode2);
+ loopNode.setInStructuredNode(loopNode2);
+ assertSuperset(loopNode.getInGroups().contains(loopNode2));
+ assertSuperset(loopNode.getOwner() == loopNode2);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ loopNode.setInStructuredNode(expansionRegion);
+ assertSuperset(loopNode.getInGroups().contains(expansionRegion));
+ assertSuperset(loopNode.getOwner() == expansionRegion);
+
+ LoopNode loopNode3 = UML.createLoopNode();
+ assertValid(loopNode3);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ loopNode3.setInStructuredNode(sequenceNode);
+ assertSuperset(loopNode3.getInGroups().contains(sequenceNode));
+ assertSuperset(loopNode3.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ loopNode3.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ loopNode3.getInGroups().contains(structuredActivityNode));
+ assertSuperset(loopNode3.getOwner() == structuredActivityNode);
+
+ LoopNode loopNode4 = UML.createLoopNode();
+ assertValid(loopNode4);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ loopNode4.setInStructuredNode(conditionalNode);
+ assertSuperset(loopNode4.getInGroups().contains(conditionalNode));
+ assertSuperset(loopNode4.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ loopNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ loopNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ loopNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ loopNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ loopNode.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(loopNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ loopNode.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(loopNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ loopNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ loopNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(loopNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ loopNode.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(loopNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ loopNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(loopNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ loopNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ loopNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ loopNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ loopNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(loopNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ loopNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ loopNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(loopNode.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ loopNode.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(loopNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ loopNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ loopNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ loopNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(loopNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ loopNode.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(loopNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ loopNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(loopNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ loopNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(loopNode.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ loopNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ loopNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ loopNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ loopNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ loopNode.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(loopNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ loopNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ loopNode.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(loopNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ loopNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ loopNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ loopNode.getRedefinedNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(loopNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ loopNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ loopNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ loopNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(loopNode.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ loopNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ loopNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(loopNode.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ loopNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ loopNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ loopNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(loopNode.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ loopNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(loopNode.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ loopNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ loopNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(loopNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ loopNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ loopNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ loopNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ loopNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ loopNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode2 = UML.createLoopNode();
+ assertValid(loopNode2);
+ loopNode.getRedefinedNodes().add(loopNode2);
+ assertSuperset(loopNode.getRedefinedElements().contains(loopNode2));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ loopNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ loopNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ loopNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ loopNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ loopNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ loopNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(loopNode.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ loopNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(loopNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ loopNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(loopNode.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ loopNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ loopNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ loopNode.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ loopNode.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(loopNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ loopNode.getInPartitions().add(activityPartition);
+ assertSuperset(loopNode.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ loopNode.getHandlers().add(exceptionHandler);
+ assertSuperset(loopNode.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ EList<InputPin> inputPins = loopNode.getInputs();
+ EList<InputPin> inputPins2 = loopNode.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ loopNode.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ loopNode.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ loopNode.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(loopNode.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ loopNode.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(
+ loopNode.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ loopNode.getLocalPostconditions().add(constraint);
+ assertSuperset(loopNode.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ loopNode.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ loopNode.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ loopNode.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ loopNode.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ loopNode.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(loopNode.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ loopNode.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(
+ loopNode.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ loopNode.getLocalPreconditions().add(constraint);
+ assertSuperset(loopNode.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ loopNode.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ loopNode.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ EList<OutputPin> outputPins = loopNode.getOutputs();
+ EList<OutputPin> outputPins2 = loopNode.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testOwnedRule() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ loopNode.getOwnedRules().add(intervalConstraint);
+ assertSuperset(loopNode.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ loopNode.getOwnedRules().add(timeConstraint);
+ assertSuperset(loopNode.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ loopNode.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ loopNode.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ loopNode.getOwnedRules().add(constraint);
+ assertSuperset(loopNode.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ loopNode.getOwnedRules().add(durationConstraint);
+ assertSuperset(loopNode.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ loopNode.getElementImports().add(elementImport);
+ assertSuperset(loopNode.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ loopNode.getPackageImports().add(packageImport);
+ assertSuperset(loopNode.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ EList<NamedElement> namedElements = loopNode.getOwnedMembers();
+ EList<NamedElement> namedElements2 = loopNode.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ EList<PackageableElement> packageableElements = loopNode
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = loopNode
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ EList<NamedElement> namedElements = loopNode.getMembers();
+ EList<NamedElement> namedElements2 = loopNode.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testContainedEdge() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ EList<ActivityEdge> activityEdges = loopNode.getContainedEdges();
+ EList<ActivityEdge> activityEdges2 = loopNode.getContainedEdges();
+ assertSame(activityEdges, activityEdges2);
+ }
+
+ public void testContainedNode() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ EList<ActivityNode> activityNodes = loopNode.getContainedNodes();
+ EList<ActivityNode> activityNodes2 = loopNode.getContainedNodes();
+ assertSame(activityNodes, activityNodes2);
+ }
+
+ public void testSubgroup() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ EList<ActivityGroup> activityGroups = loopNode.getSubgroups();
+ EList<ActivityGroup> activityGroups2 = loopNode.getSubgroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testEdge() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ loopNode.getEdges().add(controlFlow);
+ assertSuperset(loopNode.getContainedEdges().contains(controlFlow));
+ assertSuperset(loopNode.getOwnedElements().contains(controlFlow));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ loopNode.getEdges().add(objectFlow);
+ assertSuperset(loopNode.getContainedEdges().contains(objectFlow));
+ assertSuperset(loopNode.getOwnedElements().contains(objectFlow));
+ }
+
+ public void testStructuredNodeInput() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ loopNode.getStructuredNodeInputs().add(inputPin);
+ assertSuperset(loopNode.getInputs().contains(inputPin));
+ }
+
+ public void testStructuredNodeOutput() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ loopNode.getStructuredNodeOutputs().add(outputPin);
+ assertSuperset(loopNode.getOutputs().contains(outputPin));
+ }
+
+ public void testVariable() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ loopNode.getVariables().add(variable);
+ assertSuperset(loopNode.getOwnedMembers().contains(variable));
+ }
+
+ public void testNode() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ loopNode.getNodes().add(startClassifierBehaviorAction);
+ assertSuperset(loopNode.getContainedNodes()
+ .contains(startClassifierBehaviorAction));
+ assertSuperset(loopNode.getOwnedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ loopNode.getNodes().add(removeVariableValueAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(removeVariableValueAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ loopNode.getNodes().add(readSelfAction);
+ assertSuperset(loopNode.getContainedNodes().contains(readSelfAction));
+ assertSuperset(loopNode.getOwnedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ loopNode.getNodes().add(inputPin);
+ assertSuperset(loopNode.getContainedNodes().contains(inputPin));
+ assertSuperset(loopNode.getOwnedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ loopNode.getNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(loopNode.getContainedNodes()
+ .contains(readLinkObjectEndQualifierAction));
+ assertSuperset(loopNode.getOwnedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ loopNode.getNodes().add(joinNode);
+ assertSuperset(loopNode.getContainedNodes().contains(joinNode));
+ assertSuperset(loopNode.getOwnedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ loopNode.getNodes().add(createLinkObjectAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(createLinkObjectAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ loopNode.getNodes().add(sendSignalAction);
+ assertSuperset(loopNode.getContainedNodes().contains(sendSignalAction));
+ assertSuperset(loopNode.getOwnedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ loopNode.getNodes().add(readLinkAction);
+ assertSuperset(loopNode.getContainedNodes().contains(readLinkAction));
+ assertSuperset(loopNode.getOwnedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ loopNode.getNodes().add(replyAction);
+ assertSuperset(loopNode.getContainedNodes().contains(replyAction));
+ assertSuperset(loopNode.getOwnedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ loopNode.getNodes().add(clearAssociationAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(clearAssociationAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ loopNode.getNodes().add(flowFinalNode);
+ assertSuperset(loopNode.getContainedNodes().contains(flowFinalNode));
+ assertSuperset(loopNode.getOwnedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ loopNode.getNodes().add(clearStructuralFeatureAction);
+ assertSuperset(loopNode.getContainedNodes()
+ .contains(clearStructuralFeatureAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ loopNode.getNodes().add(expansionRegion);
+ assertSuperset(loopNode.getContainedNodes().contains(expansionRegion));
+ assertSuperset(loopNode.getOwnedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ loopNode.getNodes().add(structuredActivityNode);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(structuredActivityNode));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ loopNode.getNodes().add(valuePin);
+ assertSuperset(loopNode.getContainedNodes().contains(valuePin));
+ assertSuperset(loopNode.getOwnedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ loopNode.getNodes().add(startObjectBehaviorAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(startObjectBehaviorAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ loopNode.getNodes().add(forkNode);
+ assertSuperset(loopNode.getContainedNodes().contains(forkNode));
+ assertSuperset(loopNode.getOwnedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ loopNode.getNodes().add(decisionNode);
+ assertSuperset(loopNode.getContainedNodes().contains(decisionNode));
+ assertSuperset(loopNode.getOwnedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ loopNode.getNodes().add(callBehaviorAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(callBehaviorAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ loopNode.getNodes().add(conditionalNode);
+ assertSuperset(loopNode.getContainedNodes().contains(conditionalNode));
+ assertSuperset(loopNode.getOwnedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ loopNode.getNodes().add(readExtentAction);
+ assertSuperset(loopNode.getContainedNodes().contains(readExtentAction));
+ assertSuperset(loopNode.getOwnedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ loopNode.getNodes().add(actionInputPin);
+ assertSuperset(loopNode.getContainedNodes().contains(actionInputPin));
+ assertSuperset(loopNode.getOwnedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ loopNode.getNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(loopNode.getContainedNodes()
+ .contains(readIsClassifiedObjectAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ loopNode.getNodes().add(activityParameterNode);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(activityParameterNode));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ loopNode.getNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(loopNode.getContainedNodes()
+ .contains(addStructuralFeatureValueAction));
+ assertSuperset(loopNode.getOwnedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ loopNode.getNodes().add(readVariableAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(readVariableAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ loopNode.getNodes().add(clearVariableAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(clearVariableAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ loopNode.getNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(loopNode.getContainedNodes()
+ .contains(removeStructuralFeatureValueAction));
+ assertSuperset(loopNode.getOwnedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ loopNode.getNodes().add(createLinkAction);
+ assertSuperset(loopNode.getContainedNodes().contains(createLinkAction));
+ assertSuperset(loopNode.getOwnedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ loopNode.getNodes().add(reclassifyObjectAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(reclassifyObjectAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ loopNode.getNodes().add(dataStoreNode);
+ assertSuperset(loopNode.getContainedNodes().contains(dataStoreNode));
+ assertSuperset(loopNode.getOwnedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ loopNode.getNodes().add(sendObjectAction);
+ assertSuperset(loopNode.getContainedNodes().contains(sendObjectAction));
+ assertSuperset(loopNode.getOwnedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ loopNode.getNodes().add(reduceAction);
+ assertSuperset(loopNode.getContainedNodes().contains(reduceAction));
+ assertSuperset(loopNode.getOwnedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ loopNode.getNodes().add(acceptEventAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(acceptEventAction));
+ assertSuperset(loopNode.getOwnedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ loopNode.getNodes().add(destroyLinkAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(destroyLinkAction));
+ assertSuperset(loopNode.getOwnedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ loopNode.getNodes().add(expansionNode);
+ assertSuperset(loopNode.getContainedNodes().contains(expansionNode));
+ assertSuperset(loopNode.getOwnedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ loopNode.getNodes().add(initialNode);
+ assertSuperset(loopNode.getContainedNodes().contains(initialNode));
+ assertSuperset(loopNode.getOwnedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ loopNode.getNodes().add(testIdentityAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(testIdentityAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ loopNode.getNodes().add(outputPin);
+ assertSuperset(loopNode.getContainedNodes().contains(outputPin));
+ assertSuperset(loopNode.getOwnedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ loopNode.getNodes().add(centralBufferNode);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(centralBufferNode));
+ assertSuperset(loopNode.getOwnedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ loopNode.getNodes().add(broadcastSignalAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(broadcastSignalAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ loopNode.getNodes().add(raiseExceptionAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(raiseExceptionAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ loopNode.getNodes().add(activityFinalNode);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(activityFinalNode));
+ assertSuperset(loopNode.getOwnedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ loopNode.getNodes().add(callOperationAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(callOperationAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(callOperationAction));
+
+ LoopNode loopNode2 = UML.createLoopNode();
+ assertValid(loopNode2);
+ loopNode.getNodes().add(loopNode2);
+ assertSuperset(loopNode.getContainedNodes().contains(loopNode2));
+ assertSuperset(loopNode.getOwnedElements().contains(loopNode2));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ loopNode.getNodes().add(valueSpecificationAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(valueSpecificationAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ loopNode.getNodes().add(acceptCallAction);
+ assertSuperset(loopNode.getContainedNodes().contains(acceptCallAction));
+ assertSuperset(loopNode.getOwnedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ loopNode.getNodes().add(addVariableValueAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(addVariableValueAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ loopNode.getNodes().add(readLinkObjectEndAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(readLinkObjectEndAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ loopNode.getNodes().add(unmarshallAction);
+ assertSuperset(loopNode.getContainedNodes().contains(unmarshallAction));
+ assertSuperset(loopNode.getOwnedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ loopNode.getNodes().add(opaqueAction);
+ assertSuperset(loopNode.getContainedNodes().contains(opaqueAction));
+ assertSuperset(loopNode.getOwnedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ loopNode.getNodes().add(mergeNode);
+ assertSuperset(loopNode.getContainedNodes().contains(mergeNode));
+ assertSuperset(loopNode.getOwnedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ loopNode.getNodes().add(sequenceNode);
+ assertSuperset(loopNode.getContainedNodes().contains(sequenceNode));
+ assertSuperset(loopNode.getOwnedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ loopNode.getNodes().add(createObjectAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(createObjectAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ loopNode.getNodes().add(destroyObjectAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(destroyObjectAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ loopNode.getNodes().add(readStructuralFeatureAction);
+ assertSuperset(
+ loopNode.getContainedNodes().contains(readStructuralFeatureAction));
+ assertSuperset(
+ loopNode.getOwnedElements().contains(readStructuralFeatureAction));
+ }
+
+ public void testBodyOutput() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ loopNode.getBodyOutputs().add(outputPin);
+ }
+
+ public void testBodyPart() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ loopNode.getBodyParts().add(readIsClassifiedObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ loopNode.getBodyParts().add(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ loopNode.getBodyParts().add(removeVariableValueAction);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ loopNode.getBodyParts().add(addStructuralFeatureValueAction);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ loopNode.getBodyParts().add(readVariableAction);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ loopNode.getBodyParts().add(clearVariableAction);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ loopNode.getBodyParts().add(removeStructuralFeatureValueAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ loopNode.getBodyParts().add(createLinkAction);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ loopNode.getBodyParts().add(readSelfAction);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ loopNode.getBodyParts().add(reclassifyObjectAction);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ loopNode.getBodyParts().add(readLinkObjectEndQualifierAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ loopNode.getBodyParts().add(sendObjectAction);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ loopNode.getBodyParts().add(reduceAction);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ loopNode.getBodyParts().add(createLinkObjectAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ loopNode.getBodyParts().add(acceptEventAction);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ loopNode.getBodyParts().add(destroyLinkAction);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ loopNode.getBodyParts().add(sendSignalAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ loopNode.getBodyParts().add(readLinkAction);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ loopNode.getBodyParts().add(replyAction);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ loopNode.getBodyParts().add(testIdentityAction);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ loopNode.getBodyParts().add(clearAssociationAction);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ loopNode.getBodyParts().add(broadcastSignalAction);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ loopNode.getBodyParts().add(clearStructuralFeatureAction);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ loopNode.getBodyParts().add(expansionRegion);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ loopNode.getBodyParts().add(structuredActivityNode);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ loopNode.getBodyParts().add(raiseExceptionAction);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ loopNode.getBodyParts().add(startObjectBehaviorAction);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ loopNode.getBodyParts().add(callOperationAction);
+
+ LoopNode loopNode2 = UML.createLoopNode();
+ assertValid(loopNode2);
+ loopNode.getBodyParts().add(loopNode2);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ loopNode.getBodyParts().add(valueSpecificationAction);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ loopNode.getBodyParts().add(acceptCallAction);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ loopNode.getBodyParts().add(addVariableValueAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ loopNode.getBodyParts().add(readLinkObjectEndAction);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ loopNode.getBodyParts().add(unmarshallAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ loopNode.getBodyParts().add(opaqueAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ loopNode.getBodyParts().add(sequenceNode);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ loopNode.getBodyParts().add(createObjectAction);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ loopNode.getBodyParts().add(destroyObjectAction);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ loopNode.getBodyParts().add(callBehaviorAction);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ loopNode.getBodyParts().add(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ loopNode.getBodyParts().add(readExtentAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ loopNode.getBodyParts().add(readStructuralFeatureAction);
+ }
+
+ public void testDecider() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ loopNode.setDecider(outputPin);
+ }
+
+ public void testLoopVariable() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ loopNode.getLoopVariables().add(outputPin);
+ assertSuperset(loopNode.getOwnedElements().contains(outputPin));
+ }
+
+ public void testLoopVariableInput() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ loopNode.getLoopVariableInputs().add(inputPin);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ loopNode.getLoopVariableInputs().add(valuePin);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ loopNode.getLoopVariableInputs().add(actionInputPin);
+ }
+
+ public void testResult() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ loopNode.getResults().add(outputPin);
+ }
+
+ public void testSetupPart() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ loopNode.getSetupParts().add(readIsClassifiedObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ loopNode.getSetupParts().add(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ loopNode.getSetupParts().add(removeVariableValueAction);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ loopNode.getSetupParts().add(addStructuralFeatureValueAction);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ loopNode.getSetupParts().add(readVariableAction);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ loopNode.getSetupParts().add(clearVariableAction);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ loopNode.getSetupParts().add(removeStructuralFeatureValueAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ loopNode.getSetupParts().add(createLinkAction);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ loopNode.getSetupParts().add(readSelfAction);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ loopNode.getSetupParts().add(reclassifyObjectAction);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ loopNode.getSetupParts().add(readLinkObjectEndQualifierAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ loopNode.getSetupParts().add(sendObjectAction);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ loopNode.getSetupParts().add(reduceAction);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ loopNode.getSetupParts().add(createLinkObjectAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ loopNode.getSetupParts().add(acceptEventAction);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ loopNode.getSetupParts().add(destroyLinkAction);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ loopNode.getSetupParts().add(sendSignalAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ loopNode.getSetupParts().add(readLinkAction);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ loopNode.getSetupParts().add(replyAction);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ loopNode.getSetupParts().add(testIdentityAction);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ loopNode.getSetupParts().add(clearAssociationAction);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ loopNode.getSetupParts().add(broadcastSignalAction);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ loopNode.getSetupParts().add(clearStructuralFeatureAction);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ loopNode.getSetupParts().add(expansionRegion);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ loopNode.getSetupParts().add(structuredActivityNode);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ loopNode.getSetupParts().add(raiseExceptionAction);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ loopNode.getSetupParts().add(startObjectBehaviorAction);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ loopNode.getSetupParts().add(callOperationAction);
+
+ LoopNode loopNode2 = UML.createLoopNode();
+ assertValid(loopNode2);
+ loopNode.getSetupParts().add(loopNode2);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ loopNode.getSetupParts().add(valueSpecificationAction);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ loopNode.getSetupParts().add(acceptCallAction);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ loopNode.getSetupParts().add(addVariableValueAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ loopNode.getSetupParts().add(readLinkObjectEndAction);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ loopNode.getSetupParts().add(unmarshallAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ loopNode.getSetupParts().add(opaqueAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ loopNode.getSetupParts().add(sequenceNode);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ loopNode.getSetupParts().add(createObjectAction);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ loopNode.getSetupParts().add(destroyObjectAction);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ loopNode.getSetupParts().add(callBehaviorAction);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ loopNode.getSetupParts().add(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ loopNode.getSetupParts().add(readExtentAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ loopNode.getSetupParts().add(readStructuralFeatureAction);
+ }
+
+ public void testTest() {
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ loopNode.getTests().add(readIsClassifiedObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ loopNode.getTests().add(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ loopNode.getTests().add(removeVariableValueAction);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ loopNode.getTests().add(addStructuralFeatureValueAction);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ loopNode.getTests().add(readVariableAction);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ loopNode.getTests().add(clearVariableAction);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ loopNode.getTests().add(removeStructuralFeatureValueAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ loopNode.getTests().add(createLinkAction);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ loopNode.getTests().add(readSelfAction);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ loopNode.getTests().add(reclassifyObjectAction);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ loopNode.getTests().add(readLinkObjectEndQualifierAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ loopNode.getTests().add(sendObjectAction);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ loopNode.getTests().add(reduceAction);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ loopNode.getTests().add(createLinkObjectAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ loopNode.getTests().add(acceptEventAction);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ loopNode.getTests().add(destroyLinkAction);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ loopNode.getTests().add(sendSignalAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ loopNode.getTests().add(readLinkAction);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ loopNode.getTests().add(replyAction);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ loopNode.getTests().add(testIdentityAction);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ loopNode.getTests().add(clearAssociationAction);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ loopNode.getTests().add(broadcastSignalAction);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ loopNode.getTests().add(clearStructuralFeatureAction);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ loopNode.getTests().add(expansionRegion);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ loopNode.getTests().add(structuredActivityNode);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ loopNode.getTests().add(raiseExceptionAction);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ loopNode.getTests().add(startObjectBehaviorAction);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ loopNode.getTests().add(callOperationAction);
+
+ LoopNode loopNode2 = UML.createLoopNode();
+ assertValid(loopNode2);
+ loopNode.getTests().add(loopNode2);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ loopNode.getTests().add(valueSpecificationAction);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ loopNode.getTests().add(acceptCallAction);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ loopNode.getTests().add(addVariableValueAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ loopNode.getTests().add(readLinkObjectEndAction);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ loopNode.getTests().add(unmarshallAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ loopNode.getTests().add(opaqueAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ loopNode.getTests().add(sequenceNode);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ loopNode.getTests().add(createObjectAction);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ loopNode.getTests().add(destroyObjectAction);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ loopNode.getTests().add(callBehaviorAction);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ loopNode.getTests().add(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ loopNode.getTests().add(readExtentAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ loopNode.getTests().add(readStructuralFeatureAction);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ManifestationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ManifestationTest.java
new file mode 100755
index 00000000..6911c84a
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ManifestationTest.java
@@ -0,0 +1,2658 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class ManifestationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ manifestation.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ manifestation.getOwnedComments().add(comment);
+ assertSuperset(manifestation.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ EList<Element> elements = manifestation.getOwnedElements();
+ EList<Element> elements2 = manifestation.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ EList<Dependency> dependencys = manifestation.getClientDependencies();
+ EList<Dependency> dependencys2 = manifestation.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ manifestation.setNameExpression(stringExpression);
+ assertSuperset(
+ manifestation.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ manifestation.setOwningTemplateParameter(templateParameter);
+ assertSuperset(manifestation.getOwner() == templateParameter);
+ assertSuperset(
+ manifestation.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ manifestation.setTemplateParameter(templateParameter);
+ }
+
+ public void testRelatedElement() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ EList<Element> elements = manifestation.getRelatedElements();
+ EList<Element> elements2 = manifestation.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ EList<Element> elements = manifestation.getSources();
+ EList<Element> elements2 = manifestation.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ EList<Element> elements = manifestation.getTargets();
+ EList<Element> elements2 = manifestation.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testClient() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ manifestation.getClients().add(activity);
+ assertSuperset(manifestation.getSources().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ manifestation.getClients().add(communicationPath);
+ assertSuperset(manifestation.getSources().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ manifestation.getClients().add(readSelfAction);
+ assertSuperset(manifestation.getSources().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ manifestation.getClients().add(activityPartition);
+ assertSuperset(manifestation.getSources().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ manifestation.getClients().add(inputPin);
+ assertSuperset(manifestation.getSources().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ manifestation.getClients().add(readLinkObjectEndQualifierAction);
+ assertSuperset(manifestation.getSources()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ manifestation.getClients().add(component);
+ assertSuperset(manifestation.getSources().contains(component));
+
+ Manifestation manifestation2 = UML.createManifestation();
+ assertValid(manifestation2);
+ manifestation.getClients().add(manifestation2);
+ assertSuperset(manifestation.getSources().contains(manifestation2));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ manifestation.getClients().add(durationObservation);
+ assertSuperset(
+ manifestation.getSources().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ manifestation.getClients().add(callEvent);
+ assertSuperset(manifestation.getSources().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ manifestation.getClients().add(joinNode);
+ assertSuperset(manifestation.getSources().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ manifestation.getClients().add(interaction);
+ assertSuperset(manifestation.getSources().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ manifestation.getClients().add(createLinkObjectAction);
+ assertSuperset(
+ manifestation.getSources().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ manifestation.getClients().add(opaqueBehavior);
+ assertSuperset(manifestation.getSources().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ manifestation.getClients().add(literalUnlimitedNatural);
+ assertSuperset(
+ manifestation.getSources().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ manifestation.getClients().add(sendSignalAction);
+ assertSuperset(manifestation.getSources().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ manifestation.getClients().add(readLinkAction);
+ assertSuperset(manifestation.getSources().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ manifestation.getClients().add(operation);
+ assertSuperset(manifestation.getSources().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ manifestation.getClients().add(clearAssociationAction);
+ assertSuperset(
+ manifestation.getSources().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ manifestation.getClients().add(model);
+ assertSuperset(manifestation.getSources().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ manifestation.getClients().add(parameter);
+ assertSuperset(manifestation.getSources().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ manifestation.getClients().add(instanceValue);
+ assertSuperset(manifestation.getSources().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ manifestation.getClients().add(trigger);
+ assertSuperset(manifestation.getSources().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ manifestation.getClients().add(interactionConstraint);
+ assertSuperset(
+ manifestation.getSources().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ manifestation.getClients().add(associationClass);
+ assertSuperset(manifestation.getSources().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ manifestation.getClients().add(interactionUse);
+ assertSuperset(manifestation.getSources().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ manifestation.getClients().add(clearStructuralFeatureAction);
+ assertSuperset(
+ manifestation.getSources().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ manifestation.getClients().add(interval);
+ assertSuperset(manifestation.getSources().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ manifestation.getClients().add(structuredActivityNode);
+ assertSuperset(
+ manifestation.getSources().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ manifestation.getClients().add(literalString);
+ assertSuperset(manifestation.getSources().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ manifestation.getClients().add(valuePin);
+ assertSuperset(manifestation.getSources().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ manifestation.getClients().add(interfaceRealization);
+ assertSuperset(
+ manifestation.getSources().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ manifestation.getClients().add(forkNode);
+ assertSuperset(manifestation.getSources().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ manifestation.getClients().add(decisionNode);
+ assertSuperset(manifestation.getSources().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ manifestation.getClients().add(actor);
+ assertSuperset(manifestation.getSources().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ manifestation.getClients().add(timeConstraint);
+ assertSuperset(manifestation.getSources().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ manifestation.getClients().add(reception);
+ assertSuperset(manifestation.getSources().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ manifestation.getClients().add(pseudostate);
+ assertSuperset(manifestation.getSources().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ manifestation.getClients().add(durationInterval);
+ assertSuperset(manifestation.getSources().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ manifestation.getClients().add(deployment);
+ assertSuperset(manifestation.getSources().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ manifestation.getClients().add(extensionEnd);
+ assertSuperset(manifestation.getSources().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ manifestation.getClients().add(considerIgnoreFragment);
+ assertSuperset(
+ manifestation.getSources().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ manifestation.getClients().add(conditionalNode);
+ assertSuperset(manifestation.getSources().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ manifestation.getClients().add(readExtentAction);
+ assertSuperset(manifestation.getSources().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ manifestation.getClients().add(actionInputPin);
+ assertSuperset(manifestation.getSources().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ manifestation.getClients().add(artifact);
+ assertSuperset(manifestation.getSources().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ manifestation.getClients().add(informationFlow);
+ assertSuperset(manifestation.getSources().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ manifestation.getClients().add(clearVariableAction);
+ assertSuperset(
+ manifestation.getSources().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ manifestation.getClients().add(createLinkAction);
+ assertSuperset(manifestation.getSources().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ manifestation.getClients().add(signalEvent);
+ assertSuperset(manifestation.getSources().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ manifestation.getClients().add(connectionPointReference);
+ assertSuperset(
+ manifestation.getSources().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ manifestation.getClients().add(reclassifyObjectAction);
+ assertSuperset(
+ manifestation.getSources().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ manifestation.getClients().add(usage);
+ assertSuperset(manifestation.getSources().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ manifestation.getClients().add(dataStoreNode);
+ assertSuperset(manifestation.getSources().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ manifestation.getClients().add(executionEnvironment);
+ assertSuperset(
+ manifestation.getSources().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ manifestation.getClients().add(sendObjectAction);
+ assertSuperset(manifestation.getSources().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ manifestation.getClients().add(controlFlow);
+ assertSuperset(manifestation.getSources().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ manifestation.getClients().add(deploymentSpecification);
+ assertSuperset(
+ manifestation.getSources().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ manifestation.getClients().add(partDecomposition);
+ assertSuperset(manifestation.getSources().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ manifestation.getClients().add(destroyLinkAction);
+ assertSuperset(manifestation.getSources().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ manifestation.getClients().add(realization);
+ assertSuperset(manifestation.getSources().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ manifestation.getClients().add(expansionNode);
+ assertSuperset(manifestation.getSources().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ manifestation.getClients().add(testIdentityAction);
+ assertSuperset(manifestation.getSources().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ manifestation.getClients().add(association);
+ assertSuperset(manifestation.getSources().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ manifestation.getClients().add(timeInterval);
+ assertSuperset(manifestation.getSources().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ manifestation.getClients().add(dataType);
+ assertSuperset(manifestation.getSources().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ manifestation.getClients().add(outputPin);
+ assertSuperset(manifestation.getSources().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ manifestation.getClients().add(substitution);
+ assertSuperset(manifestation.getSources().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ manifestation.getClients().add(include);
+ assertSuperset(manifestation.getSources().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ manifestation.getClients().add(extend);
+ assertSuperset(manifestation.getSources().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ manifestation.getClients().add(broadcastSignalAction);
+ assertSuperset(
+ manifestation.getSources().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ manifestation.getClients().add(literalBoolean);
+ assertSuperset(manifestation.getSources().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ manifestation.getClients().add(finalState);
+ assertSuperset(manifestation.getSources().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ manifestation.getClients().add(raiseExceptionAction);
+ assertSuperset(
+ manifestation.getSources().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ manifestation.getClients().add(durationConstraint);
+ assertSuperset(manifestation.getSources().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ manifestation.getClients().add(activityFinalNode);
+ assertSuperset(manifestation.getSources().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ manifestation.getClients().add(literalNull);
+ assertSuperset(manifestation.getSources().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ manifestation.getClients().add(callOperationAction);
+ assertSuperset(
+ manifestation.getSources().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ manifestation.getClients().add(protocolStateMachine);
+ assertSuperset(
+ manifestation.getSources().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ manifestation.getClients().add(loopNode);
+ assertSuperset(manifestation.getSources().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ manifestation.getClients().add(parameterSet);
+ assertSuperset(manifestation.getSources().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ manifestation.getClients().add(valueSpecificationAction);
+ assertSuperset(
+ manifestation.getSources().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ manifestation.getClients().add(node);
+ assertSuperset(manifestation.getSources().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ manifestation.getClients().add(sequenceNode);
+ assertSuperset(manifestation.getSources().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ manifestation.getClients().add(constraint);
+ assertSuperset(manifestation.getSources().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ manifestation.getClients().add(destroyObjectAction);
+ assertSuperset(
+ manifestation.getSources().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ manifestation.getClients().add(stateMachine);
+ assertSuperset(manifestation.getSources().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ manifestation.getClients().add(enumerationLiteral);
+ assertSuperset(manifestation.getSources().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ manifestation.getClients().add(actionExecutionSpecification);
+ assertSuperset(
+ manifestation.getSources().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ manifestation.getClients().add(functionBehavior);
+ assertSuperset(manifestation.getSources().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ manifestation.getClients().add(interface_);
+ assertSuperset(manifestation.getSources().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ manifestation.getClients().add(instanceSpecification);
+ assertSuperset(
+ manifestation.getSources().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ manifestation.getClients().add(startClassifierBehaviorAction);
+ assertSuperset(
+ manifestation.getSources().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ manifestation.getClients().add(port);
+ assertSuperset(manifestation.getSources().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ manifestation.getClients().add(removeVariableValueAction);
+ assertSuperset(
+ manifestation.getSources().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ manifestation.getClients().add(informationItem);
+ assertSuperset(manifestation.getSources().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ manifestation.getClients().add(literalReal);
+ assertSuperset(manifestation.getSources().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ manifestation.getClients().add(redefinableTemplateSignature);
+ assertSuperset(
+ manifestation.getSources().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ manifestation.getClients().add(executionOccurrenceSpecification);
+ assertSuperset(manifestation.getSources()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ manifestation.getClients().add(duration);
+ assertSuperset(manifestation.getSources().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ manifestation.getClients().add(package_);
+ assertSuperset(manifestation.getSources().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ manifestation.getClients().add(variable);
+ assertSuperset(manifestation.getSources().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ manifestation.getClients().add(destructionOccurrenceSpecification);
+ assertSuperset(manifestation.getSources()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ manifestation.getClients().add(lifeline);
+ assertSuperset(manifestation.getSources().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ manifestation.getClients().add(timeObservation);
+ assertSuperset(manifestation.getSources().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ manifestation.getClients().add(replyAction);
+ assertSuperset(manifestation.getSources().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ manifestation.getClients().add(gate);
+ assertSuperset(manifestation.getSources().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ manifestation.getClients().add(property);
+ assertSuperset(manifestation.getSources().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ manifestation.getClients().add(timeExpression);
+ assertSuperset(manifestation.getSources().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ manifestation.getClients().add(device);
+ assertSuperset(manifestation.getSources().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ manifestation.getClients().add(flowFinalNode);
+ assertSuperset(manifestation.getSources().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ manifestation.getClients().add(expansionRegion);
+ assertSuperset(manifestation.getSources().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ manifestation.getClients().add(abstraction);
+ assertSuperset(manifestation.getSources().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ manifestation.getClients().add(startObjectBehaviorAction);
+ assertSuperset(
+ manifestation.getSources().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ manifestation.getClients().add(enumeration);
+ assertSuperset(manifestation.getSources().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ manifestation.getClients().add(primitiveType);
+ assertSuperset(manifestation.getSources().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ manifestation.getClients().add(profile);
+ assertSuperset(manifestation.getSources().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ manifestation.getClients().add(message);
+ assertSuperset(manifestation.getSources().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ manifestation.getClients().add(generalizationSet);
+ assertSuperset(manifestation.getSources().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ manifestation.getClients().add(continuation);
+ assertSuperset(manifestation.getSources().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ manifestation.getClients().add(signal);
+ assertSuperset(manifestation.getSources().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ manifestation.getClients().add(callBehaviorAction);
+ assertSuperset(manifestation.getSources().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ manifestation.getClients().add(objectFlow);
+ assertSuperset(manifestation.getSources().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ manifestation.getClients().add(stateInvariant);
+ assertSuperset(manifestation.getSources().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ manifestation.getClients().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ manifestation.getSources().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ manifestation.getClients().add(activityParameterNode);
+ assertSuperset(
+ manifestation.getSources().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ manifestation.getClients().add(addStructuralFeatureValueAction);
+ assertSuperset(manifestation.getSources()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ manifestation.getClients().add(readVariableAction);
+ assertSuperset(manifestation.getSources().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ manifestation.getClients().add(interruptibleActivityRegion);
+ assertSuperset(
+ manifestation.getSources().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ manifestation.getClients().add(removeStructuralFeatureValueAction);
+ assertSuperset(manifestation.getSources()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ manifestation.getClients().add(opaqueExpression);
+ assertSuperset(manifestation.getSources().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ manifestation.getClients().add(timeEvent);
+ assertSuperset(manifestation.getSources().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ manifestation.getClients().add(generalOrdering);
+ assertSuperset(manifestation.getSources().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ manifestation.getClients().add(region);
+ assertSuperset(manifestation.getSources().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ manifestation.getClients().add(transition);
+ assertSuperset(manifestation.getSources().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ manifestation.getClients().add(anyReceiveEvent);
+ assertSuperset(manifestation.getSources().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ manifestation.getClients().add(messageOccurrenceSpecification);
+ assertSuperset(manifestation.getSources()
+ .contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ manifestation.getClients().add(literalInteger);
+ assertSuperset(manifestation.getSources().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ manifestation.getClients().add(reduceAction);
+ assertSuperset(manifestation.getSources().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ manifestation.getClients().add(acceptEventAction);
+ assertSuperset(manifestation.getSources().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ manifestation.getClients().add(initialNode);
+ assertSuperset(manifestation.getSources().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ manifestation.getClients().add(centralBufferNode);
+ assertSuperset(manifestation.getSources().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ manifestation.getClients().add(combinedFragment);
+ assertSuperset(manifestation.getSources().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ manifestation.getClients().add(intervalConstraint);
+ assertSuperset(manifestation.getSources().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ manifestation.getClients().add(extension);
+ assertSuperset(manifestation.getSources().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ manifestation.getClients().add(occurrenceSpecification);
+ assertSuperset(
+ manifestation.getSources().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ manifestation.getClients().add(extensionPoint);
+ assertSuperset(manifestation.getSources().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ manifestation.getClients().add(dependency);
+ assertSuperset(manifestation.getSources().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ manifestation.getClients().add(connector);
+ assertSuperset(manifestation.getSources().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ manifestation.getClients().add(expression);
+ assertSuperset(manifestation.getSources().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ manifestation.getClients().add(componentRealization);
+ assertSuperset(
+ manifestation.getSources().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ manifestation.getClients().add(class_);
+ assertSuperset(manifestation.getSources().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ manifestation.getClients().add(state);
+ assertSuperset(manifestation.getSources().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ manifestation.getClients().add(protocolTransition);
+ assertSuperset(manifestation.getSources().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ manifestation.getClients().add(behaviorExecutionSpecification);
+ assertSuperset(manifestation.getSources()
+ .contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ manifestation.getClients().add(collaborationUse);
+ assertSuperset(manifestation.getSources().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ manifestation.getClients().add(interactionOperand);
+ assertSuperset(manifestation.getSources().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ manifestation.getClients().add(acceptCallAction);
+ assertSuperset(manifestation.getSources().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ manifestation.getClients().add(addVariableValueAction);
+ assertSuperset(
+ manifestation.getSources().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ manifestation.getClients().add(readLinkObjectEndAction);
+ assertSuperset(
+ manifestation.getSources().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ manifestation.getClients().add(useCase);
+ assertSuperset(manifestation.getSources().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ manifestation.getClients().add(unmarshallAction);
+ assertSuperset(manifestation.getSources().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ manifestation.getClients().add(opaqueAction);
+ assertSuperset(manifestation.getSources().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ manifestation.getClients().add(stringExpression);
+ assertSuperset(manifestation.getSources().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ manifestation.getClients().add(mergeNode);
+ assertSuperset(manifestation.getSources().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ manifestation.getClients().add(changeEvent);
+ assertSuperset(manifestation.getSources().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ manifestation.getClients().add(createObjectAction);
+ assertSuperset(manifestation.getSources().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ manifestation.getClients().add(stereotype);
+ assertSuperset(manifestation.getSources().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ manifestation.getClients().add(readStructuralFeatureAction);
+ assertSuperset(
+ manifestation.getSources().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ manifestation.getClients().add(collaboration);
+ assertSuperset(manifestation.getSources().contains(collaboration));
+ }
+
+ public void testSupplier() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ manifestation.getSuppliers().add(activity);
+ assertSuperset(manifestation.getTargets().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ manifestation.getSuppliers().add(communicationPath);
+ assertSuperset(manifestation.getTargets().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ manifestation.getSuppliers().add(readSelfAction);
+ assertSuperset(manifestation.getTargets().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ manifestation.getSuppliers().add(activityPartition);
+ assertSuperset(manifestation.getTargets().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ manifestation.getSuppliers().add(inputPin);
+ assertSuperset(manifestation.getTargets().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ manifestation.getSuppliers().add(readLinkObjectEndQualifierAction);
+ assertSuperset(manifestation.getTargets()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ manifestation.getSuppliers().add(component);
+ assertSuperset(manifestation.getTargets().contains(component));
+
+ Manifestation manifestation2 = UML.createManifestation();
+ assertValid(manifestation2);
+ manifestation.getSuppliers().add(manifestation2);
+ assertSuperset(manifestation.getTargets().contains(manifestation2));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ manifestation.getSuppliers().add(durationObservation);
+ assertSuperset(
+ manifestation.getTargets().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ manifestation.getSuppliers().add(callEvent);
+ assertSuperset(manifestation.getTargets().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ manifestation.getSuppliers().add(joinNode);
+ assertSuperset(manifestation.getTargets().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ manifestation.getSuppliers().add(interaction);
+ assertSuperset(manifestation.getTargets().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ manifestation.getSuppliers().add(createLinkObjectAction);
+ assertSuperset(
+ manifestation.getTargets().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ manifestation.getSuppliers().add(opaqueBehavior);
+ assertSuperset(manifestation.getTargets().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ manifestation.getSuppliers().add(literalUnlimitedNatural);
+ assertSuperset(
+ manifestation.getTargets().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ manifestation.getSuppliers().add(sendSignalAction);
+ assertSuperset(manifestation.getTargets().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ manifestation.getSuppliers().add(readLinkAction);
+ assertSuperset(manifestation.getTargets().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ manifestation.getSuppliers().add(operation);
+ assertSuperset(manifestation.getTargets().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ manifestation.getSuppliers().add(clearAssociationAction);
+ assertSuperset(
+ manifestation.getTargets().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ manifestation.getSuppliers().add(model);
+ assertSuperset(manifestation.getTargets().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ manifestation.getSuppliers().add(parameter);
+ assertSuperset(manifestation.getTargets().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ manifestation.getSuppliers().add(instanceValue);
+ assertSuperset(manifestation.getTargets().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ manifestation.getSuppliers().add(trigger);
+ assertSuperset(manifestation.getTargets().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ manifestation.getSuppliers().add(interactionConstraint);
+ assertSuperset(
+ manifestation.getTargets().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ manifestation.getSuppliers().add(associationClass);
+ assertSuperset(manifestation.getTargets().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ manifestation.getSuppliers().add(interactionUse);
+ assertSuperset(manifestation.getTargets().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ manifestation.getSuppliers().add(clearStructuralFeatureAction);
+ assertSuperset(
+ manifestation.getTargets().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ manifestation.getSuppliers().add(interval);
+ assertSuperset(manifestation.getTargets().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ manifestation.getSuppliers().add(structuredActivityNode);
+ assertSuperset(
+ manifestation.getTargets().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ manifestation.getSuppliers().add(literalString);
+ assertSuperset(manifestation.getTargets().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ manifestation.getSuppliers().add(valuePin);
+ assertSuperset(manifestation.getTargets().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ manifestation.getSuppliers().add(interfaceRealization);
+ assertSuperset(
+ manifestation.getTargets().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ manifestation.getSuppliers().add(forkNode);
+ assertSuperset(manifestation.getTargets().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ manifestation.getSuppliers().add(decisionNode);
+ assertSuperset(manifestation.getTargets().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ manifestation.getSuppliers().add(actor);
+ assertSuperset(manifestation.getTargets().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ manifestation.getSuppliers().add(timeConstraint);
+ assertSuperset(manifestation.getTargets().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ manifestation.getSuppliers().add(reception);
+ assertSuperset(manifestation.getTargets().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ manifestation.getSuppliers().add(pseudostate);
+ assertSuperset(manifestation.getTargets().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ manifestation.getSuppliers().add(durationInterval);
+ assertSuperset(manifestation.getTargets().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ manifestation.getSuppliers().add(deployment);
+ assertSuperset(manifestation.getTargets().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ manifestation.getSuppliers().add(extensionEnd);
+ assertSuperset(manifestation.getTargets().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ manifestation.getSuppliers().add(considerIgnoreFragment);
+ assertSuperset(
+ manifestation.getTargets().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ manifestation.getSuppliers().add(conditionalNode);
+ assertSuperset(manifestation.getTargets().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ manifestation.getSuppliers().add(readExtentAction);
+ assertSuperset(manifestation.getTargets().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ manifestation.getSuppliers().add(actionInputPin);
+ assertSuperset(manifestation.getTargets().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ manifestation.getSuppliers().add(artifact);
+ assertSuperset(manifestation.getTargets().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ manifestation.getSuppliers().add(informationFlow);
+ assertSuperset(manifestation.getTargets().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ manifestation.getSuppliers().add(clearVariableAction);
+ assertSuperset(
+ manifestation.getTargets().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ manifestation.getSuppliers().add(createLinkAction);
+ assertSuperset(manifestation.getTargets().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ manifestation.getSuppliers().add(signalEvent);
+ assertSuperset(manifestation.getTargets().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ manifestation.getSuppliers().add(connectionPointReference);
+ assertSuperset(
+ manifestation.getTargets().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ manifestation.getSuppliers().add(reclassifyObjectAction);
+ assertSuperset(
+ manifestation.getTargets().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ manifestation.getSuppliers().add(usage);
+ assertSuperset(manifestation.getTargets().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ manifestation.getSuppliers().add(dataStoreNode);
+ assertSuperset(manifestation.getTargets().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ manifestation.getSuppliers().add(executionEnvironment);
+ assertSuperset(
+ manifestation.getTargets().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ manifestation.getSuppliers().add(sendObjectAction);
+ assertSuperset(manifestation.getTargets().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ manifestation.getSuppliers().add(controlFlow);
+ assertSuperset(manifestation.getTargets().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ manifestation.getSuppliers().add(deploymentSpecification);
+ assertSuperset(
+ manifestation.getTargets().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ manifestation.getSuppliers().add(partDecomposition);
+ assertSuperset(manifestation.getTargets().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ manifestation.getSuppliers().add(destroyLinkAction);
+ assertSuperset(manifestation.getTargets().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ manifestation.getSuppliers().add(realization);
+ assertSuperset(manifestation.getTargets().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ manifestation.getSuppliers().add(expansionNode);
+ assertSuperset(manifestation.getTargets().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ manifestation.getSuppliers().add(testIdentityAction);
+ assertSuperset(manifestation.getTargets().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ manifestation.getSuppliers().add(association);
+ assertSuperset(manifestation.getTargets().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ manifestation.getSuppliers().add(timeInterval);
+ assertSuperset(manifestation.getTargets().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ manifestation.getSuppliers().add(dataType);
+ assertSuperset(manifestation.getTargets().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ manifestation.getSuppliers().add(outputPin);
+ assertSuperset(manifestation.getTargets().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ manifestation.getSuppliers().add(substitution);
+ assertSuperset(manifestation.getTargets().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ manifestation.getSuppliers().add(include);
+ assertSuperset(manifestation.getTargets().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ manifestation.getSuppliers().add(extend);
+ assertSuperset(manifestation.getTargets().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ manifestation.getSuppliers().add(broadcastSignalAction);
+ assertSuperset(
+ manifestation.getTargets().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ manifestation.getSuppliers().add(literalBoolean);
+ assertSuperset(manifestation.getTargets().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ manifestation.getSuppliers().add(finalState);
+ assertSuperset(manifestation.getTargets().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ manifestation.getSuppliers().add(raiseExceptionAction);
+ assertSuperset(
+ manifestation.getTargets().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ manifestation.getSuppliers().add(durationConstraint);
+ assertSuperset(manifestation.getTargets().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ manifestation.getSuppliers().add(activityFinalNode);
+ assertSuperset(manifestation.getTargets().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ manifestation.getSuppliers().add(literalNull);
+ assertSuperset(manifestation.getTargets().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ manifestation.getSuppliers().add(callOperationAction);
+ assertSuperset(
+ manifestation.getTargets().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ manifestation.getSuppliers().add(protocolStateMachine);
+ assertSuperset(
+ manifestation.getTargets().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ manifestation.getSuppliers().add(loopNode);
+ assertSuperset(manifestation.getTargets().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ manifestation.getSuppliers().add(parameterSet);
+ assertSuperset(manifestation.getTargets().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ manifestation.getSuppliers().add(valueSpecificationAction);
+ assertSuperset(
+ manifestation.getTargets().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ manifestation.getSuppliers().add(node);
+ assertSuperset(manifestation.getTargets().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ manifestation.getSuppliers().add(sequenceNode);
+ assertSuperset(manifestation.getTargets().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ manifestation.getSuppliers().add(constraint);
+ assertSuperset(manifestation.getTargets().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ manifestation.getSuppliers().add(destroyObjectAction);
+ assertSuperset(
+ manifestation.getTargets().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ manifestation.getSuppliers().add(stateMachine);
+ assertSuperset(manifestation.getTargets().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ manifestation.getSuppliers().add(enumerationLiteral);
+ assertSuperset(manifestation.getTargets().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ manifestation.getSuppliers().add(actionExecutionSpecification);
+ assertSuperset(
+ manifestation.getTargets().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ manifestation.getSuppliers().add(functionBehavior);
+ assertSuperset(manifestation.getTargets().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ manifestation.getSuppliers().add(interface_);
+ assertSuperset(manifestation.getTargets().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ manifestation.getSuppliers().add(instanceSpecification);
+ assertSuperset(
+ manifestation.getTargets().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ manifestation.getSuppliers().add(startClassifierBehaviorAction);
+ assertSuperset(
+ manifestation.getTargets().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ manifestation.getSuppliers().add(port);
+ assertSuperset(manifestation.getTargets().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ manifestation.getSuppliers().add(removeVariableValueAction);
+ assertSuperset(
+ manifestation.getTargets().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ manifestation.getSuppliers().add(informationItem);
+ assertSuperset(manifestation.getTargets().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ manifestation.getSuppliers().add(literalReal);
+ assertSuperset(manifestation.getTargets().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ manifestation.getSuppliers().add(redefinableTemplateSignature);
+ assertSuperset(
+ manifestation.getTargets().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ manifestation.getSuppliers().add(executionOccurrenceSpecification);
+ assertSuperset(manifestation.getTargets()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ manifestation.getSuppliers().add(duration);
+ assertSuperset(manifestation.getTargets().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ manifestation.getSuppliers().add(package_);
+ assertSuperset(manifestation.getTargets().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ manifestation.getSuppliers().add(variable);
+ assertSuperset(manifestation.getTargets().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ manifestation.getSuppliers().add(destructionOccurrenceSpecification);
+ assertSuperset(manifestation.getTargets()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ manifestation.getSuppliers().add(lifeline);
+ assertSuperset(manifestation.getTargets().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ manifestation.getSuppliers().add(timeObservation);
+ assertSuperset(manifestation.getTargets().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ manifestation.getSuppliers().add(replyAction);
+ assertSuperset(manifestation.getTargets().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ manifestation.getSuppliers().add(gate);
+ assertSuperset(manifestation.getTargets().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ manifestation.getSuppliers().add(property);
+ assertSuperset(manifestation.getTargets().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ manifestation.getSuppliers().add(timeExpression);
+ assertSuperset(manifestation.getTargets().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ manifestation.getSuppliers().add(device);
+ assertSuperset(manifestation.getTargets().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ manifestation.getSuppliers().add(flowFinalNode);
+ assertSuperset(manifestation.getTargets().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ manifestation.getSuppliers().add(expansionRegion);
+ assertSuperset(manifestation.getTargets().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ manifestation.getSuppliers().add(abstraction);
+ assertSuperset(manifestation.getTargets().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ manifestation.getSuppliers().add(startObjectBehaviorAction);
+ assertSuperset(
+ manifestation.getTargets().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ manifestation.getSuppliers().add(enumeration);
+ assertSuperset(manifestation.getTargets().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ manifestation.getSuppliers().add(primitiveType);
+ assertSuperset(manifestation.getTargets().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ manifestation.getSuppliers().add(profile);
+ assertSuperset(manifestation.getTargets().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ manifestation.getSuppliers().add(message);
+ assertSuperset(manifestation.getTargets().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ manifestation.getSuppliers().add(generalizationSet);
+ assertSuperset(manifestation.getTargets().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ manifestation.getSuppliers().add(continuation);
+ assertSuperset(manifestation.getTargets().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ manifestation.getSuppliers().add(signal);
+ assertSuperset(manifestation.getTargets().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ manifestation.getSuppliers().add(callBehaviorAction);
+ assertSuperset(manifestation.getTargets().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ manifestation.getSuppliers().add(objectFlow);
+ assertSuperset(manifestation.getTargets().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ manifestation.getSuppliers().add(stateInvariant);
+ assertSuperset(manifestation.getTargets().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ manifestation.getSuppliers().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ manifestation.getTargets().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ manifestation.getSuppliers().add(activityParameterNode);
+ assertSuperset(
+ manifestation.getTargets().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ manifestation.getSuppliers().add(addStructuralFeatureValueAction);
+ assertSuperset(manifestation.getTargets()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ manifestation.getSuppliers().add(readVariableAction);
+ assertSuperset(manifestation.getTargets().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ manifestation.getSuppliers().add(interruptibleActivityRegion);
+ assertSuperset(
+ manifestation.getTargets().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ manifestation.getSuppliers().add(removeStructuralFeatureValueAction);
+ assertSuperset(manifestation.getTargets()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ manifestation.getSuppliers().add(opaqueExpression);
+ assertSuperset(manifestation.getTargets().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ manifestation.getSuppliers().add(timeEvent);
+ assertSuperset(manifestation.getTargets().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ manifestation.getSuppliers().add(generalOrdering);
+ assertSuperset(manifestation.getTargets().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ manifestation.getSuppliers().add(region);
+ assertSuperset(manifestation.getTargets().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ manifestation.getSuppliers().add(transition);
+ assertSuperset(manifestation.getTargets().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ manifestation.getSuppliers().add(anyReceiveEvent);
+ assertSuperset(manifestation.getTargets().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ manifestation.getSuppliers().add(messageOccurrenceSpecification);
+ assertSuperset(manifestation.getTargets()
+ .contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ manifestation.getSuppliers().add(literalInteger);
+ assertSuperset(manifestation.getTargets().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ manifestation.getSuppliers().add(reduceAction);
+ assertSuperset(manifestation.getTargets().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ manifestation.getSuppliers().add(acceptEventAction);
+ assertSuperset(manifestation.getTargets().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ manifestation.getSuppliers().add(initialNode);
+ assertSuperset(manifestation.getTargets().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ manifestation.getSuppliers().add(centralBufferNode);
+ assertSuperset(manifestation.getTargets().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ manifestation.getSuppliers().add(combinedFragment);
+ assertSuperset(manifestation.getTargets().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ manifestation.getSuppliers().add(intervalConstraint);
+ assertSuperset(manifestation.getTargets().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ manifestation.getSuppliers().add(extension);
+ assertSuperset(manifestation.getTargets().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ manifestation.getSuppliers().add(occurrenceSpecification);
+ assertSuperset(
+ manifestation.getTargets().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ manifestation.getSuppliers().add(extensionPoint);
+ assertSuperset(manifestation.getTargets().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ manifestation.getSuppliers().add(dependency);
+ assertSuperset(manifestation.getTargets().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ manifestation.getSuppliers().add(connector);
+ assertSuperset(manifestation.getTargets().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ manifestation.getSuppliers().add(expression);
+ assertSuperset(manifestation.getTargets().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ manifestation.getSuppliers().add(componentRealization);
+ assertSuperset(
+ manifestation.getTargets().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ manifestation.getSuppliers().add(class_);
+ assertSuperset(manifestation.getTargets().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ manifestation.getSuppliers().add(state);
+ assertSuperset(manifestation.getTargets().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ manifestation.getSuppliers().add(protocolTransition);
+ assertSuperset(manifestation.getTargets().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ manifestation.getSuppliers().add(behaviorExecutionSpecification);
+ assertSuperset(manifestation.getTargets()
+ .contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ manifestation.getSuppliers().add(collaborationUse);
+ assertSuperset(manifestation.getTargets().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ manifestation.getSuppliers().add(interactionOperand);
+ assertSuperset(manifestation.getTargets().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ manifestation.getSuppliers().add(acceptCallAction);
+ assertSuperset(manifestation.getTargets().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ manifestation.getSuppliers().add(addVariableValueAction);
+ assertSuperset(
+ manifestation.getTargets().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ manifestation.getSuppliers().add(readLinkObjectEndAction);
+ assertSuperset(
+ manifestation.getTargets().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ manifestation.getSuppliers().add(useCase);
+ assertSuperset(manifestation.getTargets().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ manifestation.getSuppliers().add(unmarshallAction);
+ assertSuperset(manifestation.getTargets().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ manifestation.getSuppliers().add(opaqueAction);
+ assertSuperset(manifestation.getTargets().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ manifestation.getSuppliers().add(stringExpression);
+ assertSuperset(manifestation.getTargets().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ manifestation.getSuppliers().add(mergeNode);
+ assertSuperset(manifestation.getTargets().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ manifestation.getSuppliers().add(changeEvent);
+ assertSuperset(manifestation.getTargets().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ manifestation.getSuppliers().add(createObjectAction);
+ assertSuperset(manifestation.getTargets().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ manifestation.getSuppliers().add(stereotype);
+ assertSuperset(manifestation.getTargets().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ manifestation.getSuppliers().add(readStructuralFeatureAction);
+ assertSuperset(
+ manifestation.getTargets().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ manifestation.getSuppliers().add(collaboration);
+ assertSuperset(manifestation.getTargets().contains(collaboration));
+ }
+
+ public void testMapping() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ manifestation.setMapping(opaqueExpression);
+ assertSuperset(
+ manifestation.getOwnedElements().contains(opaqueExpression));
+ }
+
+ public void testUtilizedElement() {
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ manifestation.setUtilizedElement(functionBehavior);
+ assertSuperset(manifestation.getSuppliers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ manifestation.setUtilizedElement(activity);
+ assertSuperset(manifestation.getSuppliers().contains(activity));
+
+ Manifestation manifestation2 = UML.createManifestation();
+ assertValid(manifestation2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ manifestation2.setUtilizedElement(interface_);
+ assertSuperset(manifestation2.getSuppliers().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ manifestation2.setUtilizedElement(instanceSpecification);
+ assertSuperset(
+ manifestation2.getSuppliers().contains(instanceSpecification));
+
+ Manifestation manifestation3 = UML.createManifestation();
+ assertValid(manifestation3);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ manifestation3.setUtilizedElement(informationItem);
+ assertSuperset(manifestation3.getSuppliers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ manifestation3.setUtilizedElement(communicationPath);
+ assertSuperset(
+ manifestation3.getSuppliers().contains(communicationPath));
+
+ Manifestation manifestation4 = UML.createManifestation();
+ assertValid(manifestation4);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ manifestation4.setUtilizedElement(literalReal);
+ assertSuperset(manifestation4.getSuppliers().contains(literalReal));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ manifestation4.setUtilizedElement(component);
+ assertSuperset(manifestation4.getSuppliers().contains(component));
+
+ Manifestation manifestation5 = UML.createManifestation();
+ assertValid(manifestation5);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ manifestation5.setUtilizedElement(duration);
+ assertSuperset(manifestation5.getSuppliers().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ manifestation5.setUtilizedElement(package_);
+ assertSuperset(manifestation5.getSuppliers().contains(package_));
+
+ Manifestation manifestation6 = UML.createManifestation();
+ assertValid(manifestation6);
+
+ Manifestation manifestation7 = UML.createManifestation();
+ assertValid(manifestation7);
+ manifestation6.setUtilizedElement(manifestation7);
+ assertSuperset(manifestation6.getSuppliers().contains(manifestation7));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ manifestation6.setUtilizedElement(durationObservation);
+ assertSuperset(
+ manifestation6.getSuppliers().contains(durationObservation));
+
+ Manifestation manifestation8 = UML.createManifestation();
+ assertValid(manifestation8);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ manifestation8.setUtilizedElement(callEvent);
+ assertSuperset(manifestation8.getSuppliers().contains(callEvent));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ manifestation8.setUtilizedElement(interaction);
+ assertSuperset(manifestation8.getSuppliers().contains(interaction));
+
+ Manifestation manifestation9 = UML.createManifestation();
+ assertValid(manifestation9);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ manifestation9.setUtilizedElement(opaqueBehavior);
+ assertSuperset(manifestation9.getSuppliers().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ manifestation9.setUtilizedElement(literalUnlimitedNatural);
+ assertSuperset(
+ manifestation9.getSuppliers().contains(literalUnlimitedNatural));
+
+ Manifestation manifestation10 = UML.createManifestation();
+ assertValid(manifestation10);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ manifestation10.setUtilizedElement(timeObservation);
+ assertSuperset(
+ manifestation10.getSuppliers().contains(timeObservation));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ manifestation10.setUtilizedElement(model);
+ assertSuperset(manifestation10.getSuppliers().contains(model));
+
+ Manifestation manifestation11 = UML.createManifestation();
+ assertValid(manifestation11);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ manifestation11.setUtilizedElement(timeExpression);
+ assertSuperset(manifestation11.getSuppliers().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ manifestation11.setUtilizedElement(device);
+ assertSuperset(manifestation11.getSuppliers().contains(device));
+
+ Manifestation manifestation12 = UML.createManifestation();
+ assertValid(manifestation12);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ manifestation12.setUtilizedElement(instanceValue);
+ assertSuperset(manifestation12.getSuppliers().contains(instanceValue));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ manifestation12.setUtilizedElement(interactionConstraint);
+ assertSuperset(
+ manifestation12.getSuppliers().contains(interactionConstraint));
+
+ Manifestation manifestation13 = UML.createManifestation();
+ assertValid(manifestation13);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ manifestation13.setUtilizedElement(associationClass);
+ assertSuperset(
+ manifestation13.getSuppliers().contains(associationClass));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ manifestation13.setUtilizedElement(interval);
+ assertSuperset(manifestation13.getSuppliers().contains(interval));
+
+ Manifestation manifestation14 = UML.createManifestation();
+ assertValid(manifestation14);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ manifestation14.setUtilizedElement(abstraction);
+ assertSuperset(manifestation14.getSuppliers().contains(abstraction));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ manifestation14.setUtilizedElement(literalString);
+ assertSuperset(manifestation14.getSuppliers().contains(literalString));
+
+ Manifestation manifestation15 = UML.createManifestation();
+ assertValid(manifestation15);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ manifestation15.setUtilizedElement(interfaceRealization);
+ assertSuperset(
+ manifestation15.getSuppliers().contains(interfaceRealization));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ manifestation15.setUtilizedElement(enumeration);
+ assertSuperset(manifestation15.getSuppliers().contains(enumeration));
+
+ Manifestation manifestation16 = UML.createManifestation();
+ assertValid(manifestation16);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ manifestation16.setUtilizedElement(primitiveType);
+ assertSuperset(manifestation16.getSuppliers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ manifestation16.setUtilizedElement(actor);
+ assertSuperset(manifestation16.getSuppliers().contains(actor));
+
+ Manifestation manifestation17 = UML.createManifestation();
+ assertValid(manifestation17);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ manifestation17.setUtilizedElement(profile);
+ assertSuperset(manifestation17.getSuppliers().contains(profile));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ manifestation17.setUtilizedElement(timeConstraint);
+ assertSuperset(manifestation17.getSuppliers().contains(timeConstraint));
+
+ Manifestation manifestation18 = UML.createManifestation();
+ assertValid(manifestation18);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ manifestation18.setUtilizedElement(durationInterval);
+ assertSuperset(
+ manifestation18.getSuppliers().contains(durationInterval));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ manifestation18.setUtilizedElement(generalizationSet);
+ assertSuperset(
+ manifestation18.getSuppliers().contains(generalizationSet));
+
+ Manifestation manifestation19 = UML.createManifestation();
+ assertValid(manifestation19);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ manifestation19.setUtilizedElement(signal);
+ assertSuperset(manifestation19.getSuppliers().contains(signal));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ manifestation19.setUtilizedElement(deployment);
+ assertSuperset(manifestation19.getSuppliers().contains(deployment));
+
+ Manifestation manifestation20 = UML.createManifestation();
+ assertValid(manifestation20);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ manifestation20.setUtilizedElement(artifact);
+ assertSuperset(manifestation20.getSuppliers().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ manifestation20.setUtilizedElement(informationFlow);
+ assertSuperset(
+ manifestation20.getSuppliers().contains(informationFlow));
+
+ Manifestation manifestation21 = UML.createManifestation();
+ assertValid(manifestation21);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ manifestation21.setUtilizedElement(signalEvent);
+ assertSuperset(manifestation21.getSuppliers().contains(signalEvent));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ manifestation21.setUtilizedElement(opaqueExpression);
+ assertSuperset(
+ manifestation21.getSuppliers().contains(opaqueExpression));
+
+ Manifestation manifestation22 = UML.createManifestation();
+ assertValid(manifestation22);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ manifestation22.setUtilizedElement(timeEvent);
+ assertSuperset(manifestation22.getSuppliers().contains(timeEvent));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ manifestation22.setUtilizedElement(usage);
+ assertSuperset(manifestation22.getSuppliers().contains(usage));
+
+ Manifestation manifestation23 = UML.createManifestation();
+ assertValid(manifestation23);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ manifestation23.setUtilizedElement(anyReceiveEvent);
+ assertSuperset(
+ manifestation23.getSuppliers().contains(anyReceiveEvent));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ manifestation23.setUtilizedElement(executionEnvironment);
+ assertSuperset(
+ manifestation23.getSuppliers().contains(executionEnvironment));
+
+ Manifestation manifestation24 = UML.createManifestation();
+ assertValid(manifestation24);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ manifestation24.setUtilizedElement(literalInteger);
+ assertSuperset(manifestation24.getSuppliers().contains(literalInteger));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ manifestation24.setUtilizedElement(deploymentSpecification);
+ assertSuperset(
+ manifestation24.getSuppliers().contains(deploymentSpecification));
+
+ Manifestation manifestation25 = UML.createManifestation();
+ assertValid(manifestation25);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ manifestation25.setUtilizedElement(realization);
+ assertSuperset(manifestation25.getSuppliers().contains(realization));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ manifestation25.setUtilizedElement(association);
+ assertSuperset(manifestation25.getSuppliers().contains(association));
+
+ Manifestation manifestation26 = UML.createManifestation();
+ assertValid(manifestation26);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ manifestation26.setUtilizedElement(timeInterval);
+ assertSuperset(manifestation26.getSuppliers().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ manifestation26.setUtilizedElement(dataType);
+ assertSuperset(manifestation26.getSuppliers().contains(dataType));
+
+ Manifestation manifestation27 = UML.createManifestation();
+ assertValid(manifestation27);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ manifestation27.setUtilizedElement(substitution);
+ assertSuperset(manifestation27.getSuppliers().contains(substitution));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ manifestation27.setUtilizedElement(intervalConstraint);
+ assertSuperset(
+ manifestation27.getSuppliers().contains(intervalConstraint));
+
+ Manifestation manifestation28 = UML.createManifestation();
+ assertValid(manifestation28);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ manifestation28.setUtilizedElement(extension);
+ assertSuperset(manifestation28.getSuppliers().contains(extension));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ manifestation28.setUtilizedElement(literalBoolean);
+ assertSuperset(manifestation28.getSuppliers().contains(literalBoolean));
+
+ Manifestation manifestation29 = UML.createManifestation();
+ assertValid(manifestation29);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ manifestation29.setUtilizedElement(dependency);
+ assertSuperset(manifestation29.getSuppliers().contains(dependency));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ manifestation29.setUtilizedElement(expression);
+ assertSuperset(manifestation29.getSuppliers().contains(expression));
+
+ Manifestation manifestation30 = UML.createManifestation();
+ assertValid(manifestation30);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ manifestation30.setUtilizedElement(componentRealization);
+ assertSuperset(
+ manifestation30.getSuppliers().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ manifestation30.setUtilizedElement(class_);
+ assertSuperset(manifestation30.getSuppliers().contains(class_));
+
+ Manifestation manifestation31 = UML.createManifestation();
+ assertValid(manifestation31);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ manifestation31.setUtilizedElement(durationConstraint);
+ assertSuperset(
+ manifestation31.getSuppliers().contains(durationConstraint));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ manifestation31.setUtilizedElement(literalNull);
+ assertSuperset(manifestation31.getSuppliers().contains(literalNull));
+
+ Manifestation manifestation32 = UML.createManifestation();
+ assertValid(manifestation32);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ manifestation32.setUtilizedElement(protocolStateMachine);
+ assertSuperset(
+ manifestation32.getSuppliers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ manifestation32.setUtilizedElement(useCase);
+ assertSuperset(manifestation32.getSuppliers().contains(useCase));
+
+ Manifestation manifestation33 = UML.createManifestation();
+ assertValid(manifestation33);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ manifestation33.setUtilizedElement(stringExpression);
+ assertSuperset(
+ manifestation33.getSuppliers().contains(stringExpression));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ manifestation33.setUtilizedElement(node);
+ assertSuperset(manifestation33.getSuppliers().contains(node));
+
+ Manifestation manifestation34 = UML.createManifestation();
+ assertValid(manifestation34);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ manifestation34.setUtilizedElement(changeEvent);
+ assertSuperset(manifestation34.getSuppliers().contains(changeEvent));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ manifestation34.setUtilizedElement(constraint);
+ assertSuperset(manifestation34.getSuppliers().contains(constraint));
+
+ Manifestation manifestation35 = UML.createManifestation();
+ assertValid(manifestation35);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ manifestation35.setUtilizedElement(stereotype);
+ assertSuperset(manifestation35.getSuppliers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ manifestation35.setUtilizedElement(stateMachine);
+ assertSuperset(manifestation35.getSuppliers().contains(stateMachine));
+
+ Manifestation manifestation36 = UML.createManifestation();
+ assertValid(manifestation36);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ manifestation36.setUtilizedElement(enumerationLiteral);
+ assertSuperset(
+ manifestation36.getSuppliers().contains(enumerationLiteral));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ manifestation36.setUtilizedElement(collaboration);
+ assertSuperset(manifestation36.getSuppliers().contains(collaboration));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/MergeNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/MergeNodeTest.java
new file mode 100755
index 00000000..0df9531a
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/MergeNodeTest.java
@@ -0,0 +1,601 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class MergeNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ mergeNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ mergeNode.getOwnedComments().add(comment);
+ assertSuperset(mergeNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ EList<Element> elements = mergeNode.getOwnedElements();
+ EList<Element> elements2 = mergeNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ EList<Dependency> dependencys = mergeNode.getClientDependencies();
+ EList<Dependency> dependencys2 = mergeNode.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ mergeNode.setNameExpression(stringExpression);
+ assertSuperset(mergeNode.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ EList<RedefinableElement> redefinableElements = mergeNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = mergeNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ EList<Classifier> classifiers = mergeNode.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = mergeNode.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ EList<ActivityGroup> activityGroups = mergeNode.getInGroups();
+ EList<ActivityGroup> activityGroups2 = mergeNode.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ mergeNode.getInInterruptibleRegions().add(interruptibleActivityRegion);
+ assertSuperset(
+ mergeNode.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ mergeNode.setInStructuredNode(loopNode);
+ assertSuperset(mergeNode.getInGroups().contains(loopNode));
+ assertSuperset(mergeNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ mergeNode.setInStructuredNode(expansionRegion);
+ assertSuperset(mergeNode.getInGroups().contains(expansionRegion));
+ assertSuperset(mergeNode.getOwner() == expansionRegion);
+
+ MergeNode mergeNode2 = UML.createMergeNode();
+ assertValid(mergeNode2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ mergeNode2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ mergeNode2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(mergeNode2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ mergeNode2.setInStructuredNode(conditionalNode);
+ assertSuperset(mergeNode2.getInGroups().contains(conditionalNode));
+ assertSuperset(mergeNode2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ mergeNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ mergeNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ mergeNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ mergeNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ mergeNode.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(mergeNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ mergeNode.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(mergeNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ mergeNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ mergeNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(mergeNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ mergeNode.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(mergeNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ mergeNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(mergeNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ mergeNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ mergeNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ mergeNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ mergeNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(mergeNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ mergeNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ mergeNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ mergeNode.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(mergeNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ mergeNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ mergeNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ mergeNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(mergeNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ mergeNode.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(mergeNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ mergeNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(mergeNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ mergeNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(mergeNode.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ mergeNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ mergeNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ mergeNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ mergeNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ mergeNode.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(mergeNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ mergeNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ mergeNode.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(mergeNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ mergeNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ mergeNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ mergeNode.getRedefinedNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(mergeNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ mergeNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ mergeNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ mergeNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ mergeNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ mergeNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(mergeNode.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ mergeNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ mergeNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ mergeNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ mergeNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(mergeNode.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ mergeNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ mergeNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(mergeNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ mergeNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ mergeNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ mergeNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ mergeNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ mergeNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ mergeNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(mergeNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ mergeNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(mergeNode.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ mergeNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ mergeNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ mergeNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ mergeNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ mergeNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(mergeNode.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode2 = UML.createMergeNode();
+ assertValid(mergeNode2);
+ mergeNode.getRedefinedNodes().add(mergeNode2);
+ assertSuperset(mergeNode.getRedefinedElements().contains(mergeNode2));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ mergeNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(mergeNode.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ mergeNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ mergeNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ mergeNode.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ mergeNode.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(mergeNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ mergeNode.getInPartitions().add(activityPartition);
+ assertSuperset(mergeNode.getInGroups().contains(activityPartition));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/MessageOccurrenceSpecificationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/MessageOccurrenceSpecificationTest.java
new file mode 100755
index 00000000..52b3e94a
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/MessageOccurrenceSpecificationTest.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.StringExpression;
+
+/**
+ * @author Eike Stepper
+ */
+public class MessageOccurrenceSpecificationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ messageOccurrenceSpecification.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ messageOccurrenceSpecification.getOwnedComments().add(comment);
+ assertSuperset(messageOccurrenceSpecification.getOwnedElements()
+ .contains(comment));
+ }
+
+ public void testOwnedElement() {
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ EList<Element> elements = messageOccurrenceSpecification
+ .getOwnedElements();
+ EList<Element> elements2 = messageOccurrenceSpecification
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ EList<Dependency> dependencys = messageOccurrenceSpecification
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = messageOccurrenceSpecification
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ messageOccurrenceSpecification.setNameExpression(stringExpression);
+ assertSuperset(messageOccurrenceSpecification.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testCovered() {
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ messageOccurrenceSpecification.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ messageOccurrenceSpecification.setEnclosingOperand(interactionOperand);
+ assertSuperset(messageOccurrenceSpecification
+ .getNamespace() == interactionOperand);
+ }
+
+ public void testEnclosingInteraction() {
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ messageOccurrenceSpecification.setEnclosingInteraction(interaction);
+ assertSuperset(
+ messageOccurrenceSpecification.getNamespace() == interaction);
+ }
+
+ public void testGeneralOrdering() {
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ messageOccurrenceSpecification.getGeneralOrderings()
+ .add(generalOrdering);
+ assertSuperset(messageOccurrenceSpecification.getOwnedElements()
+ .contains(generalOrdering));
+ }
+
+ public void testToAfter() {
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ messageOccurrenceSpecification.getToAfters().add(generalOrdering);
+ }
+
+ public void testToBefore() {
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ messageOccurrenceSpecification.getToBefores().add(generalOrdering);
+ }
+
+ public void testMessage() {
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ messageOccurrenceSpecification.setMessage(message);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/MessageTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/MessageTest.java
new file mode 100755
index 00000000..2319b256
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/MessageTest.java
@@ -0,0 +1,1362 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class MessageTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Message message = UML.createMessage();
+ assertValid(message);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ message.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Message message = UML.createMessage();
+ assertValid(message);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ message.getOwnedComments().add(comment);
+ assertSuperset(message.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Message message = UML.createMessage();
+ assertValid(message);
+ EList<Element> elements = message.getOwnedElements();
+ EList<Element> elements2 = message.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Message message = UML.createMessage();
+ assertValid(message);
+ EList<Dependency> dependencys = message.getClientDependencies();
+ EList<Dependency> dependencys2 = message.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Message message = UML.createMessage();
+ assertValid(message);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ message.setNameExpression(stringExpression);
+ assertSuperset(message.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testArgument() {
+ Message message = UML.createMessage();
+ assertValid(message);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ message.getArguments().add(literalBoolean);
+ assertSuperset(message.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ message.getArguments().add(interval);
+ assertSuperset(message.getOwnedElements().contains(interval));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ message.getArguments().add(opaqueExpression);
+ assertSuperset(message.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ message.getArguments().add(expression);
+ assertSuperset(message.getOwnedElements().contains(expression));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ message.getArguments().add(literalReal);
+ assertSuperset(message.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ message.getArguments().add(literalString);
+ assertSuperset(message.getOwnedElements().contains(literalString));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ message.getArguments().add(literalNull);
+ assertSuperset(message.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ message.getArguments().add(duration);
+ assertSuperset(message.getOwnedElements().contains(duration));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ message.getArguments().add(literalInteger);
+ assertSuperset(message.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ message.getArguments().add(durationInterval);
+ assertSuperset(message.getOwnedElements().contains(durationInterval));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ message.getArguments().add(stringExpression);
+ assertSuperset(message.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ message.getArguments().add(literalUnlimitedNatural);
+ assertSuperset(
+ message.getOwnedElements().contains(literalUnlimitedNatural));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ message.getArguments().add(timeInterval);
+ assertSuperset(message.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ message.getArguments().add(timeExpression);
+ assertSuperset(message.getOwnedElements().contains(timeExpression));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ message.getArguments().add(instanceValue);
+ assertSuperset(message.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testConnector() {
+ Message message = UML.createMessage();
+ assertValid(message);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ message.setConnector(connector);
+ }
+
+ public void testInteraction() {
+ Message message = UML.createMessage();
+ assertValid(message);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ message.setInteraction(interaction);
+ assertSuperset(message.getNamespace() == interaction);
+ }
+
+ public void testReceiveEvent() {
+ Message message = UML.createMessage();
+ assertValid(message);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ message.setReceiveEvent(messageOccurrenceSpecification);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ message.setReceiveEvent(gate);
+
+ Message message2 = UML.createMessage();
+ assertValid(message2);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ message2.setReceiveEvent(destructionOccurrenceSpecification);
+ }
+
+ public void testSendEvent() {
+ Message message = UML.createMessage();
+ assertValid(message);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ message.setSendEvent(messageOccurrenceSpecification);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ message.setSendEvent(gate);
+
+ Message message2 = UML.createMessage();
+ assertValid(message2);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ message2.setSendEvent(destructionOccurrenceSpecification);
+ }
+
+ public void testSignature() {
+ Message message = UML.createMessage();
+ assertValid(message);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ message.setSignature(activity);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ message.setSignature(communicationPath);
+
+ Message message2 = UML.createMessage();
+ assertValid(message2);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ message2.setSignature(readSelfAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ message2.setSignature(activityPartition);
+
+ Message message3 = UML.createMessage();
+ assertValid(message3);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ message3.setSignature(inputPin);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ message3.setSignature(readLinkObjectEndQualifierAction);
+
+ Message message4 = UML.createMessage();
+ assertValid(message4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ message4.setSignature(component);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ message4.setSignature(manifestation);
+
+ Message message5 = UML.createMessage();
+ assertValid(message5);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ message5.setSignature(durationObservation);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ message5.setSignature(callEvent);
+
+ Message message6 = UML.createMessage();
+ assertValid(message6);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ message6.setSignature(joinNode);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ message6.setSignature(interaction);
+
+ Message message7 = UML.createMessage();
+ assertValid(message7);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ message7.setSignature(createLinkObjectAction);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ message7.setSignature(opaqueBehavior);
+
+ Message message8 = UML.createMessage();
+ assertValid(message8);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ message8.setSignature(literalUnlimitedNatural);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ message8.setSignature(sendSignalAction);
+
+ Message message9 = UML.createMessage();
+ assertValid(message9);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ message9.setSignature(readLinkAction);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ message9.setSignature(operation);
+
+ Message message10 = UML.createMessage();
+ assertValid(message10);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ message10.setSignature(clearAssociationAction);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ message10.setSignature(model);
+
+ Message message11 = UML.createMessage();
+ assertValid(message11);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ message11.setSignature(parameter);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ message11.setSignature(instanceValue);
+
+ Message message12 = UML.createMessage();
+ assertValid(message12);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ message12.setSignature(trigger);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ message12.setSignature(interactionConstraint);
+
+ Message message13 = UML.createMessage();
+ assertValid(message13);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ message13.setSignature(associationClass);
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ message13.setSignature(interactionUse);
+
+ Message message14 = UML.createMessage();
+ assertValid(message14);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ message14.setSignature(clearStructuralFeatureAction);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ message14.setSignature(interval);
+
+ Message message15 = UML.createMessage();
+ assertValid(message15);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ message15.setSignature(structuredActivityNode);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ message15.setSignature(literalString);
+
+ Message message16 = UML.createMessage();
+ assertValid(message16);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ message16.setSignature(valuePin);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ message16.setSignature(interfaceRealization);
+
+ Message message17 = UML.createMessage();
+ assertValid(message17);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ message17.setSignature(forkNode);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ message17.setSignature(decisionNode);
+
+ Message message18 = UML.createMessage();
+ assertValid(message18);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ message18.setSignature(actor);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ message18.setSignature(timeConstraint);
+
+ Message message19 = UML.createMessage();
+ assertValid(message19);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ message19.setSignature(reception);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ message19.setSignature(pseudostate);
+
+ Message message20 = UML.createMessage();
+ assertValid(message20);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ message20.setSignature(durationInterval);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ message20.setSignature(deployment);
+
+ Message message21 = UML.createMessage();
+ assertValid(message21);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ message21.setSignature(extensionEnd);
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ message21.setSignature(considerIgnoreFragment);
+
+ Message message22 = UML.createMessage();
+ assertValid(message22);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ message22.setSignature(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ message22.setSignature(readExtentAction);
+
+ Message message23 = UML.createMessage();
+ assertValid(message23);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ message23.setSignature(actionInputPin);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ message23.setSignature(artifact);
+
+ Message message24 = UML.createMessage();
+ assertValid(message24);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ message24.setSignature(informationFlow);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ message24.setSignature(clearVariableAction);
+
+ Message message25 = UML.createMessage();
+ assertValid(message25);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ message25.setSignature(createLinkAction);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ message25.setSignature(signalEvent);
+
+ Message message26 = UML.createMessage();
+ assertValid(message26);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ message26.setSignature(connectionPointReference);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ message26.setSignature(reclassifyObjectAction);
+
+ Message message27 = UML.createMessage();
+ assertValid(message27);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ message27.setSignature(usage);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ message27.setSignature(dataStoreNode);
+
+ Message message28 = UML.createMessage();
+ assertValid(message28);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ message28.setSignature(executionEnvironment);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ message28.setSignature(sendObjectAction);
+
+ Message message29 = UML.createMessage();
+ assertValid(message29);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ message29.setSignature(controlFlow);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ message29.setSignature(deploymentSpecification);
+
+ Message message30 = UML.createMessage();
+ assertValid(message30);
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ message30.setSignature(partDecomposition);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ message30.setSignature(destroyLinkAction);
+
+ Message message31 = UML.createMessage();
+ assertValid(message31);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ message31.setSignature(realization);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ message31.setSignature(expansionNode);
+
+ Message message32 = UML.createMessage();
+ assertValid(message32);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ message32.setSignature(testIdentityAction);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ message32.setSignature(association);
+
+ Message message33 = UML.createMessage();
+ assertValid(message33);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ message33.setSignature(timeInterval);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ message33.setSignature(dataType);
+
+ Message message34 = UML.createMessage();
+ assertValid(message34);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ message34.setSignature(outputPin);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ message34.setSignature(substitution);
+
+ Message message35 = UML.createMessage();
+ assertValid(message35);
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ message35.setSignature(include);
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ message35.setSignature(extend);
+
+ Message message36 = UML.createMessage();
+ assertValid(message36);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ message36.setSignature(broadcastSignalAction);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ message36.setSignature(literalBoolean);
+
+ Message message37 = UML.createMessage();
+ assertValid(message37);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ message37.setSignature(finalState);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ message37.setSignature(raiseExceptionAction);
+
+ Message message38 = UML.createMessage();
+ assertValid(message38);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ message38.setSignature(durationConstraint);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ message38.setSignature(activityFinalNode);
+
+ Message message39 = UML.createMessage();
+ assertValid(message39);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ message39.setSignature(literalNull);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ message39.setSignature(callOperationAction);
+
+ Message message40 = UML.createMessage();
+ assertValid(message40);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ message40.setSignature(protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ message40.setSignature(loopNode);
+
+ Message message41 = UML.createMessage();
+ assertValid(message41);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ message41.setSignature(parameterSet);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ message41.setSignature(valueSpecificationAction);
+
+ Message message42 = UML.createMessage();
+ assertValid(message42);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ message42.setSignature(node);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ message42.setSignature(sequenceNode);
+
+ Message message43 = UML.createMessage();
+ assertValid(message43);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ message43.setSignature(constraint);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ message43.setSignature(destroyObjectAction);
+
+ Message message44 = UML.createMessage();
+ assertValid(message44);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ message44.setSignature(stateMachine);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ message44.setSignature(enumerationLiteral);
+
+ Message message45 = UML.createMessage();
+ assertValid(message45);
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ message45.setSignature(actionExecutionSpecification);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ message45.setSignature(functionBehavior);
+
+ Message message46 = UML.createMessage();
+ assertValid(message46);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ message46.setSignature(interface_);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ message46.setSignature(instanceSpecification);
+
+ Message message47 = UML.createMessage();
+ assertValid(message47);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ message47.setSignature(startClassifierBehaviorAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ message47.setSignature(port);
+
+ Message message48 = UML.createMessage();
+ assertValid(message48);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ message48.setSignature(removeVariableValueAction);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ message48.setSignature(informationItem);
+
+ Message message49 = UML.createMessage();
+ assertValid(message49);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ message49.setSignature(literalReal);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ message49.setSignature(redefinableTemplateSignature);
+
+ Message message50 = UML.createMessage();
+ assertValid(message50);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ message50.setSignature(executionOccurrenceSpecification);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ message50.setSignature(duration);
+
+ Message message51 = UML.createMessage();
+ assertValid(message51);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ message51.setSignature(package_);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ message51.setSignature(variable);
+
+ Message message52 = UML.createMessage();
+ assertValid(message52);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ message52.setSignature(destructionOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ message52.setSignature(lifeline);
+
+ Message message53 = UML.createMessage();
+ assertValid(message53);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ message53.setSignature(timeObservation);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ message53.setSignature(replyAction);
+
+ Message message54 = UML.createMessage();
+ assertValid(message54);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ message54.setSignature(gate);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ message54.setSignature(property);
+
+ Message message55 = UML.createMessage();
+ assertValid(message55);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ message55.setSignature(timeExpression);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ message55.setSignature(device);
+
+ Message message56 = UML.createMessage();
+ assertValid(message56);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ message56.setSignature(flowFinalNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ message56.setSignature(expansionRegion);
+
+ Message message57 = UML.createMessage();
+ assertValid(message57);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ message57.setSignature(abstraction);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ message57.setSignature(startObjectBehaviorAction);
+
+ Message message58 = UML.createMessage();
+ assertValid(message58);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ message58.setSignature(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ message58.setSignature(primitiveType);
+
+ Message message59 = UML.createMessage();
+ assertValid(message59);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ message59.setSignature(profile);
+
+ Message message60 = UML.createMessage();
+ assertValid(message60);
+ message59.setSignature(message60);
+
+ Message message61 = UML.createMessage();
+ assertValid(message61);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ message61.setSignature(generalizationSet);
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ message61.setSignature(continuation);
+
+ Message message62 = UML.createMessage();
+ assertValid(message62);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ message62.setSignature(signal);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ message62.setSignature(callBehaviorAction);
+
+ Message message63 = UML.createMessage();
+ assertValid(message63);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ message63.setSignature(objectFlow);
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ message63.setSignature(stateInvariant);
+
+ Message message64 = UML.createMessage();
+ assertValid(message64);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ message64.setSignature(readIsClassifiedObjectAction);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ message64.setSignature(activityParameterNode);
+
+ Message message65 = UML.createMessage();
+ assertValid(message65);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ message65.setSignature(addStructuralFeatureValueAction);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ message65.setSignature(readVariableAction);
+
+ Message message66 = UML.createMessage();
+ assertValid(message66);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ message66.setSignature(interruptibleActivityRegion);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ message66.setSignature(removeStructuralFeatureValueAction);
+
+ Message message67 = UML.createMessage();
+ assertValid(message67);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ message67.setSignature(opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ message67.setSignature(timeEvent);
+
+ Message message68 = UML.createMessage();
+ assertValid(message68);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ message68.setSignature(generalOrdering);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ message68.setSignature(region);
+
+ Message message69 = UML.createMessage();
+ assertValid(message69);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ message69.setSignature(transition);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ message69.setSignature(anyReceiveEvent);
+
+ Message message70 = UML.createMessage();
+ assertValid(message70);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ message70.setSignature(messageOccurrenceSpecification);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ message70.setSignature(literalInteger);
+
+ Message message71 = UML.createMessage();
+ assertValid(message71);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ message71.setSignature(reduceAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ message71.setSignature(acceptEventAction);
+
+ Message message72 = UML.createMessage();
+ assertValid(message72);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ message72.setSignature(initialNode);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ message72.setSignature(centralBufferNode);
+
+ Message message73 = UML.createMessage();
+ assertValid(message73);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ message73.setSignature(combinedFragment);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ message73.setSignature(intervalConstraint);
+
+ Message message74 = UML.createMessage();
+ assertValid(message74);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ message74.setSignature(extension);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ message74.setSignature(occurrenceSpecification);
+
+ Message message75 = UML.createMessage();
+ assertValid(message75);
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ message75.setSignature(extensionPoint);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ message75.setSignature(dependency);
+
+ Message message76 = UML.createMessage();
+ assertValid(message76);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ message76.setSignature(connector);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ message76.setSignature(expression);
+
+ Message message77 = UML.createMessage();
+ assertValid(message77);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ message77.setSignature(componentRealization);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ message77.setSignature(class_);
+
+ Message message78 = UML.createMessage();
+ assertValid(message78);
+
+ State state = UML.createState();
+ assertValid(state);
+ message78.setSignature(state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ message78.setSignature(protocolTransition);
+
+ Message message79 = UML.createMessage();
+ assertValid(message79);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ message79.setSignature(behaviorExecutionSpecification);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ message79.setSignature(collaborationUse);
+
+ Message message80 = UML.createMessage();
+ assertValid(message80);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ message80.setSignature(interactionOperand);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ message80.setSignature(acceptCallAction);
+
+ Message message81 = UML.createMessage();
+ assertValid(message81);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ message81.setSignature(addVariableValueAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ message81.setSignature(readLinkObjectEndAction);
+
+ Message message82 = UML.createMessage();
+ assertValid(message82);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ message82.setSignature(useCase);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ message82.setSignature(unmarshallAction);
+
+ Message message83 = UML.createMessage();
+ assertValid(message83);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ message83.setSignature(opaqueAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ message83.setSignature(stringExpression);
+
+ Message message84 = UML.createMessage();
+ assertValid(message84);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ message84.setSignature(mergeNode);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ message84.setSignature(changeEvent);
+
+ Message message85 = UML.createMessage();
+ assertValid(message85);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ message85.setSignature(createObjectAction);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ message85.setSignature(stereotype);
+
+ Message message86 = UML.createMessage();
+ assertValid(message86);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ message86.setSignature(readStructuralFeatureAction);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ message86.setSignature(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ModelTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ModelTest.java
new file mode 100755
index 00000000..b1f69e50
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ModelTest.java
@@ -0,0 +1,678 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ModelTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Model model = UML.createModel();
+ assertValid(model);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ model.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Model model = UML.createModel();
+ assertValid(model);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ model.getOwnedComments().add(comment);
+ assertSuperset(model.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Model model = UML.createModel();
+ assertValid(model);
+ EList<Element> elements = model.getOwnedElements();
+ EList<Element> elements2 = model.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Model model = UML.createModel();
+ assertValid(model);
+ EList<Dependency> dependencys = model.getClientDependencies();
+ EList<Dependency> dependencys2 = model.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Model model = UML.createModel();
+ assertValid(model);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ model.setNameExpression(stringExpression);
+ assertSuperset(model.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Model model = UML.createModel();
+ assertValid(model);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ model.getOwnedRules().add(intervalConstraint);
+ assertSuperset(model.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ model.getOwnedRules().add(timeConstraint);
+ assertSuperset(model.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ model.getOwnedRules().add(interactionConstraint);
+ assertSuperset(model.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ model.getOwnedRules().add(constraint);
+ assertSuperset(model.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ model.getOwnedRules().add(durationConstraint);
+ assertSuperset(model.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Model model = UML.createModel();
+ assertValid(model);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ model.getElementImports().add(elementImport);
+ assertSuperset(model.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Model model = UML.createModel();
+ assertValid(model);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ model.getPackageImports().add(packageImport);
+ assertSuperset(model.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Model model = UML.createModel();
+ assertValid(model);
+ EList<NamedElement> namedElements = model.getOwnedMembers();
+ EList<NamedElement> namedElements2 = model.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Model model = UML.createModel();
+ assertValid(model);
+ EList<PackageableElement> packageableElements = model
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = model
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Model model = UML.createModel();
+ assertValid(model);
+ EList<NamedElement> namedElements = model.getMembers();
+ EList<NamedElement> namedElements2 = model.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Model model = UML.createModel();
+ assertValid(model);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ model.setOwningTemplateParameter(templateParameter);
+ assertSuperset(model.getOwner() == templateParameter);
+ assertSuperset(model.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Model model = UML.createModel();
+ assertValid(model);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ model.setTemplateParameter(templateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Model model = UML.createModel();
+ assertValid(model);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ model.getTemplateBindings().add(templateBinding);
+ assertSuperset(model.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Model model = UML.createModel();
+ assertValid(model);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ model.setOwnedTemplateSignature(templateSignature);
+ assertSuperset(model.getOwnedElements().contains(templateSignature));
+ }
+
+ public void testNestedPackage() {
+ Model model = UML.createModel();
+ assertValid(model);
+ EList<org.eclipse.uml2.uml.Package> package_s = model
+ .getNestedPackages();
+ EList<org.eclipse.uml2.uml.Package> package_s2 = model
+ .getNestedPackages();
+ assertSame(package_s, package_s2);
+ }
+
+ public void testOwnedStereotype() {
+ Model model = UML.createModel();
+ assertValid(model);
+ EList<Stereotype> stereotypes = model.getOwnedStereotypes();
+ EList<Stereotype> stereotypes2 = model.getOwnedStereotypes();
+ assertSame(stereotypes, stereotypes2);
+ }
+
+ public void testOwnedType() {
+ Model model = UML.createModel();
+ assertValid(model);
+ EList<Type> types = model.getOwnedTypes();
+ EList<Type> types2 = model.getOwnedTypes();
+ assertSame(types, types2);
+ }
+
+ public void testPackageMerge() {
+ Model model = UML.createModel();
+ assertValid(model);
+
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ model.getPackageMerges().add(packageMerge);
+ assertSuperset(model.getOwnedElements().contains(packageMerge));
+ }
+
+ public void testPackagedElement() {
+ Model model = UML.createModel();
+ assertValid(model);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ model.getPackagedElements().add(functionBehavior);
+ assertSuperset(model.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ model.getPackagedElements().add(activity);
+ assertSuperset(model.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ model.getPackagedElements().add(interface_);
+ assertSuperset(model.getOwnedMembers().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ model.getPackagedElements().add(instanceSpecification);
+ assertSuperset(model.getOwnedMembers().contains(instanceSpecification));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ model.getPackagedElements().add(informationItem);
+ assertSuperset(model.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ model.getPackagedElements().add(communicationPath);
+ assertSuperset(model.getOwnedMembers().contains(communicationPath));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ model.getPackagedElements().add(literalReal);
+ assertSuperset(model.getOwnedMembers().contains(literalReal));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ model.getPackagedElements().add(component);
+ assertSuperset(model.getOwnedMembers().contains(component));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ model.getPackagedElements().add(duration);
+ assertSuperset(model.getOwnedMembers().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ model.getPackagedElements().add(package_);
+ assertSuperset(model.getOwnedMembers().contains(package_));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ model.getPackagedElements().add(manifestation);
+ assertSuperset(model.getOwnedMembers().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ model.getPackagedElements().add(durationObservation);
+ assertSuperset(model.getOwnedMembers().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ model.getPackagedElements().add(callEvent);
+ assertSuperset(model.getOwnedMembers().contains(callEvent));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ model.getPackagedElements().add(interaction);
+ assertSuperset(model.getOwnedMembers().contains(interaction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ model.getPackagedElements().add(opaqueBehavior);
+ assertSuperset(model.getOwnedMembers().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ model.getPackagedElements().add(literalUnlimitedNatural);
+ assertSuperset(
+ model.getOwnedMembers().contains(literalUnlimitedNatural));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ model.getPackagedElements().add(timeObservation);
+ assertSuperset(model.getOwnedMembers().contains(timeObservation));
+
+ Model model2 = UML.createModel();
+ assertValid(model2);
+ model.getPackagedElements().add(model2);
+ assertSuperset(model.getOwnedMembers().contains(model2));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ model.getPackagedElements().add(timeExpression);
+ assertSuperset(model.getOwnedMembers().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ model.getPackagedElements().add(device);
+ assertSuperset(model.getOwnedMembers().contains(device));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ model.getPackagedElements().add(instanceValue);
+ assertSuperset(model.getOwnedMembers().contains(instanceValue));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ model.getPackagedElements().add(interactionConstraint);
+ assertSuperset(model.getOwnedMembers().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ model.getPackagedElements().add(associationClass);
+ assertSuperset(model.getOwnedMembers().contains(associationClass));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ model.getPackagedElements().add(interval);
+ assertSuperset(model.getOwnedMembers().contains(interval));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ model.getPackagedElements().add(abstraction);
+ assertSuperset(model.getOwnedMembers().contains(abstraction));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ model.getPackagedElements().add(literalString);
+ assertSuperset(model.getOwnedMembers().contains(literalString));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ model.getPackagedElements().add(interfaceRealization);
+ assertSuperset(model.getOwnedMembers().contains(interfaceRealization));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ model.getPackagedElements().add(enumeration);
+ assertSuperset(model.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ model.getPackagedElements().add(primitiveType);
+ assertSuperset(model.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ model.getPackagedElements().add(actor);
+ assertSuperset(model.getOwnedMembers().contains(actor));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ model.getPackagedElements().add(profile);
+ assertSuperset(model.getOwnedMembers().contains(profile));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ model.getPackagedElements().add(timeConstraint);
+ assertSuperset(model.getOwnedMembers().contains(timeConstraint));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ model.getPackagedElements().add(durationInterval);
+ assertSuperset(model.getOwnedMembers().contains(durationInterval));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ model.getPackagedElements().add(generalizationSet);
+ assertSuperset(model.getOwnedMembers().contains(generalizationSet));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ model.getPackagedElements().add(signal);
+ assertSuperset(model.getOwnedMembers().contains(signal));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ model.getPackagedElements().add(deployment);
+ assertSuperset(model.getOwnedMembers().contains(deployment));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ model.getPackagedElements().add(artifact);
+ assertSuperset(model.getOwnedMembers().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ model.getPackagedElements().add(informationFlow);
+ assertSuperset(model.getOwnedMembers().contains(informationFlow));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ model.getPackagedElements().add(signalEvent);
+ assertSuperset(model.getOwnedMembers().contains(signalEvent));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ model.getPackagedElements().add(opaqueExpression);
+ assertSuperset(model.getOwnedMembers().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ model.getPackagedElements().add(timeEvent);
+ assertSuperset(model.getOwnedMembers().contains(timeEvent));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ model.getPackagedElements().add(usage);
+ assertSuperset(model.getOwnedMembers().contains(usage));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ model.getPackagedElements().add(anyReceiveEvent);
+ assertSuperset(model.getOwnedMembers().contains(anyReceiveEvent));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ model.getPackagedElements().add(executionEnvironment);
+ assertSuperset(model.getOwnedMembers().contains(executionEnvironment));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ model.getPackagedElements().add(literalInteger);
+ assertSuperset(model.getOwnedMembers().contains(literalInteger));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ model.getPackagedElements().add(deploymentSpecification);
+ assertSuperset(
+ model.getOwnedMembers().contains(deploymentSpecification));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ model.getPackagedElements().add(realization);
+ assertSuperset(model.getOwnedMembers().contains(realization));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ model.getPackagedElements().add(association);
+ assertSuperset(model.getOwnedMembers().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ model.getPackagedElements().add(timeInterval);
+ assertSuperset(model.getOwnedMembers().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ model.getPackagedElements().add(dataType);
+ assertSuperset(model.getOwnedMembers().contains(dataType));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ model.getPackagedElements().add(substitution);
+ assertSuperset(model.getOwnedMembers().contains(substitution));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ model.getPackagedElements().add(intervalConstraint);
+ assertSuperset(model.getOwnedMembers().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ model.getPackagedElements().add(extension);
+ assertSuperset(model.getOwnedMembers().contains(extension));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ model.getPackagedElements().add(literalBoolean);
+ assertSuperset(model.getOwnedMembers().contains(literalBoolean));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ model.getPackagedElements().add(dependency);
+ assertSuperset(model.getOwnedMembers().contains(dependency));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ model.getPackagedElements().add(expression);
+ assertSuperset(model.getOwnedMembers().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ model.getPackagedElements().add(componentRealization);
+ assertSuperset(model.getOwnedMembers().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ model.getPackagedElements().add(class_);
+ assertSuperset(model.getOwnedMembers().contains(class_));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ model.getPackagedElements().add(durationConstraint);
+ assertSuperset(model.getOwnedMembers().contains(durationConstraint));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ model.getPackagedElements().add(literalNull);
+ assertSuperset(model.getOwnedMembers().contains(literalNull));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ model.getPackagedElements().add(protocolStateMachine);
+ assertSuperset(model.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ model.getPackagedElements().add(useCase);
+ assertSuperset(model.getOwnedMembers().contains(useCase));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ model.getPackagedElements().add(stringExpression);
+ assertSuperset(model.getOwnedMembers().contains(stringExpression));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ model.getPackagedElements().add(node);
+ assertSuperset(model.getOwnedMembers().contains(node));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ model.getPackagedElements().add(changeEvent);
+ assertSuperset(model.getOwnedMembers().contains(changeEvent));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ model.getPackagedElements().add(constraint);
+ assertSuperset(model.getOwnedMembers().contains(constraint));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ model.getPackagedElements().add(stereotype);
+ assertSuperset(model.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ model.getPackagedElements().add(stateMachine);
+ assertSuperset(model.getOwnedMembers().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ model.getPackagedElements().add(enumerationLiteral);
+ assertSuperset(model.getOwnedMembers().contains(enumerationLiteral));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ model.getPackagedElements().add(collaboration);
+ assertSuperset(model.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testProfileApplication() {
+ Model model = UML.createModel();
+ assertValid(model);
+
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ model.getProfileApplications().add(profileApplication);
+ assertSuperset(model.getOwnedElements().contains(profileApplication));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/NodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/NodeTest.java
new file mode 100755
index 00000000..6cd616e1
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/NodeTest.java
@@ -0,0 +1,844 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class NodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ node.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ node.getOwnedComments().add(comment);
+ assertSuperset(node.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<Element> elements = node.getOwnedElements();
+ EList<Element> elements2 = node.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<Dependency> dependencys = node.getClientDependencies();
+ EList<Dependency> dependencys2 = node.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ node.setNameExpression(stringExpression);
+ assertSuperset(node.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ node.getOwnedRules().add(intervalConstraint);
+ assertSuperset(node.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ node.getOwnedRules().add(timeConstraint);
+ assertSuperset(node.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ node.getOwnedRules().add(interactionConstraint);
+ assertSuperset(node.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ node.getOwnedRules().add(constraint);
+ assertSuperset(node.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ node.getOwnedRules().add(durationConstraint);
+ assertSuperset(node.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ node.getElementImports().add(elementImport);
+ assertSuperset(node.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ node.getPackageImports().add(packageImport);
+ assertSuperset(node.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<NamedElement> namedElements = node.getOwnedMembers();
+ EList<NamedElement> namedElements2 = node.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<PackageableElement> packageableElements = node
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = node
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<NamedElement> namedElements = node.getMembers();
+ EList<NamedElement> namedElements2 = node.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<RedefinableElement> redefinableElements = node
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = node
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<Classifier> classifiers = node.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = node.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ node.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(node.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ node.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ node.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ node.getTemplateBindings().add(templateBinding);
+ assertSuperset(node.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ node.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(
+ node.getOwnedElements().contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<Feature> features = node.getFeatures();
+ EList<Feature> features2 = node.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<Property> propertys = node.getAttributes();
+ EList<Property> propertys2 = node.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ node.getCollaborationUses().add(collaborationUse);
+ assertSuperset(node.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<Classifier> classifiers = node.getGenerals();
+ EList<Classifier> classifiers2 = node.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ node.getGeneralizations().add(generalization);
+ assertSuperset(node.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ node.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<NamedElement> namedElements = node.getInheritedMembers();
+ EList<NamedElement> namedElements2 = node.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ node.getOwnedUseCases().add(useCase);
+ assertSuperset(node.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ node.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ node.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(node.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ node.getRedefinedClassifiers().add(activity);
+ assertSuperset(node.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ node.getRedefinedClassifiers().add(interface_);
+ assertSuperset(node.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ node.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(node.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ node.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(node.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ node.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ node.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ node.getRedefinedClassifiers().add(component);
+ assertSuperset(node.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ node.getRedefinedClassifiers().add(interaction);
+ assertSuperset(node.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ node.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ node.getRedefinedElements().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ node.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(node.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ node.getRedefinedClassifiers().add(association);
+ assertSuperset(node.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ node.getRedefinedClassifiers().add(dataType);
+ assertSuperset(node.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ node.getRedefinedClassifiers().add(device);
+ assertSuperset(node.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ node.getRedefinedClassifiers().add(extension);
+ assertSuperset(node.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ node.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(node.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ node.getRedefinedClassifiers().add(class_);
+ assertSuperset(node.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ node.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(node.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ node.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(node.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ node.getRedefinedClassifiers().add(actor);
+ assertSuperset(node.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ node.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ node.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ node.getRedefinedClassifiers().add(useCase);
+ assertSuperset(node.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ node.getRedefinedClassifiers().add(signal);
+ assertSuperset(node.getRedefinedElements().contains(signal));
+
+ Node node2 = UML.createNode();
+ assertValid(node2);
+ node.getRedefinedClassifiers().add(node2);
+ assertSuperset(node.getRedefinedElements().contains(node2));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ node.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(node.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ node.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(node.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ node.getRedefinedClassifiers().add(artifact);
+ assertSuperset(node.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ node.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(node.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ node.setRepresentation(collaborationUse);
+ assertSuperset(node.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ node.getSubstitutions().add(substitution);
+ assertSuperset(node.getOwnedElements().contains(substitution));
+ assertSuperset(node.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ node.getOwnedAttributes().add(port);
+ assertSuperset(node.getAttributes().contains(port));
+ assertSuperset(node.getOwnedMembers().contains(port));
+ assertSuperset(node.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ node.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(node.getAttributes().contains(extensionEnd));
+ assertSuperset(node.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(node.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ node.getOwnedAttributes().add(property);
+ assertSuperset(node.getAttributes().contains(property));
+ assertSuperset(node.getOwnedMembers().contains(property));
+ assertSuperset(node.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ node.getOwnedConnectors().add(connector);
+ assertSuperset(node.getFeatures().contains(connector));
+ assertSuperset(node.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<Property> propertys = node.getParts();
+ EList<Property> propertys2 = node.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<ConnectableElement> connectableElements = node.getRoles();
+ EList<ConnectableElement> connectableElements2 = node.getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testOwnedPort() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<Port> ports = node.getOwnedPorts();
+ EList<Port> ports2 = node.getOwnedPorts();
+ assertSame(ports, ports2);
+ }
+
+ public void testClassifierBehavior() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ node.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(node.getOwnedBehaviors().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ node.setClassifierBehavior(stateMachine);
+ assertSuperset(node.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ node.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(node.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(
+ node.getClientDependencies().contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ node.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(node.getOwnedMembers().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ node.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(node.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testOwnedOperation() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ node.getOwnedOperations().add(operation);
+ assertSuperset(node.getFeatures().contains(operation));
+ assertSuperset(node.getOwnedMembers().contains(operation));
+ }
+
+ public void testExtension() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<Extension> extensions = node.getExtensions();
+ EList<Extension> extensions2 = node.getExtensions();
+ assertSame(extensions, extensions2);
+ }
+
+ public void testNestedClassifier() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ node.getNestedClassifiers().add(functionBehavior);
+ assertSuperset(node.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ node.getNestedClassifiers().add(activity);
+ assertSuperset(node.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ node.getNestedClassifiers().add(interface_);
+ assertSuperset(node.getOwnedMembers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ node.getNestedClassifiers().add(informationItem);
+ assertSuperset(node.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ node.getNestedClassifiers().add(communicationPath);
+ assertSuperset(node.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ node.getNestedClassifiers().add(executionEnvironment);
+ assertSuperset(node.getOwnedMembers().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ node.getNestedClassifiers().add(component);
+ assertSuperset(node.getOwnedMembers().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ node.getNestedClassifiers().add(interaction);
+ assertSuperset(node.getOwnedMembers().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ node.getNestedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ node.getOwnedMembers().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ node.getNestedClassifiers().add(opaqueBehavior);
+ assertSuperset(node.getOwnedMembers().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ node.getNestedClassifiers().add(association);
+ assertSuperset(node.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ node.getNestedClassifiers().add(dataType);
+ assertSuperset(node.getOwnedMembers().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ node.getNestedClassifiers().add(device);
+ assertSuperset(node.getOwnedMembers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ node.getNestedClassifiers().add(extension);
+ assertSuperset(node.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ node.getNestedClassifiers().add(associationClass);
+ assertSuperset(node.getOwnedMembers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ node.getNestedClassifiers().add(class_);
+ assertSuperset(node.getOwnedMembers().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ node.getNestedClassifiers().add(enumeration);
+ assertSuperset(node.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ node.getNestedClassifiers().add(primitiveType);
+ assertSuperset(node.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ node.getNestedClassifiers().add(actor);
+ assertSuperset(node.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ node.getNestedClassifiers().add(protocolStateMachine);
+ assertSuperset(node.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ node.getNestedClassifiers().add(useCase);
+ assertSuperset(node.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ node.getNestedClassifiers().add(signal);
+ assertSuperset(node.getOwnedMembers().contains(signal));
+
+ Node node2 = UML.createNode();
+ assertValid(node2);
+ node.getNestedClassifiers().add(node2);
+ assertSuperset(node.getOwnedMembers().contains(node2));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ node.getNestedClassifiers().add(stereotype);
+ assertSuperset(node.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ node.getNestedClassifiers().add(stateMachine);
+ assertSuperset(node.getOwnedMembers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ node.getNestedClassifiers().add(artifact);
+ assertSuperset(node.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ node.getNestedClassifiers().add(collaboration);
+ assertSuperset(node.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedReception() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ node.getOwnedReceptions().add(reception);
+ assertSuperset(node.getFeatures().contains(reception));
+ assertSuperset(node.getOwnedMembers().contains(reception));
+ }
+
+ public void testSuperClass() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<org.eclipse.uml2.uml.Class> class_s = node.getSuperClasses();
+ EList<org.eclipse.uml2.uml.Class> class_s2 = node.getSuperClasses();
+ assertSame(class_s, class_s2);
+ }
+
+ public void testDeployedElement() {
+ Node node = UML.createNode();
+ assertValid(node);
+ EList<PackageableElement> packageableElements = node
+ .getDeployedElements();
+ EList<PackageableElement> packageableElements2 = node
+ .getDeployedElements();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testDeployment() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ node.getDeployments().add(deployment);
+ assertSuperset(node.getOwnedElements().contains(deployment));
+ assertSuperset(node.getClientDependencies().contains(deployment));
+ }
+
+ public void testNestedNode() {
+ Node node = UML.createNode();
+ assertValid(node);
+
+ Node node2 = UML.createNode();
+ assertValid(node2);
+ node.getNestedNodes().add(node2);
+ assertSuperset(node.getOwnedMembers().contains(node2));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ node.getNestedNodes().add(executionEnvironment);
+ assertSuperset(node.getOwnedMembers().contains(executionEnvironment));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ node.getNestedNodes().add(device);
+ assertSuperset(node.getOwnedMembers().contains(device));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ObjectFlowTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ObjectFlowTest.java
new file mode 100755
index 00000000..46d80850
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ObjectFlowTest.java
@@ -0,0 +1,1187 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ObjectFlowTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ objectFlow.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ objectFlow.getOwnedComments().add(comment);
+ assertSuperset(objectFlow.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ EList<Element> elements = objectFlow.getOwnedElements();
+ EList<Element> elements2 = objectFlow.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ EList<Dependency> dependencys = objectFlow.getClientDependencies();
+ EList<Dependency> dependencys2 = objectFlow.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ objectFlow.setNameExpression(stringExpression);
+ assertSuperset(
+ objectFlow.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ EList<RedefinableElement> redefinableElements = objectFlow
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = objectFlow
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ EList<Classifier> classifiers = objectFlow.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = objectFlow.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testActivity() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ objectFlow.setActivity(activity);
+ assertSuperset(objectFlow.getOwner() == activity);
+ }
+
+ public void testGuard() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ objectFlow.setGuard(literalBoolean);
+ assertSuperset(objectFlow.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ objectFlow.setGuard(interval);
+ assertSuperset(objectFlow.getOwnedElements().contains(interval));
+
+ ObjectFlow objectFlow2 = UML.createObjectFlow();
+ assertValid(objectFlow2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ objectFlow2.setGuard(opaqueExpression);
+ assertSuperset(
+ objectFlow2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ objectFlow2.setGuard(expression);
+ assertSuperset(objectFlow2.getOwnedElements().contains(expression));
+
+ ObjectFlow objectFlow3 = UML.createObjectFlow();
+ assertValid(objectFlow3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ objectFlow3.setGuard(literalReal);
+ assertSuperset(objectFlow3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ objectFlow3.setGuard(literalString);
+ assertSuperset(objectFlow3.getOwnedElements().contains(literalString));
+
+ ObjectFlow objectFlow4 = UML.createObjectFlow();
+ assertValid(objectFlow4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ objectFlow4.setGuard(literalNull);
+ assertSuperset(objectFlow4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ objectFlow4.setGuard(duration);
+ assertSuperset(objectFlow4.getOwnedElements().contains(duration));
+
+ ObjectFlow objectFlow5 = UML.createObjectFlow();
+ assertValid(objectFlow5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ objectFlow5.setGuard(literalInteger);
+ assertSuperset(objectFlow5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ objectFlow5.setGuard(durationInterval);
+ assertSuperset(
+ objectFlow5.getOwnedElements().contains(durationInterval));
+
+ ObjectFlow objectFlow6 = UML.createObjectFlow();
+ assertValid(objectFlow6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ objectFlow6.setGuard(stringExpression);
+ assertSuperset(
+ objectFlow6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ objectFlow6.setGuard(literalUnlimitedNatural);
+ assertSuperset(
+ objectFlow6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ObjectFlow objectFlow7 = UML.createObjectFlow();
+ assertValid(objectFlow7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ objectFlow7.setGuard(timeInterval);
+ assertSuperset(objectFlow7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ objectFlow7.setGuard(timeExpression);
+ assertSuperset(objectFlow7.getOwnedElements().contains(timeExpression));
+
+ ObjectFlow objectFlow8 = UML.createObjectFlow();
+ assertValid(objectFlow8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ objectFlow8.setGuard(instanceValue);
+ assertSuperset(objectFlow8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testInPartition() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ objectFlow.getInPartitions().add(activityPartition);
+ assertSuperset(objectFlow.getInGroups().contains(activityPartition));
+ }
+
+ public void testInterrupts() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ objectFlow.setInterrupts(interruptibleActivityRegion);
+ }
+
+ public void testInStructuredNode() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ objectFlow.setInStructuredNode(loopNode);
+ assertSuperset(objectFlow.getInGroups().contains(loopNode));
+ assertSuperset(objectFlow.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ objectFlow.setInStructuredNode(expansionRegion);
+ assertSuperset(objectFlow.getInGroups().contains(expansionRegion));
+ assertSuperset(objectFlow.getOwner() == expansionRegion);
+
+ ObjectFlow objectFlow2 = UML.createObjectFlow();
+ assertValid(objectFlow2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ objectFlow2.setInStructuredNode(sequenceNode);
+ assertSuperset(objectFlow2.getInGroups().contains(sequenceNode));
+ assertSuperset(objectFlow2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ objectFlow2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ objectFlow2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(objectFlow2.getOwner() == structuredActivityNode);
+
+ ObjectFlow objectFlow3 = UML.createObjectFlow();
+ assertValid(objectFlow3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ objectFlow3.setInStructuredNode(conditionalNode);
+ assertSuperset(objectFlow3.getInGroups().contains(conditionalNode));
+ assertSuperset(objectFlow3.getOwner() == conditionalNode);
+ }
+
+ public void testTarget() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ objectFlow.setTarget(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ objectFlow.setTarget(removeVariableValueAction);
+
+ ObjectFlow objectFlow2 = UML.createObjectFlow();
+ assertValid(objectFlow2);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ objectFlow2.setTarget(readSelfAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ objectFlow2.setTarget(inputPin);
+
+ ObjectFlow objectFlow3 = UML.createObjectFlow();
+ assertValid(objectFlow3);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ objectFlow3.setTarget(readLinkObjectEndQualifierAction);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ objectFlow3.setTarget(joinNode);
+
+ ObjectFlow objectFlow4 = UML.createObjectFlow();
+ assertValid(objectFlow4);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ objectFlow4.setTarget(createLinkObjectAction);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ objectFlow4.setTarget(sendSignalAction);
+
+ ObjectFlow objectFlow5 = UML.createObjectFlow();
+ assertValid(objectFlow5);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ objectFlow5.setTarget(readLinkAction);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ objectFlow5.setTarget(replyAction);
+
+ ObjectFlow objectFlow6 = UML.createObjectFlow();
+ assertValid(objectFlow6);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ objectFlow6.setTarget(clearAssociationAction);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ objectFlow6.setTarget(flowFinalNode);
+
+ ObjectFlow objectFlow7 = UML.createObjectFlow();
+ assertValid(objectFlow7);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ objectFlow7.setTarget(clearStructuralFeatureAction);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ objectFlow7.setTarget(expansionRegion);
+
+ ObjectFlow objectFlow8 = UML.createObjectFlow();
+ assertValid(objectFlow8);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ objectFlow8.setTarget(structuredActivityNode);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ objectFlow8.setTarget(valuePin);
+
+ ObjectFlow objectFlow9 = UML.createObjectFlow();
+ assertValid(objectFlow9);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ objectFlow9.setTarget(startObjectBehaviorAction);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ objectFlow9.setTarget(forkNode);
+
+ ObjectFlow objectFlow10 = UML.createObjectFlow();
+ assertValid(objectFlow10);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ objectFlow10.setTarget(decisionNode);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ objectFlow10.setTarget(callBehaviorAction);
+
+ ObjectFlow objectFlow11 = UML.createObjectFlow();
+ assertValid(objectFlow11);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ objectFlow11.setTarget(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ objectFlow11.setTarget(readExtentAction);
+
+ ObjectFlow objectFlow12 = UML.createObjectFlow();
+ assertValid(objectFlow12);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ objectFlow12.setTarget(actionInputPin);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ objectFlow12.setTarget(readIsClassifiedObjectAction);
+
+ ObjectFlow objectFlow13 = UML.createObjectFlow();
+ assertValid(objectFlow13);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ objectFlow13.setTarget(activityParameterNode);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ objectFlow13.setTarget(addStructuralFeatureValueAction);
+
+ ObjectFlow objectFlow14 = UML.createObjectFlow();
+ assertValid(objectFlow14);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ objectFlow14.setTarget(readVariableAction);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ objectFlow14.setTarget(clearVariableAction);
+
+ ObjectFlow objectFlow15 = UML.createObjectFlow();
+ assertValid(objectFlow15);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ objectFlow15.setTarget(removeStructuralFeatureValueAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ objectFlow15.setTarget(createLinkAction);
+
+ ObjectFlow objectFlow16 = UML.createObjectFlow();
+ assertValid(objectFlow16);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ objectFlow16.setTarget(reclassifyObjectAction);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ objectFlow16.setTarget(dataStoreNode);
+
+ ObjectFlow objectFlow17 = UML.createObjectFlow();
+ assertValid(objectFlow17);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ objectFlow17.setTarget(sendObjectAction);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ objectFlow17.setTarget(reduceAction);
+
+ ObjectFlow objectFlow18 = UML.createObjectFlow();
+ assertValid(objectFlow18);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ objectFlow18.setTarget(acceptEventAction);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ objectFlow18.setTarget(destroyLinkAction);
+
+ ObjectFlow objectFlow19 = UML.createObjectFlow();
+ assertValid(objectFlow19);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ objectFlow19.setTarget(expansionNode);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ objectFlow19.setTarget(initialNode);
+
+ ObjectFlow objectFlow20 = UML.createObjectFlow();
+ assertValid(objectFlow20);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ objectFlow20.setTarget(testIdentityAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ objectFlow20.setTarget(outputPin);
+
+ ObjectFlow objectFlow21 = UML.createObjectFlow();
+ assertValid(objectFlow21);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ objectFlow21.setTarget(centralBufferNode);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ objectFlow21.setTarget(broadcastSignalAction);
+
+ ObjectFlow objectFlow22 = UML.createObjectFlow();
+ assertValid(objectFlow22);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ objectFlow22.setTarget(raiseExceptionAction);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ objectFlow22.setTarget(activityFinalNode);
+
+ ObjectFlow objectFlow23 = UML.createObjectFlow();
+ assertValid(objectFlow23);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ objectFlow23.setTarget(callOperationAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ objectFlow23.setTarget(loopNode);
+
+ ObjectFlow objectFlow24 = UML.createObjectFlow();
+ assertValid(objectFlow24);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ objectFlow24.setTarget(valueSpecificationAction);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ objectFlow24.setTarget(acceptCallAction);
+
+ ObjectFlow objectFlow25 = UML.createObjectFlow();
+ assertValid(objectFlow25);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ objectFlow25.setTarget(addVariableValueAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ objectFlow25.setTarget(readLinkObjectEndAction);
+
+ ObjectFlow objectFlow26 = UML.createObjectFlow();
+ assertValid(objectFlow26);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ objectFlow26.setTarget(unmarshallAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ objectFlow26.setTarget(opaqueAction);
+
+ ObjectFlow objectFlow27 = UML.createObjectFlow();
+ assertValid(objectFlow27);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ objectFlow27.setTarget(mergeNode);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ objectFlow27.setTarget(sequenceNode);
+
+ ObjectFlow objectFlow28 = UML.createObjectFlow();
+ assertValid(objectFlow28);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ objectFlow28.setTarget(createObjectAction);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ objectFlow28.setTarget(destroyObjectAction);
+
+ ObjectFlow objectFlow29 = UML.createObjectFlow();
+ assertValid(objectFlow29);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ objectFlow29.setTarget(readStructuralFeatureAction);
+ }
+
+ public void testSource() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ objectFlow.setSource(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ objectFlow.setSource(removeVariableValueAction);
+
+ ObjectFlow objectFlow2 = UML.createObjectFlow();
+ assertValid(objectFlow2);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ objectFlow2.setSource(readSelfAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ objectFlow2.setSource(inputPin);
+
+ ObjectFlow objectFlow3 = UML.createObjectFlow();
+ assertValid(objectFlow3);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ objectFlow3.setSource(readLinkObjectEndQualifierAction);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ objectFlow3.setSource(joinNode);
+
+ ObjectFlow objectFlow4 = UML.createObjectFlow();
+ assertValid(objectFlow4);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ objectFlow4.setSource(createLinkObjectAction);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ objectFlow4.setSource(sendSignalAction);
+
+ ObjectFlow objectFlow5 = UML.createObjectFlow();
+ assertValid(objectFlow5);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ objectFlow5.setSource(readLinkAction);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ objectFlow5.setSource(replyAction);
+
+ ObjectFlow objectFlow6 = UML.createObjectFlow();
+ assertValid(objectFlow6);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ objectFlow6.setSource(clearAssociationAction);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ objectFlow6.setSource(flowFinalNode);
+
+ ObjectFlow objectFlow7 = UML.createObjectFlow();
+ assertValid(objectFlow7);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ objectFlow7.setSource(clearStructuralFeatureAction);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ objectFlow7.setSource(expansionRegion);
+
+ ObjectFlow objectFlow8 = UML.createObjectFlow();
+ assertValid(objectFlow8);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ objectFlow8.setSource(structuredActivityNode);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ objectFlow8.setSource(valuePin);
+
+ ObjectFlow objectFlow9 = UML.createObjectFlow();
+ assertValid(objectFlow9);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ objectFlow9.setSource(startObjectBehaviorAction);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ objectFlow9.setSource(forkNode);
+
+ ObjectFlow objectFlow10 = UML.createObjectFlow();
+ assertValid(objectFlow10);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ objectFlow10.setSource(decisionNode);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ objectFlow10.setSource(callBehaviorAction);
+
+ ObjectFlow objectFlow11 = UML.createObjectFlow();
+ assertValid(objectFlow11);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ objectFlow11.setSource(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ objectFlow11.setSource(readExtentAction);
+
+ ObjectFlow objectFlow12 = UML.createObjectFlow();
+ assertValid(objectFlow12);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ objectFlow12.setSource(actionInputPin);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ objectFlow12.setSource(readIsClassifiedObjectAction);
+
+ ObjectFlow objectFlow13 = UML.createObjectFlow();
+ assertValid(objectFlow13);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ objectFlow13.setSource(activityParameterNode);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ objectFlow13.setSource(addStructuralFeatureValueAction);
+
+ ObjectFlow objectFlow14 = UML.createObjectFlow();
+ assertValid(objectFlow14);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ objectFlow14.setSource(readVariableAction);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ objectFlow14.setSource(clearVariableAction);
+
+ ObjectFlow objectFlow15 = UML.createObjectFlow();
+ assertValid(objectFlow15);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ objectFlow15.setSource(removeStructuralFeatureValueAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ objectFlow15.setSource(createLinkAction);
+
+ ObjectFlow objectFlow16 = UML.createObjectFlow();
+ assertValid(objectFlow16);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ objectFlow16.setSource(reclassifyObjectAction);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ objectFlow16.setSource(dataStoreNode);
+
+ ObjectFlow objectFlow17 = UML.createObjectFlow();
+ assertValid(objectFlow17);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ objectFlow17.setSource(sendObjectAction);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ objectFlow17.setSource(reduceAction);
+
+ ObjectFlow objectFlow18 = UML.createObjectFlow();
+ assertValid(objectFlow18);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ objectFlow18.setSource(acceptEventAction);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ objectFlow18.setSource(destroyLinkAction);
+
+ ObjectFlow objectFlow19 = UML.createObjectFlow();
+ assertValid(objectFlow19);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ objectFlow19.setSource(expansionNode);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ objectFlow19.setSource(initialNode);
+
+ ObjectFlow objectFlow20 = UML.createObjectFlow();
+ assertValid(objectFlow20);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ objectFlow20.setSource(testIdentityAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ objectFlow20.setSource(outputPin);
+
+ ObjectFlow objectFlow21 = UML.createObjectFlow();
+ assertValid(objectFlow21);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ objectFlow21.setSource(centralBufferNode);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ objectFlow21.setSource(broadcastSignalAction);
+
+ ObjectFlow objectFlow22 = UML.createObjectFlow();
+ assertValid(objectFlow22);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ objectFlow22.setSource(raiseExceptionAction);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ objectFlow22.setSource(activityFinalNode);
+
+ ObjectFlow objectFlow23 = UML.createObjectFlow();
+ assertValid(objectFlow23);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ objectFlow23.setSource(callOperationAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ objectFlow23.setSource(loopNode);
+
+ ObjectFlow objectFlow24 = UML.createObjectFlow();
+ assertValid(objectFlow24);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ objectFlow24.setSource(valueSpecificationAction);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ objectFlow24.setSource(acceptCallAction);
+
+ ObjectFlow objectFlow25 = UML.createObjectFlow();
+ assertValid(objectFlow25);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ objectFlow25.setSource(addVariableValueAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ objectFlow25.setSource(readLinkObjectEndAction);
+
+ ObjectFlow objectFlow26 = UML.createObjectFlow();
+ assertValid(objectFlow26);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ objectFlow26.setSource(unmarshallAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ objectFlow26.setSource(opaqueAction);
+
+ ObjectFlow objectFlow27 = UML.createObjectFlow();
+ assertValid(objectFlow27);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ objectFlow27.setSource(mergeNode);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ objectFlow27.setSource(sequenceNode);
+
+ ObjectFlow objectFlow28 = UML.createObjectFlow();
+ assertValid(objectFlow28);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ objectFlow28.setSource(createObjectAction);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ objectFlow28.setSource(destroyObjectAction);
+
+ ObjectFlow objectFlow29 = UML.createObjectFlow();
+ assertValid(objectFlow29);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ objectFlow29.setSource(readStructuralFeatureAction);
+ }
+
+ public void testRedefinedEdge() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ objectFlow.getRedefinedEdges().add(controlFlow);
+ assertSuperset(objectFlow.getRedefinedElements().contains(controlFlow));
+
+ ObjectFlow objectFlow2 = UML.createObjectFlow();
+ assertValid(objectFlow2);
+ objectFlow.getRedefinedEdges().add(objectFlow2);
+ assertSuperset(objectFlow.getRedefinedElements().contains(objectFlow2));
+ }
+
+ public void testWeight() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ objectFlow.setWeight(literalBoolean);
+ assertSuperset(objectFlow.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ objectFlow.setWeight(interval);
+ assertSuperset(objectFlow.getOwnedElements().contains(interval));
+
+ ObjectFlow objectFlow2 = UML.createObjectFlow();
+ assertValid(objectFlow2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ objectFlow2.setWeight(opaqueExpression);
+ assertSuperset(
+ objectFlow2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ objectFlow2.setWeight(expression);
+ assertSuperset(objectFlow2.getOwnedElements().contains(expression));
+
+ ObjectFlow objectFlow3 = UML.createObjectFlow();
+ assertValid(objectFlow3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ objectFlow3.setWeight(literalReal);
+ assertSuperset(objectFlow3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ objectFlow3.setWeight(literalString);
+ assertSuperset(objectFlow3.getOwnedElements().contains(literalString));
+
+ ObjectFlow objectFlow4 = UML.createObjectFlow();
+ assertValid(objectFlow4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ objectFlow4.setWeight(literalNull);
+ assertSuperset(objectFlow4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ objectFlow4.setWeight(duration);
+ assertSuperset(objectFlow4.getOwnedElements().contains(duration));
+
+ ObjectFlow objectFlow5 = UML.createObjectFlow();
+ assertValid(objectFlow5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ objectFlow5.setWeight(literalInteger);
+ assertSuperset(objectFlow5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ objectFlow5.setWeight(durationInterval);
+ assertSuperset(
+ objectFlow5.getOwnedElements().contains(durationInterval));
+
+ ObjectFlow objectFlow6 = UML.createObjectFlow();
+ assertValid(objectFlow6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ objectFlow6.setWeight(stringExpression);
+ assertSuperset(
+ objectFlow6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ objectFlow6.setWeight(literalUnlimitedNatural);
+ assertSuperset(
+ objectFlow6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ObjectFlow objectFlow7 = UML.createObjectFlow();
+ assertValid(objectFlow7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ objectFlow7.setWeight(timeInterval);
+ assertSuperset(objectFlow7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ objectFlow7.setWeight(timeExpression);
+ assertSuperset(objectFlow7.getOwnedElements().contains(timeExpression));
+
+ ObjectFlow objectFlow8 = UML.createObjectFlow();
+ assertValid(objectFlow8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ objectFlow8.setWeight(instanceValue);
+ assertSuperset(objectFlow8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testInGroup() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ EList<ActivityGroup> activityGroups = objectFlow.getInGroups();
+ EList<ActivityGroup> activityGroups2 = objectFlow.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testSelection() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ objectFlow.setSelection(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ objectFlow.setSelection(stateMachine);
+ }
+
+ public void testTransformation() {
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ objectFlow.setTransformation(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ objectFlow.setTransformation(stateMachine);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OccurrenceSpecificationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OccurrenceSpecificationTest.java
new file mode 100755
index 00000000..12f1fea9
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OccurrenceSpecificationTest.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.StringExpression;
+
+/**
+ * @author Eike Stepper
+ */
+public class OccurrenceSpecificationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ occurrenceSpecification.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ occurrenceSpecification.getOwnedComments().add(comment);
+ assertSuperset(
+ occurrenceSpecification.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ EList<Element> elements = occurrenceSpecification.getOwnedElements();
+ EList<Element> elements2 = occurrenceSpecification.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ EList<Dependency> dependencys = occurrenceSpecification
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = occurrenceSpecification
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ occurrenceSpecification.setNameExpression(stringExpression);
+ assertSuperset(occurrenceSpecification.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testCovered() {
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ occurrenceSpecification.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ occurrenceSpecification.setEnclosingOperand(interactionOperand);
+ assertSuperset(
+ occurrenceSpecification.getNamespace() == interactionOperand);
+ }
+
+ public void testEnclosingInteraction() {
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ occurrenceSpecification.setEnclosingInteraction(interaction);
+ assertSuperset(occurrenceSpecification.getNamespace() == interaction);
+ }
+
+ public void testGeneralOrdering() {
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ occurrenceSpecification.getGeneralOrderings().add(generalOrdering);
+ assertSuperset(occurrenceSpecification.getOwnedElements()
+ .contains(generalOrdering));
+ }
+
+ public void testToAfter() {
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ occurrenceSpecification.getToAfters().add(generalOrdering);
+ }
+
+ public void testToBefore() {
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ occurrenceSpecification.getToBefores().add(generalOrdering);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OpaqueActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OpaqueActionTest.java
new file mode 100755
index 00000000..d49d7b91
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OpaqueActionTest.java
@@ -0,0 +1,752 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class OpaqueActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ opaqueAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ opaqueAction.getOwnedComments().add(comment);
+ assertSuperset(opaqueAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ EList<Element> elements = opaqueAction.getOwnedElements();
+ EList<Element> elements2 = opaqueAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ EList<Dependency> dependencys = opaqueAction.getClientDependencies();
+ EList<Dependency> dependencys2 = opaqueAction.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ opaqueAction.setNameExpression(stringExpression);
+ assertSuperset(
+ opaqueAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ EList<RedefinableElement> redefinableElements = opaqueAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = opaqueAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ EList<Classifier> classifiers = opaqueAction.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = opaqueAction.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ EList<ActivityGroup> activityGroups = opaqueAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = opaqueAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ opaqueAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ opaqueAction.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ opaqueAction.setInStructuredNode(loopNode);
+ assertSuperset(opaqueAction.getInGroups().contains(loopNode));
+ assertSuperset(opaqueAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ opaqueAction.setInStructuredNode(expansionRegion);
+ assertSuperset(opaqueAction.getInGroups().contains(expansionRegion));
+ assertSuperset(opaqueAction.getOwner() == expansionRegion);
+
+ OpaqueAction opaqueAction2 = UML.createOpaqueAction();
+ assertValid(opaqueAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ opaqueAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(opaqueAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(opaqueAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ opaqueAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ opaqueAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(opaqueAction2.getOwner() == structuredActivityNode);
+
+ OpaqueAction opaqueAction3 = UML.createOpaqueAction();
+ assertValid(opaqueAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ opaqueAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(opaqueAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(opaqueAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ opaqueAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ opaqueAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ opaqueAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ opaqueAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ opaqueAction.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ opaqueAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ opaqueAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ opaqueAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(opaqueAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ opaqueAction.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ opaqueAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(opaqueAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ opaqueAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ opaqueAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ opaqueAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ opaqueAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ opaqueAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ opaqueAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ opaqueAction.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ opaqueAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ opaqueAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ opaqueAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(opaqueAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ opaqueAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ opaqueAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(opaqueAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ opaqueAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ opaqueAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ opaqueAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ opaqueAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ opaqueAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ opaqueAction.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ opaqueAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ opaqueAction.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ opaqueAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ opaqueAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ opaqueAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ opaqueAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ opaqueAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ opaqueAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ opaqueAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ opaqueAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ opaqueAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ opaqueAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ opaqueAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ opaqueAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ opaqueAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ opaqueAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(opaqueAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ opaqueAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ opaqueAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ opaqueAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ opaqueAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ opaqueAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ opaqueAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(opaqueAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ opaqueAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ opaqueAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ opaqueAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ opaqueAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ opaqueAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction2 = UML.createOpaqueAction();
+ assertValid(opaqueAction2);
+ opaqueAction.getRedefinedNodes().add(opaqueAction2);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(opaqueAction2));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ opaqueAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(opaqueAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ opaqueAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ opaqueAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ opaqueAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ opaqueAction.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ opaqueAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(opaqueAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ opaqueAction.getInPartitions().add(activityPartition);
+ assertSuperset(opaqueAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ opaqueAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ opaqueAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ EList<InputPin> inputPins = opaqueAction.getInputs();
+ EList<InputPin> inputPins2 = opaqueAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ opaqueAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ opaqueAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ opaqueAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ opaqueAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ opaqueAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(
+ opaqueAction.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ opaqueAction.getLocalPostconditions().add(constraint);
+ assertSuperset(opaqueAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ opaqueAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ opaqueAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ opaqueAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ opaqueAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ opaqueAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ opaqueAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ opaqueAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(
+ opaqueAction.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ opaqueAction.getLocalPreconditions().add(constraint);
+ assertSuperset(opaqueAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ opaqueAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ opaqueAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ EList<OutputPin> outputPins = opaqueAction.getOutputs();
+ EList<OutputPin> outputPins2 = opaqueAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testInputValue() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ opaqueAction.getInputValues().add(inputPin);
+ assertSuperset(opaqueAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ opaqueAction.getInputValues().add(valuePin);
+ assertSuperset(opaqueAction.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ opaqueAction.getInputValues().add(actionInputPin);
+ assertSuperset(opaqueAction.getInputs().contains(actionInputPin));
+ }
+
+ public void testOutputValue() {
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ opaqueAction.getOutputValues().add(outputPin);
+ assertSuperset(opaqueAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OpaqueBehaviorTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OpaqueBehaviorTest.java
new file mode 100755
index 00000000..cbc69c73
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OpaqueBehaviorTest.java
@@ -0,0 +1,975 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class OpaqueBehaviorTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ opaqueBehavior.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ opaqueBehavior.getOwnedComments().add(comment);
+ assertSuperset(opaqueBehavior.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<Element> elements = opaqueBehavior.getOwnedElements();
+ EList<Element> elements2 = opaqueBehavior.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<Dependency> dependencys = opaqueBehavior.getClientDependencies();
+ EList<Dependency> dependencys2 = opaqueBehavior.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ opaqueBehavior.setNameExpression(stringExpression);
+ assertSuperset(
+ opaqueBehavior.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ opaqueBehavior.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ opaqueBehavior.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ opaqueBehavior.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ opaqueBehavior.getOwnedRules().add(constraint);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ opaqueBehavior.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ opaqueBehavior.getElementImports().add(elementImport);
+ assertSuperset(
+ opaqueBehavior.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ opaqueBehavior.getPackageImports().add(packageImport);
+ assertSuperset(
+ opaqueBehavior.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<NamedElement> namedElements = opaqueBehavior.getOwnedMembers();
+ EList<NamedElement> namedElements2 = opaqueBehavior.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<PackageableElement> packageableElements = opaqueBehavior
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = opaqueBehavior
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<NamedElement> namedElements = opaqueBehavior.getMembers();
+ EList<NamedElement> namedElements2 = opaqueBehavior.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<RedefinableElement> redefinableElements = opaqueBehavior
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = opaqueBehavior
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<Classifier> classifiers = opaqueBehavior
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = opaqueBehavior
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ opaqueBehavior.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(
+ opaqueBehavior.getOwner() == classifierTemplateParameter);
+ assertSuperset(opaqueBehavior
+ .getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ opaqueBehavior.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ opaqueBehavior.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ opaqueBehavior.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ opaqueBehavior.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(opaqueBehavior.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<Feature> features = opaqueBehavior.getFeatures();
+ EList<Feature> features2 = opaqueBehavior.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<Property> propertys = opaqueBehavior.getAttributes();
+ EList<Property> propertys2 = opaqueBehavior.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ opaqueBehavior.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ opaqueBehavior.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<Classifier> classifiers = opaqueBehavior.getGenerals();
+ EList<Classifier> classifiers2 = opaqueBehavior.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ opaqueBehavior.getGeneralizations().add(generalization);
+ assertSuperset(
+ opaqueBehavior.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ opaqueBehavior.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<NamedElement> namedElements = opaqueBehavior
+ .getInheritedMembers();
+ EList<NamedElement> namedElements2 = opaqueBehavior
+ .getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ opaqueBehavior.getOwnedUseCases().add(useCase);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ opaqueBehavior.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ opaqueBehavior.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ opaqueBehavior.getRedefinedClassifiers().add(activity);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ opaqueBehavior.getRedefinedClassifiers().add(interface_);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ opaqueBehavior.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ opaqueBehavior.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ opaqueBehavior.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(opaqueBehavior.getRedefinedElements()
+ .contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ opaqueBehavior.getRedefinedClassifiers().add(component);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ opaqueBehavior.getRedefinedClassifiers().add(interaction);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ opaqueBehavior.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(opaqueBehavior.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior2 = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior2);
+ opaqueBehavior.getRedefinedClassifiers().add(opaqueBehavior2);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(opaqueBehavior2));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ opaqueBehavior.getRedefinedClassifiers().add(association);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ opaqueBehavior.getRedefinedClassifiers().add(dataType);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ opaqueBehavior.getRedefinedClassifiers().add(device);
+ assertSuperset(opaqueBehavior.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ opaqueBehavior.getRedefinedClassifiers().add(extension);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ opaqueBehavior.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ opaqueBehavior.getRedefinedClassifiers().add(class_);
+ assertSuperset(opaqueBehavior.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ opaqueBehavior.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ opaqueBehavior.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ opaqueBehavior.getRedefinedClassifiers().add(actor);
+ assertSuperset(opaqueBehavior.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ opaqueBehavior.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(opaqueBehavior.getRedefinedElements()
+ .contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ opaqueBehavior.getRedefinedClassifiers().add(useCase);
+ assertSuperset(opaqueBehavior.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ opaqueBehavior.getRedefinedClassifiers().add(signal);
+ assertSuperset(opaqueBehavior.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ opaqueBehavior.getRedefinedClassifiers().add(node);
+ assertSuperset(opaqueBehavior.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ opaqueBehavior.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ opaqueBehavior.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ opaqueBehavior.getRedefinedClassifiers().add(artifact);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ opaqueBehavior.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ opaqueBehavior.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ opaqueBehavior.setRepresentation(collaborationUse);
+ assertSuperset(
+ opaqueBehavior.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ opaqueBehavior.getSubstitutions().add(substitution);
+ assertSuperset(
+ opaqueBehavior.getOwnedElements().contains(substitution));
+ assertSuperset(
+ opaqueBehavior.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ opaqueBehavior.getOwnedAttributes().add(port);
+ assertSuperset(opaqueBehavior.getAttributes().contains(port));
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(port));
+ assertSuperset(opaqueBehavior.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ opaqueBehavior.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(opaqueBehavior.getAttributes().contains(extensionEnd));
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(opaqueBehavior.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ opaqueBehavior.getOwnedAttributes().add(property);
+ assertSuperset(opaqueBehavior.getAttributes().contains(property));
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(property));
+ assertSuperset(opaqueBehavior.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ opaqueBehavior.getOwnedConnectors().add(connector);
+ assertSuperset(opaqueBehavior.getFeatures().contains(connector));
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<Property> propertys = opaqueBehavior.getParts();
+ EList<Property> propertys2 = opaqueBehavior.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<ConnectableElement> connectableElements = opaqueBehavior
+ .getRoles();
+ EList<ConnectableElement> connectableElements2 = opaqueBehavior
+ .getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testOwnedPort() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<Port> ports = opaqueBehavior.getOwnedPorts();
+ EList<Port> ports2 = opaqueBehavior.getOwnedPorts();
+ assertSame(ports, ports2);
+ }
+
+ public void testClassifierBehavior() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ opaqueBehavior.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(
+ opaqueBehavior.getOwnedBehaviors().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ opaqueBehavior.setClassifierBehavior(stateMachine);
+ assertSuperset(
+ opaqueBehavior.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ opaqueBehavior.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(
+ opaqueBehavior.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(opaqueBehavior.getClientDependencies()
+ .contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ opaqueBehavior.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ opaqueBehavior.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testOwnedOperation() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ opaqueBehavior.getOwnedOperations().add(operation);
+ assertSuperset(opaqueBehavior.getFeatures().contains(operation));
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(operation));
+ }
+
+ public void testExtension() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<Extension> extensions = opaqueBehavior.getExtensions();
+ EList<Extension> extensions2 = opaqueBehavior.getExtensions();
+ assertSame(extensions, extensions2);
+ }
+
+ public void testNestedClassifier() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ opaqueBehavior.getNestedClassifiers().add(functionBehavior);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ opaqueBehavior.getNestedClassifiers().add(activity);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ opaqueBehavior.getNestedClassifiers().add(interface_);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ opaqueBehavior.getNestedClassifiers().add(informationItem);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ opaqueBehavior.getNestedClassifiers().add(communicationPath);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ opaqueBehavior.getNestedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ opaqueBehavior.getNestedClassifiers().add(component);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ opaqueBehavior.getNestedClassifiers().add(interaction);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ opaqueBehavior.getNestedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior2 = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior2);
+ opaqueBehavior.getNestedClassifiers().add(opaqueBehavior2);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(opaqueBehavior2));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ opaqueBehavior.getNestedClassifiers().add(association);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ opaqueBehavior.getNestedClassifiers().add(dataType);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ opaqueBehavior.getNestedClassifiers().add(device);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ opaqueBehavior.getNestedClassifiers().add(extension);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ opaqueBehavior.getNestedClassifiers().add(associationClass);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ opaqueBehavior.getNestedClassifiers().add(class_);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ opaqueBehavior.getNestedClassifiers().add(enumeration);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ opaqueBehavior.getNestedClassifiers().add(primitiveType);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ opaqueBehavior.getNestedClassifiers().add(actor);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ opaqueBehavior.getNestedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ opaqueBehavior.getNestedClassifiers().add(useCase);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ opaqueBehavior.getNestedClassifiers().add(signal);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ opaqueBehavior.getNestedClassifiers().add(node);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ opaqueBehavior.getNestedClassifiers().add(stereotype);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ opaqueBehavior.getNestedClassifiers().add(stateMachine);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ opaqueBehavior.getNestedClassifiers().add(artifact);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ opaqueBehavior.getNestedClassifiers().add(collaboration);
+ assertSuperset(
+ opaqueBehavior.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedReception() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ opaqueBehavior.getOwnedReceptions().add(reception);
+ assertSuperset(opaqueBehavior.getFeatures().contains(reception));
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(reception));
+ }
+
+ public void testSuperClass() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ EList<org.eclipse.uml2.uml.Class> class_s = opaqueBehavior
+ .getSuperClasses();
+ EList<org.eclipse.uml2.uml.Class> class_s2 = opaqueBehavior
+ .getSuperClasses();
+ assertSame(class_s, class_s2);
+ }
+
+ public void testSpecification() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ opaqueBehavior.setSpecification(reception);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ opaqueBehavior.setSpecification(operation);
+ }
+
+ public void testOwnedParameter() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ opaqueBehavior.getOwnedParameters().add(parameter);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(parameter));
+ }
+
+ public void testOwnedParameterSet() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ opaqueBehavior.getOwnedParameterSets().add(parameterSet);
+ assertSuperset(opaqueBehavior.getOwnedMembers().contains(parameterSet));
+ }
+
+ public void testPostcondition() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ opaqueBehavior.getPostconditions().add(intervalConstraint);
+ assertSuperset(
+ opaqueBehavior.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ opaqueBehavior.getPostconditions().add(timeConstraint);
+ assertSuperset(opaqueBehavior.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ opaqueBehavior.getPostconditions().add(interactionConstraint);
+ assertSuperset(
+ opaqueBehavior.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ opaqueBehavior.getPostconditions().add(constraint);
+ assertSuperset(opaqueBehavior.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ opaqueBehavior.getPostconditions().add(durationConstraint);
+ assertSuperset(
+ opaqueBehavior.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testPrecondition() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ opaqueBehavior.getPreconditions().add(intervalConstraint);
+ assertSuperset(
+ opaqueBehavior.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ opaqueBehavior.getPreconditions().add(timeConstraint);
+ assertSuperset(opaqueBehavior.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ opaqueBehavior.getPreconditions().add(interactionConstraint);
+ assertSuperset(
+ opaqueBehavior.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ opaqueBehavior.getPreconditions().add(constraint);
+ assertSuperset(opaqueBehavior.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ opaqueBehavior.getPreconditions().add(durationConstraint);
+ assertSuperset(
+ opaqueBehavior.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testRedefinedBehavior() {
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ opaqueBehavior.getRedefinedBehaviors().add(protocolStateMachine);
+ assertSuperset(opaqueBehavior.getRedefinedClassifiers()
+ .contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ opaqueBehavior.getRedefinedBehaviors().add(stateMachine);
+ assertSuperset(
+ opaqueBehavior.getRedefinedClassifiers().contains(stateMachine));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OpaqueExpressionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OpaqueExpressionTest.java
new file mode 100755
index 00000000..a404f805
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OpaqueExpressionTest.java
@@ -0,0 +1,316 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class OpaqueExpressionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ opaqueExpression.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ opaqueExpression.getOwnedComments().add(comment);
+ assertSuperset(opaqueExpression.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ EList<Element> elements = opaqueExpression.getOwnedElements();
+ EList<Element> elements2 = opaqueExpression.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ EList<Dependency> dependencys = opaqueExpression
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = opaqueExpression
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ opaqueExpression.setNameExpression(stringExpression);
+ assertSuperset(
+ opaqueExpression.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ opaqueExpression.setOwningTemplateParameter(templateParameter);
+ assertSuperset(opaqueExpression.getOwner() == templateParameter);
+ assertSuperset(
+ opaqueExpression.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ opaqueExpression.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ opaqueExpression.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ opaqueExpression.setType(activity);
+
+ OpaqueExpression opaqueExpression2 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ opaqueExpression2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ opaqueExpression2.setType(informationItem);
+
+ OpaqueExpression opaqueExpression3 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ opaqueExpression3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ opaqueExpression3.setType(executionEnvironment);
+
+ OpaqueExpression opaqueExpression4 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ opaqueExpression4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ opaqueExpression4.setType(interaction);
+
+ OpaqueExpression opaqueExpression5 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ opaqueExpression5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ opaqueExpression5.setType(opaqueBehavior);
+
+ OpaqueExpression opaqueExpression6 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ opaqueExpression6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ opaqueExpression6.setType(dataType);
+
+ OpaqueExpression opaqueExpression7 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ opaqueExpression7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ opaqueExpression7.setType(extension);
+
+ OpaqueExpression opaqueExpression8 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ opaqueExpression8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ opaqueExpression8.setType(class_);
+
+ OpaqueExpression opaqueExpression9 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ opaqueExpression9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ opaqueExpression9.setType(primitiveType);
+
+ OpaqueExpression opaqueExpression10 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ opaqueExpression10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ opaqueExpression10.setType(protocolStateMachine);
+
+ OpaqueExpression opaqueExpression11 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ opaqueExpression11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ opaqueExpression11.setType(signal);
+
+ OpaqueExpression opaqueExpression12 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ opaqueExpression12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ opaqueExpression12.setType(stereotype);
+
+ OpaqueExpression opaqueExpression13 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ opaqueExpression13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ opaqueExpression13.setType(artifact);
+
+ OpaqueExpression opaqueExpression14 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ opaqueExpression14.setType(collaboration);
+ }
+
+ public void testBehavior() {
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ opaqueExpression.setBehavior(protocolStateMachine);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ opaqueExpression.setBehavior(functionBehavior);
+
+ OpaqueExpression opaqueExpression2 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression2);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ opaqueExpression2.setBehavior(activity);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ opaqueExpression2.setBehavior(interaction);
+
+ OpaqueExpression opaqueExpression3 = UML.createOpaqueExpression();
+ assertValid(opaqueExpression3);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ opaqueExpression3.setBehavior(opaqueBehavior);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ opaqueExpression3.setBehavior(stateMachine);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OperationTemplateParameterTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OperationTemplateParameterTest.java
new file mode 100755
index 00000000..7adc38a4
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OperationTemplateParameterTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.TemplateSignature;
+
+/**
+ * @author Eike Stepper
+ */
+public class OperationTemplateParameterTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ operationTemplateParameter.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ operationTemplateParameter.getOwnedComments().add(comment);
+ assertSuperset(
+ operationTemplateParameter.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ EList<Element> elements = operationTemplateParameter.getOwnedElements();
+ EList<Element> elements2 = operationTemplateParameter
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testParameteredElement() {
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ operationTemplateParameter.setParameteredElement(operation);
+ }
+
+ public void testSignature() {
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ operationTemplateParameter.setSignature(templateSignature);
+ assertSuperset(
+ operationTemplateParameter.getOwner() == templateSignature);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ operationTemplateParameter.setSignature(redefinableTemplateSignature);
+ assertSuperset(operationTemplateParameter
+ .getOwner() == redefinableTemplateSignature);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OperationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OperationTest.java
new file mode 100755
index 00000000..5798826d
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OperationTest.java
@@ -0,0 +1,725 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class OperationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ operation.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ operation.getOwnedComments().add(comment);
+ assertSuperset(operation.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ EList<Element> elements = operation.getOwnedElements();
+ EList<Element> elements2 = operation.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ EList<Dependency> dependencys = operation.getClientDependencies();
+ EList<Dependency> dependencys2 = operation.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ operation.setNameExpression(stringExpression);
+ assertSuperset(operation.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ operation.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ operation.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ operation.getOwnedRules().add(timeConstraint);
+ assertSuperset(operation.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ operation.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ operation.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ operation.getOwnedRules().add(constraint);
+ assertSuperset(operation.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ operation.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ operation.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ operation.getElementImports().add(elementImport);
+ assertSuperset(operation.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ operation.getPackageImports().add(packageImport);
+ assertSuperset(operation.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ EList<NamedElement> namedElements = operation.getOwnedMembers();
+ EList<NamedElement> namedElements2 = operation.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ EList<PackageableElement> packageableElements = operation
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = operation
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ EList<NamedElement> namedElements = operation.getMembers();
+ EList<NamedElement> namedElements2 = operation.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ EList<RedefinableElement> redefinableElements = operation
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = operation
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ EList<Classifier> classifiers = operation.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = operation.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testFeaturingClassifier() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ EList<Classifier> classifiers = operation.getFeaturingClassifiers();
+ EList<Classifier> classifiers2 = operation.getFeaturingClassifiers();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testMethod() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ operation.getMethods().add(protocolStateMachine);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ operation.getMethods().add(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ operation.getMethods().add(activity);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ operation.getMethods().add(interaction);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ operation.getMethods().add(opaqueBehavior);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ operation.getMethods().add(stateMachine);
+ }
+
+ public void testOwnedParameter() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ operation.getOwnedParameters().add(parameter);
+ assertSuperset(operation.getOwnedMembers().contains(parameter));
+ }
+
+ public void testOwnedParameterSet() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ operation.getOwnedParameterSets().add(parameterSet);
+ assertSuperset(operation.getOwnedMembers().contains(parameterSet));
+ }
+
+ public void testRaisedException() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ operation.getRaisedExceptions().add(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ operation.getRaisedExceptions().add(activity);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ operation.getRaisedExceptions().add(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ operation.getRaisedExceptions().add(informationItem);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ operation.getRaisedExceptions().add(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ operation.getRaisedExceptions().add(executionEnvironment);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ operation.getRaisedExceptions().add(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ operation.getRaisedExceptions().add(interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ operation.getRaisedExceptions().add(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ operation.getRaisedExceptions().add(opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ operation.getRaisedExceptions().add(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ operation.getRaisedExceptions().add(dataType);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ operation.getRaisedExceptions().add(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ operation.getRaisedExceptions().add(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ operation.getRaisedExceptions().add(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ operation.getRaisedExceptions().add(class_);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ operation.getRaisedExceptions().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ operation.getRaisedExceptions().add(primitiveType);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ operation.getRaisedExceptions().add(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ operation.getRaisedExceptions().add(protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ operation.getRaisedExceptions().add(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ operation.getRaisedExceptions().add(signal);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ operation.getRaisedExceptions().add(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ operation.getRaisedExceptions().add(stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ operation.getRaisedExceptions().add(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ operation.getRaisedExceptions().add(artifact);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ operation.getRaisedExceptions().add(collaboration);
+ }
+
+ public void testOwningTemplateParameter() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ operation.setOwningTemplateParameter(operationTemplateParameter);
+ assertSuperset(operation.getOwner() == operationTemplateParameter);
+ assertSuperset(
+ operation.getTemplateParameter() == operationTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ operation.setTemplateParameter(operationTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ operation.getTemplateBindings().add(templateBinding);
+ assertSuperset(operation.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ operation.setOwnedTemplateSignature(templateSignature);
+ assertSuperset(
+ operation.getOwnedElements().contains(templateSignature));
+ }
+
+ public void testBodyCondition() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ operation.setBodyCondition(intervalConstraint);
+ assertSuperset(operation.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ operation.setBodyCondition(timeConstraint);
+ assertSuperset(operation.getOwnedRules().contains(timeConstraint));
+
+ Operation operation2 = UML.createOperation();
+ assertValid(operation2);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ operation2.setBodyCondition(interactionConstraint);
+ assertSuperset(
+ operation2.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ operation2.setBodyCondition(constraint);
+ assertSuperset(operation2.getOwnedRules().contains(constraint));
+
+ Operation operation3 = UML.createOperation();
+ assertValid(operation3);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ operation3.setBodyCondition(durationConstraint);
+ assertSuperset(operation3.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testClass() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ operation.setClass_(functionBehavior);
+ assertSuperset(
+ operation.getFeaturingClassifiers().contains(functionBehavior));
+ assertSuperset(operation.getNamespace() == functionBehavior);
+ assertSuperset(
+ operation.getRedefinitionContexts().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ operation.setClass_(activity);
+ assertSuperset(operation.getFeaturingClassifiers().contains(activity));
+ assertSuperset(operation.getNamespace() == activity);
+ assertSuperset(operation.getRedefinitionContexts().contains(activity));
+
+ Operation operation2 = UML.createOperation();
+ assertValid(operation2);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ operation2.setClass_(associationClass);
+ assertSuperset(
+ operation2.getFeaturingClassifiers().contains(associationClass));
+ assertSuperset(operation2.getNamespace() == associationClass);
+ assertSuperset(
+ operation2.getRedefinitionContexts().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ operation2.setClass_(class_);
+ assertSuperset(operation2.getFeaturingClassifiers().contains(class_));
+ assertSuperset(operation2.getNamespace() == class_);
+ assertSuperset(operation2.getRedefinitionContexts().contains(class_));
+
+ Operation operation3 = UML.createOperation();
+ assertValid(operation3);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ operation3.setClass_(executionEnvironment);
+ assertSuperset(operation3.getFeaturingClassifiers()
+ .contains(executionEnvironment));
+ assertSuperset(operation3.getNamespace() == executionEnvironment);
+ assertSuperset(operation3.getRedefinitionContexts()
+ .contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ operation3.setClass_(component);
+ assertSuperset(
+ operation3.getFeaturingClassifiers().contains(component));
+ assertSuperset(operation3.getNamespace() == component);
+ assertSuperset(
+ operation3.getRedefinitionContexts().contains(component));
+
+ Operation operation4 = UML.createOperation();
+ assertValid(operation4);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ operation4.setClass_(protocolStateMachine);
+ assertSuperset(operation4.getFeaturingClassifiers()
+ .contains(protocolStateMachine));
+ assertSuperset(operation4.getNamespace() == protocolStateMachine);
+ assertSuperset(operation4.getRedefinitionContexts()
+ .contains(protocolStateMachine));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ operation4.setClass_(interaction);
+ assertSuperset(
+ operation4.getFeaturingClassifiers().contains(interaction));
+ assertSuperset(operation4.getNamespace() == interaction);
+ assertSuperset(
+ operation4.getRedefinitionContexts().contains(interaction));
+
+ Operation operation5 = UML.createOperation();
+ assertValid(operation5);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ operation5.setClass_(opaqueBehavior);
+ assertSuperset(
+ operation5.getFeaturingClassifiers().contains(opaqueBehavior));
+ assertSuperset(operation5.getNamespace() == opaqueBehavior);
+ assertSuperset(
+ operation5.getRedefinitionContexts().contains(opaqueBehavior));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ operation5.setClass_(node);
+ assertSuperset(operation5.getFeaturingClassifiers().contains(node));
+ assertSuperset(operation5.getNamespace() == node);
+ assertSuperset(operation5.getRedefinitionContexts().contains(node));
+
+ Operation operation6 = UML.createOperation();
+ assertValid(operation6);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ operation6.setClass_(stereotype);
+ assertSuperset(
+ operation6.getFeaturingClassifiers().contains(stereotype));
+ assertSuperset(operation6.getNamespace() == stereotype);
+ assertSuperset(
+ operation6.getRedefinitionContexts().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ operation6.setClass_(stateMachine);
+ assertSuperset(
+ operation6.getFeaturingClassifiers().contains(stateMachine));
+ assertSuperset(operation6.getNamespace() == stateMachine);
+ assertSuperset(
+ operation6.getRedefinitionContexts().contains(stateMachine));
+
+ Operation operation7 = UML.createOperation();
+ assertValid(operation7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ operation7.setClass_(device);
+ assertSuperset(operation7.getFeaturingClassifiers().contains(device));
+ assertSuperset(operation7.getNamespace() == device);
+ assertSuperset(operation7.getRedefinitionContexts().contains(device));
+ }
+
+ public void testDatatype() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ operation.setDatatype(enumeration);
+ assertSuperset(
+ operation.getFeaturingClassifiers().contains(enumeration));
+ assertSuperset(operation.getNamespace() == enumeration);
+ assertSuperset(
+ operation.getRedefinitionContexts().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ operation.setDatatype(primitiveType);
+ assertSuperset(
+ operation.getFeaturingClassifiers().contains(primitiveType));
+ assertSuperset(operation.getNamespace() == primitiveType);
+ assertSuperset(
+ operation.getRedefinitionContexts().contains(primitiveType));
+
+ Operation operation2 = UML.createOperation();
+ assertValid(operation2);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ operation2.setDatatype(dataType);
+ assertSuperset(operation2.getFeaturingClassifiers().contains(dataType));
+ assertSuperset(operation2.getNamespace() == dataType);
+ assertSuperset(operation2.getRedefinitionContexts().contains(dataType));
+ }
+
+ public void testInterface() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ operation.setInterface(interface_);
+ assertSuperset(
+ operation.getFeaturingClassifiers().contains(interface_));
+ assertSuperset(operation.getNamespace() == interface_);
+ assertSuperset(
+ operation.getRedefinitionContexts().contains(interface_));
+ }
+
+ public void testPostcondition() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ operation.getPostconditions().add(intervalConstraint);
+ assertSuperset(operation.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ operation.getPostconditions().add(timeConstraint);
+ assertSuperset(operation.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ operation.getPostconditions().add(interactionConstraint);
+ assertSuperset(
+ operation.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ operation.getPostconditions().add(constraint);
+ assertSuperset(operation.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ operation.getPostconditions().add(durationConstraint);
+ assertSuperset(operation.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testPrecondition() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ operation.getPreconditions().add(intervalConstraint);
+ assertSuperset(operation.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ operation.getPreconditions().add(timeConstraint);
+ assertSuperset(operation.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ operation.getPreconditions().add(interactionConstraint);
+ assertSuperset(
+ operation.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ operation.getPreconditions().add(constraint);
+ assertSuperset(operation.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ operation.getPreconditions().add(durationConstraint);
+ assertSuperset(operation.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testRedefinedOperation() {
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+
+ Operation operation2 = UML.createOperation();
+ assertValid(operation2);
+ operation.getRedefinedOperations().add(operation2);
+ assertSuperset(operation.getRedefinedElements().contains(operation2));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OutputPinTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OutputPinTest.java
new file mode 100755
index 00000000..c44d1ea2
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/OutputPinTest.java
@@ -0,0 +1,1143 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class OutputPinTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ outputPin.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ outputPin.getOwnedComments().add(comment);
+ assertSuperset(outputPin.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ EList<Element> elements = outputPin.getOwnedElements();
+ EList<Element> elements2 = outputPin.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ EList<Dependency> dependencys = outputPin.getClientDependencies();
+ EList<Dependency> dependencys2 = outputPin.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ outputPin.setNameExpression(stringExpression);
+ assertSuperset(outputPin.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ EList<RedefinableElement> redefinableElements = outputPin
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = outputPin
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ EList<Classifier> classifiers = outputPin.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = outputPin.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ EList<ActivityGroup> activityGroups = outputPin.getInGroups();
+ EList<ActivityGroup> activityGroups2 = outputPin.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ outputPin.getInInterruptibleRegions().add(interruptibleActivityRegion);
+ assertSuperset(
+ outputPin.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ outputPin.setInStructuredNode(loopNode);
+ assertSuperset(outputPin.getInGroups().contains(loopNode));
+ assertSuperset(outputPin.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ outputPin.setInStructuredNode(expansionRegion);
+ assertSuperset(outputPin.getInGroups().contains(expansionRegion));
+ assertSuperset(outputPin.getOwner() == expansionRegion);
+
+ OutputPin outputPin2 = UML.createOutputPin();
+ assertValid(outputPin2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ outputPin2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ outputPin2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(outputPin2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ outputPin2.setInStructuredNode(conditionalNode);
+ assertSuperset(outputPin2.getInGroups().contains(conditionalNode));
+ assertSuperset(outputPin2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ outputPin.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ outputPin.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ outputPin.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ outputPin.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ outputPin.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(outputPin.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ outputPin.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(outputPin.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ outputPin.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ outputPin.getRedefinedNodes().add(inputPin);
+ assertSuperset(outputPin.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ outputPin.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(outputPin.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ outputPin.getRedefinedNodes().add(joinNode);
+ assertSuperset(outputPin.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ outputPin.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ outputPin.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ outputPin.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ outputPin.getRedefinedNodes().add(replyAction);
+ assertSuperset(outputPin.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ outputPin.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ outputPin.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ outputPin.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(outputPin.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ outputPin.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ outputPin.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ outputPin.getRedefinedNodes().add(valuePin);
+ assertSuperset(outputPin.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ outputPin.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(outputPin.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ outputPin.getRedefinedNodes().add(forkNode);
+ assertSuperset(outputPin.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ outputPin.getRedefinedNodes().add(decisionNode);
+ assertSuperset(outputPin.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ outputPin.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ outputPin.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ outputPin.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ outputPin.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ outputPin.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(outputPin.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ outputPin.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ outputPin.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(outputPin.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ outputPin.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ outputPin.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ outputPin.getRedefinedNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(outputPin.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ outputPin.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ outputPin.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ outputPin.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ outputPin.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ outputPin.getRedefinedNodes().add(reduceAction);
+ assertSuperset(outputPin.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ outputPin.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ outputPin.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ outputPin.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ outputPin.getRedefinedNodes().add(initialNode);
+ assertSuperset(outputPin.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ outputPin.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin2 = UML.createOutputPin();
+ assertValid(outputPin2);
+ outputPin.getRedefinedNodes().add(outputPin2);
+ assertSuperset(outputPin.getRedefinedElements().contains(outputPin2));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ outputPin.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ outputPin.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ outputPin.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ outputPin.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ outputPin.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ outputPin.getRedefinedNodes().add(loopNode);
+ assertSuperset(outputPin.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ outputPin.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(outputPin.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ outputPin.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ outputPin.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ outputPin.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ outputPin.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ outputPin.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(outputPin.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ outputPin.getRedefinedNodes().add(mergeNode);
+ assertSuperset(outputPin.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ outputPin.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(outputPin.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ outputPin.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ outputPin.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ outputPin.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ outputPin.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(outputPin.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ outputPin.getInPartitions().add(activityPartition);
+ assertSuperset(outputPin.getInGroups().contains(activityPartition));
+ }
+
+ public void testType() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ outputPin.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ outputPin.setType(activity);
+
+ OutputPin outputPin2 = UML.createOutputPin();
+ assertValid(outputPin2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ outputPin2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ outputPin2.setType(informationItem);
+
+ OutputPin outputPin3 = UML.createOutputPin();
+ assertValid(outputPin3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ outputPin3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ outputPin3.setType(executionEnvironment);
+
+ OutputPin outputPin4 = UML.createOutputPin();
+ assertValid(outputPin4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ outputPin4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ outputPin4.setType(interaction);
+
+ OutputPin outputPin5 = UML.createOutputPin();
+ assertValid(outputPin5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ outputPin5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ outputPin5.setType(opaqueBehavior);
+
+ OutputPin outputPin6 = UML.createOutputPin();
+ assertValid(outputPin6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ outputPin6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ outputPin6.setType(dataType);
+
+ OutputPin outputPin7 = UML.createOutputPin();
+ assertValid(outputPin7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ outputPin7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ outputPin7.setType(extension);
+
+ OutputPin outputPin8 = UML.createOutputPin();
+ assertValid(outputPin8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ outputPin8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ outputPin8.setType(class_);
+
+ OutputPin outputPin9 = UML.createOutputPin();
+ assertValid(outputPin9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ outputPin9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ outputPin9.setType(primitiveType);
+
+ OutputPin outputPin10 = UML.createOutputPin();
+ assertValid(outputPin10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ outputPin10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ outputPin10.setType(protocolStateMachine);
+
+ OutputPin outputPin11 = UML.createOutputPin();
+ assertValid(outputPin11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ outputPin11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ outputPin11.setType(signal);
+
+ OutputPin outputPin12 = UML.createOutputPin();
+ assertValid(outputPin12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ outputPin12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ outputPin12.setType(stereotype);
+
+ OutputPin outputPin13 = UML.createOutputPin();
+ assertValid(outputPin13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ outputPin13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ outputPin13.setType(artifact);
+
+ OutputPin outputPin14 = UML.createOutputPin();
+ assertValid(outputPin14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ outputPin14.setType(collaboration);
+ }
+
+ public void testInState() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ outputPin.getInStates().add(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ outputPin.getInStates().add(state);
+ }
+
+ public void testSelection() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ outputPin.setSelection(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ outputPin.setSelection(stateMachine);
+ }
+
+ public void testUpperBound() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ outputPin.setUpperBound(literalBoolean);
+ assertSuperset(outputPin.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ outputPin.setUpperBound(interval);
+ assertSuperset(outputPin.getOwnedElements().contains(interval));
+
+ OutputPin outputPin2 = UML.createOutputPin();
+ assertValid(outputPin2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ outputPin2.setUpperBound(opaqueExpression);
+ assertSuperset(
+ outputPin2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ outputPin2.setUpperBound(expression);
+ assertSuperset(outputPin2.getOwnedElements().contains(expression));
+
+ OutputPin outputPin3 = UML.createOutputPin();
+ assertValid(outputPin3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ outputPin3.setUpperBound(literalReal);
+ assertSuperset(outputPin3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ outputPin3.setUpperBound(literalString);
+ assertSuperset(outputPin3.getOwnedElements().contains(literalString));
+
+ OutputPin outputPin4 = UML.createOutputPin();
+ assertValid(outputPin4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ outputPin4.setUpperBound(literalNull);
+ assertSuperset(outputPin4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ outputPin4.setUpperBound(duration);
+ assertSuperset(outputPin4.getOwnedElements().contains(duration));
+
+ OutputPin outputPin5 = UML.createOutputPin();
+ assertValid(outputPin5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ outputPin5.setUpperBound(literalInteger);
+ assertSuperset(outputPin5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ outputPin5.setUpperBound(durationInterval);
+ assertSuperset(
+ outputPin5.getOwnedElements().contains(durationInterval));
+
+ OutputPin outputPin6 = UML.createOutputPin();
+ assertValid(outputPin6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ outputPin6.setUpperBound(stringExpression);
+ assertSuperset(
+ outputPin6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ outputPin6.setUpperBound(literalUnlimitedNatural);
+ assertSuperset(
+ outputPin6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ OutputPin outputPin7 = UML.createOutputPin();
+ assertValid(outputPin7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ outputPin7.setUpperBound(timeInterval);
+ assertSuperset(outputPin7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ outputPin7.setUpperBound(timeExpression);
+ assertSuperset(outputPin7.getOwnedElements().contains(timeExpression));
+
+ OutputPin outputPin8 = UML.createOutputPin();
+ assertValid(outputPin8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ outputPin8.setUpperBound(instanceValue);
+ assertSuperset(outputPin8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testLowerValue() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ outputPin.setLowerValue(literalBoolean);
+ assertSuperset(outputPin.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ outputPin.setLowerValue(interval);
+ assertSuperset(outputPin.getOwnedElements().contains(interval));
+
+ OutputPin outputPin2 = UML.createOutputPin();
+ assertValid(outputPin2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ outputPin2.setLowerValue(opaqueExpression);
+ assertSuperset(
+ outputPin2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ outputPin2.setLowerValue(expression);
+ assertSuperset(outputPin2.getOwnedElements().contains(expression));
+
+ OutputPin outputPin3 = UML.createOutputPin();
+ assertValid(outputPin3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ outputPin3.setLowerValue(literalReal);
+ assertSuperset(outputPin3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ outputPin3.setLowerValue(literalString);
+ assertSuperset(outputPin3.getOwnedElements().contains(literalString));
+
+ OutputPin outputPin4 = UML.createOutputPin();
+ assertValid(outputPin4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ outputPin4.setLowerValue(literalNull);
+ assertSuperset(outputPin4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ outputPin4.setLowerValue(duration);
+ assertSuperset(outputPin4.getOwnedElements().contains(duration));
+
+ OutputPin outputPin5 = UML.createOutputPin();
+ assertValid(outputPin5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ outputPin5.setLowerValue(literalInteger);
+ assertSuperset(outputPin5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ outputPin5.setLowerValue(durationInterval);
+ assertSuperset(
+ outputPin5.getOwnedElements().contains(durationInterval));
+
+ OutputPin outputPin6 = UML.createOutputPin();
+ assertValid(outputPin6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ outputPin6.setLowerValue(stringExpression);
+ assertSuperset(
+ outputPin6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ outputPin6.setLowerValue(literalUnlimitedNatural);
+ assertSuperset(
+ outputPin6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ OutputPin outputPin7 = UML.createOutputPin();
+ assertValid(outputPin7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ outputPin7.setLowerValue(timeInterval);
+ assertSuperset(outputPin7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ outputPin7.setLowerValue(timeExpression);
+ assertSuperset(outputPin7.getOwnedElements().contains(timeExpression));
+
+ OutputPin outputPin8 = UML.createOutputPin();
+ assertValid(outputPin8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ outputPin8.setLowerValue(instanceValue);
+ assertSuperset(outputPin8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testUpperValue() {
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ outputPin.setUpperValue(literalBoolean);
+ assertSuperset(outputPin.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ outputPin.setUpperValue(interval);
+ assertSuperset(outputPin.getOwnedElements().contains(interval));
+
+ OutputPin outputPin2 = UML.createOutputPin();
+ assertValid(outputPin2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ outputPin2.setUpperValue(opaqueExpression);
+ assertSuperset(
+ outputPin2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ outputPin2.setUpperValue(expression);
+ assertSuperset(outputPin2.getOwnedElements().contains(expression));
+
+ OutputPin outputPin3 = UML.createOutputPin();
+ assertValid(outputPin3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ outputPin3.setUpperValue(literalReal);
+ assertSuperset(outputPin3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ outputPin3.setUpperValue(literalString);
+ assertSuperset(outputPin3.getOwnedElements().contains(literalString));
+
+ OutputPin outputPin4 = UML.createOutputPin();
+ assertValid(outputPin4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ outputPin4.setUpperValue(literalNull);
+ assertSuperset(outputPin4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ outputPin4.setUpperValue(duration);
+ assertSuperset(outputPin4.getOwnedElements().contains(duration));
+
+ OutputPin outputPin5 = UML.createOutputPin();
+ assertValid(outputPin5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ outputPin5.setUpperValue(literalInteger);
+ assertSuperset(outputPin5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ outputPin5.setUpperValue(durationInterval);
+ assertSuperset(
+ outputPin5.getOwnedElements().contains(durationInterval));
+
+ OutputPin outputPin6 = UML.createOutputPin();
+ assertValid(outputPin6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ outputPin6.setUpperValue(stringExpression);
+ assertSuperset(
+ outputPin6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ outputPin6.setUpperValue(literalUnlimitedNatural);
+ assertSuperset(
+ outputPin6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ OutputPin outputPin7 = UML.createOutputPin();
+ assertValid(outputPin7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ outputPin7.setUpperValue(timeInterval);
+ assertSuperset(outputPin7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ outputPin7.setUpperValue(timeExpression);
+ assertSuperset(outputPin7.getOwnedElements().contains(timeExpression));
+
+ OutputPin outputPin8 = UML.createOutputPin();
+ assertValid(outputPin8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ outputPin8.setUpperValue(instanceValue);
+ assertSuperset(outputPin8.getOwnedElements().contains(instanceValue));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PackageImportTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PackageImportTest.java
new file mode 100755
index 00000000..0946c7c7
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PackageImportTest.java
@@ -0,0 +1,478 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class PackageImportTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ packageImport.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ packageImport.getOwnedComments().add(comment);
+ assertSuperset(packageImport.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ EList<Element> elements = packageImport.getOwnedElements();
+ EList<Element> elements2 = packageImport.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testRelatedElement() {
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ EList<Element> elements = packageImport.getRelatedElements();
+ EList<Element> elements2 = packageImport.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ EList<Element> elements = packageImport.getSources();
+ EList<Element> elements2 = packageImport.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ EList<Element> elements = packageImport.getTargets();
+ EList<Element> elements2 = packageImport.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testImportedPackage() {
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ packageImport.setImportedPackage(profile);
+ assertSuperset(packageImport.getTargets().contains(profile));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ packageImport.setImportedPackage(model);
+ assertSuperset(packageImport.getTargets().contains(model));
+
+ PackageImport packageImport2 = UML.createPackageImport();
+ assertValid(packageImport2);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ packageImport2.setImportedPackage(package_);
+ assertSuperset(packageImport2.getTargets().contains(package_));
+ }
+
+ public void testImportingNamespace() {
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ packageImport.setImportingNamespace(functionBehavior);
+ assertSuperset(packageImport.getSources().contains(functionBehavior));
+ assertSuperset(packageImport.getOwner() == functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ packageImport.setImportingNamespace(activity);
+ assertSuperset(packageImport.getSources().contains(activity));
+ assertSuperset(packageImport.getOwner() == activity);
+
+ PackageImport packageImport2 = UML.createPackageImport();
+ assertValid(packageImport2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ packageImport2.setImportingNamespace(interface_);
+ assertSuperset(packageImport2.getSources().contains(interface_));
+ assertSuperset(packageImport2.getOwner() == interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ packageImport2.setImportingNamespace(informationItem);
+ assertSuperset(packageImport2.getSources().contains(informationItem));
+ assertSuperset(packageImport2.getOwner() == informationItem);
+
+ PackageImport packageImport3 = UML.createPackageImport();
+ assertValid(packageImport3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ packageImport3.setImportingNamespace(communicationPath);
+ assertSuperset(packageImport3.getSources().contains(communicationPath));
+ assertSuperset(packageImport3.getOwner() == communicationPath);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ packageImport3.setImportingNamespace(region);
+ assertSuperset(packageImport3.getSources().contains(region));
+ assertSuperset(packageImport3.getOwner() == region);
+
+ PackageImport packageImport4 = UML.createPackageImport();
+ assertValid(packageImport4);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ packageImport4.setImportingNamespace(transition);
+ assertSuperset(packageImport4.getSources().contains(transition));
+ assertSuperset(packageImport4.getOwner() == transition);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ packageImport4.setImportingNamespace(executionEnvironment);
+ assertSuperset(
+ packageImport4.getSources().contains(executionEnvironment));
+ assertSuperset(packageImport4.getOwner() == executionEnvironment);
+
+ PackageImport packageImport5 = UML.createPackageImport();
+ assertValid(packageImport5);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ packageImport5.setImportingNamespace(component);
+ assertSuperset(packageImport5.getSources().contains(component));
+ assertSuperset(packageImport5.getOwner() == component);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ packageImport5.setImportingNamespace(package_);
+ assertSuperset(packageImport5.getSources().contains(package_));
+ assertSuperset(packageImport5.getOwner() == package_);
+
+ PackageImport packageImport6 = UML.createPackageImport();
+ assertValid(packageImport6);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ packageImport6.setImportingNamespace(interaction);
+ assertSuperset(packageImport6.getSources().contains(interaction));
+ assertSuperset(packageImport6.getOwner() == interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ packageImport6.setImportingNamespace(deploymentSpecification);
+ assertSuperset(
+ packageImport6.getSources().contains(deploymentSpecification));
+ assertSuperset(packageImport6.getOwner() == deploymentSpecification);
+
+ PackageImport packageImport7 = UML.createPackageImport();
+ assertValid(packageImport7);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ packageImport7.setImportingNamespace(opaqueBehavior);
+ assertSuperset(packageImport7.getSources().contains(opaqueBehavior));
+ assertSuperset(packageImport7.getOwner() == opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ packageImport7.setImportingNamespace(association);
+ assertSuperset(packageImport7.getSources().contains(association));
+ assertSuperset(packageImport7.getOwner() == association);
+
+ PackageImport packageImport8 = UML.createPackageImport();
+ assertValid(packageImport8);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ packageImport8.setImportingNamespace(operation);
+ assertSuperset(packageImport8.getSources().contains(operation));
+ assertSuperset(packageImport8.getOwner() == operation);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ packageImport8.setImportingNamespace(dataType);
+ assertSuperset(packageImport8.getSources().contains(dataType));
+ assertSuperset(packageImport8.getOwner() == dataType);
+
+ PackageImport packageImport9 = UML.createPackageImport();
+ assertValid(packageImport9);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ packageImport9.setImportingNamespace(model);
+ assertSuperset(packageImport9.getSources().contains(model));
+ assertSuperset(packageImport9.getOwner() == model);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ packageImport9.setImportingNamespace(device);
+ assertSuperset(packageImport9.getSources().contains(device));
+ assertSuperset(packageImport9.getOwner() == device);
+
+ PackageImport packageImport10 = UML.createPackageImport();
+ assertValid(packageImport10);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ packageImport10.setImportingNamespace(extension);
+ assertSuperset(packageImport10.getSources().contains(extension));
+ assertSuperset(packageImport10.getOwner() == extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ packageImport10.setImportingNamespace(associationClass);
+ assertSuperset(packageImport10.getSources().contains(associationClass));
+ assertSuperset(packageImport10.getOwner() == associationClass);
+
+ PackageImport packageImport11 = UML.createPackageImport();
+ assertValid(packageImport11);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ packageImport11.setImportingNamespace(expansionRegion);
+ assertSuperset(packageImport11.getSources().contains(expansionRegion));
+ assertSuperset(packageImport11.getOwner() == expansionRegion);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ packageImport11.setImportingNamespace(structuredActivityNode);
+ assertSuperset(
+ packageImport11.getSources().contains(structuredActivityNode));
+ assertSuperset(packageImport11.getOwner() == structuredActivityNode);
+
+ PackageImport packageImport12 = UML.createPackageImport();
+ assertValid(packageImport12);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ packageImport12.setImportingNamespace(finalState);
+ assertSuperset(packageImport12.getSources().contains(finalState));
+ assertSuperset(packageImport12.getOwner() == finalState);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ packageImport12.setImportingNamespace(class_);
+ assertSuperset(packageImport12.getSources().contains(class_));
+ assertSuperset(packageImport12.getOwner() == class_);
+
+ PackageImport packageImport13 = UML.createPackageImport();
+ assertValid(packageImport13);
+
+ State state = UML.createState();
+ assertValid(state);
+ packageImport13.setImportingNamespace(state);
+ assertSuperset(packageImport13.getSources().contains(state));
+ assertSuperset(packageImport13.getOwner() == state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ packageImport13.setImportingNamespace(protocolTransition);
+ assertSuperset(
+ packageImport13.getSources().contains(protocolTransition));
+ assertSuperset(packageImport13.getOwner() == protocolTransition);
+
+ PackageImport packageImport14 = UML.createPackageImport();
+ assertValid(packageImport14);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ packageImport14.setImportingNamespace(enumeration);
+ assertSuperset(packageImport14.getSources().contains(enumeration));
+ assertSuperset(packageImport14.getOwner() == enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ packageImport14.setImportingNamespace(primitiveType);
+ assertSuperset(packageImport14.getSources().contains(primitiveType));
+ assertSuperset(packageImport14.getOwner() == primitiveType);
+
+ PackageImport packageImport15 = UML.createPackageImport();
+ assertValid(packageImport15);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ packageImport15.setImportingNamespace(actor);
+ assertSuperset(packageImport15.getSources().contains(actor));
+ assertSuperset(packageImport15.getOwner() == actor);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ packageImport15.setImportingNamespace(profile);
+ assertSuperset(packageImport15.getSources().contains(profile));
+ assertSuperset(packageImport15.getOwner() == profile);
+
+ PackageImport packageImport16 = UML.createPackageImport();
+ assertValid(packageImport16);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ packageImport16.setImportingNamespace(protocolStateMachine);
+ assertSuperset(
+ packageImport16.getSources().contains(protocolStateMachine));
+ assertSuperset(packageImport16.getOwner() == protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ packageImport16.setImportingNamespace(loopNode);
+ assertSuperset(packageImport16.getSources().contains(loopNode));
+ assertSuperset(packageImport16.getOwner() == loopNode);
+
+ PackageImport packageImport17 = UML.createPackageImport();
+ assertValid(packageImport17);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ packageImport17.setImportingNamespace(interactionOperand);
+ assertSuperset(
+ packageImport17.getSources().contains(interactionOperand));
+ assertSuperset(packageImport17.getOwner() == interactionOperand);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ packageImport17.setImportingNamespace(reception);
+ assertSuperset(packageImport17.getSources().contains(reception));
+ assertSuperset(packageImport17.getOwner() == reception);
+
+ PackageImport packageImport18 = UML.createPackageImport();
+ assertValid(packageImport18);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ packageImport18.setImportingNamespace(useCase);
+ assertSuperset(packageImport18.getSources().contains(useCase));
+ assertSuperset(packageImport18.getOwner() == useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ packageImport18.setImportingNamespace(signal);
+ assertSuperset(packageImport18.getSources().contains(signal));
+ assertSuperset(packageImport18.getOwner() == signal);
+
+ PackageImport packageImport19 = UML.createPackageImport();
+ assertValid(packageImport19);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ packageImport19.setImportingNamespace(node);
+ assertSuperset(packageImport19.getSources().contains(node));
+ assertSuperset(packageImport19.getOwner() == node);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ packageImport19.setImportingNamespace(sequenceNode);
+ assertSuperset(packageImport19.getSources().contains(sequenceNode));
+ assertSuperset(packageImport19.getOwner() == sequenceNode);
+
+ PackageImport packageImport20 = UML.createPackageImport();
+ assertValid(packageImport20);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ packageImport20.setImportingNamespace(stereotype);
+ assertSuperset(packageImport20.getSources().contains(stereotype));
+ assertSuperset(packageImport20.getOwner() == stereotype);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ packageImport20.setImportingNamespace(conditionalNode);
+ assertSuperset(packageImport20.getSources().contains(conditionalNode));
+ assertSuperset(packageImport20.getOwner() == conditionalNode);
+
+ PackageImport packageImport21 = UML.createPackageImport();
+ assertValid(packageImport21);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ packageImport21.setImportingNamespace(stateMachine);
+ assertSuperset(packageImport21.getSources().contains(stateMachine));
+ assertSuperset(packageImport21.getOwner() == stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ packageImport21.setImportingNamespace(artifact);
+ assertSuperset(packageImport21.getSources().contains(artifact));
+ assertSuperset(packageImport21.getOwner() == artifact);
+
+ PackageImport packageImport22 = UML.createPackageImport();
+ assertValid(packageImport22);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ packageImport22.setImportingNamespace(collaboration);
+ assertSuperset(packageImport22.getSources().contains(collaboration));
+ assertSuperset(packageImport22.getOwner() == collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PackageMergeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PackageMergeTest.java
new file mode 100755
index 00000000..84b16006
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PackageMergeTest.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.Profile;
+
+/**
+ * @author Eike Stepper
+ */
+public class PackageMergeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ packageMerge.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ packageMerge.getOwnedComments().add(comment);
+ assertSuperset(packageMerge.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ EList<Element> elements = packageMerge.getOwnedElements();
+ EList<Element> elements2 = packageMerge.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testRelatedElement() {
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ EList<Element> elements = packageMerge.getRelatedElements();
+ EList<Element> elements2 = packageMerge.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ EList<Element> elements = packageMerge.getSources();
+ EList<Element> elements2 = packageMerge.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ EList<Element> elements = packageMerge.getTargets();
+ EList<Element> elements2 = packageMerge.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testMergedPackage() {
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ packageMerge.setMergedPackage(profile);
+ assertSuperset(packageMerge.getTargets().contains(profile));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ packageMerge.setMergedPackage(model);
+ assertSuperset(packageMerge.getTargets().contains(model));
+
+ PackageMerge packageMerge2 = UML.createPackageMerge();
+ assertValid(packageMerge2);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ packageMerge2.setMergedPackage(package_);
+ assertSuperset(packageMerge2.getTargets().contains(package_));
+ }
+
+ public void testReceivingPackage() {
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ packageMerge.setReceivingPackage(profile);
+ assertSuperset(packageMerge.getSources().contains(profile));
+ assertSuperset(packageMerge.getOwner() == profile);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ packageMerge.setReceivingPackage(model);
+ assertSuperset(packageMerge.getSources().contains(model));
+ assertSuperset(packageMerge.getOwner() == model);
+
+ PackageMerge packageMerge2 = UML.createPackageMerge();
+ assertValid(packageMerge2);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ packageMerge2.setReceivingPackage(package_);
+ assertSuperset(packageMerge2.getSources().contains(package_));
+ assertSuperset(packageMerge2.getOwner() == package_);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PackageTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PackageTest.java
new file mode 100755
index 00000000..d772aef7
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PackageTest.java
@@ -0,0 +1,687 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class PackageTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ package_.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ package_.getOwnedComments().add(comment);
+ assertSuperset(package_.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ EList<Element> elements = package_.getOwnedElements();
+ EList<Element> elements2 = package_.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ EList<Dependency> dependencys = package_.getClientDependencies();
+ EList<Dependency> dependencys2 = package_.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ package_.setNameExpression(stringExpression);
+ assertSuperset(package_.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ package_.getOwnedRules().add(intervalConstraint);
+ assertSuperset(package_.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ package_.getOwnedRules().add(timeConstraint);
+ assertSuperset(package_.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ package_.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ package_.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ package_.getOwnedRules().add(constraint);
+ assertSuperset(package_.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ package_.getOwnedRules().add(durationConstraint);
+ assertSuperset(package_.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ package_.getElementImports().add(elementImport);
+ assertSuperset(package_.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ package_.getPackageImports().add(packageImport);
+ assertSuperset(package_.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ EList<NamedElement> namedElements = package_.getOwnedMembers();
+ EList<NamedElement> namedElements2 = package_.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ EList<PackageableElement> packageableElements = package_
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = package_
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ EList<NamedElement> namedElements = package_.getMembers();
+ EList<NamedElement> namedElements2 = package_.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwningTemplateParameter() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ package_.setOwningTemplateParameter(templateParameter);
+ assertSuperset(package_.getOwner() == templateParameter);
+ assertSuperset(package_.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ package_.setTemplateParameter(templateParameter);
+ }
+
+ public void testTemplateBinding() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ package_.getTemplateBindings().add(templateBinding);
+ assertSuperset(package_.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ package_.setOwnedTemplateSignature(templateSignature);
+ assertSuperset(package_.getOwnedElements().contains(templateSignature));
+ }
+
+ public void testNestedPackage() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ EList<org.eclipse.uml2.uml.Package> package_s2 = package_
+ .getNestedPackages();
+ EList<org.eclipse.uml2.uml.Package> package_s3 = package_
+ .getNestedPackages();
+ assertSame(package_s2, package_s3);
+ }
+
+ public void testOwnedStereotype() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ EList<Stereotype> stereotypes = package_.getOwnedStereotypes();
+ EList<Stereotype> stereotypes2 = package_.getOwnedStereotypes();
+ assertSame(stereotypes, stereotypes2);
+ }
+
+ public void testOwnedType() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ EList<Type> types = package_.getOwnedTypes();
+ EList<Type> types2 = package_.getOwnedTypes();
+ assertSame(types, types2);
+ }
+
+ public void testPackageMerge() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ package_.getPackageMerges().add(packageMerge);
+ assertSuperset(package_.getOwnedElements().contains(packageMerge));
+ }
+
+ public void testPackagedElement() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ package_.getPackagedElements().add(functionBehavior);
+ assertSuperset(package_.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ package_.getPackagedElements().add(activity);
+ assertSuperset(package_.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ package_.getPackagedElements().add(interface_);
+ assertSuperset(package_.getOwnedMembers().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ package_.getPackagedElements().add(instanceSpecification);
+ assertSuperset(
+ package_.getOwnedMembers().contains(instanceSpecification));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ package_.getPackagedElements().add(informationItem);
+ assertSuperset(package_.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ package_.getPackagedElements().add(communicationPath);
+ assertSuperset(package_.getOwnedMembers().contains(communicationPath));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ package_.getPackagedElements().add(literalReal);
+ assertSuperset(package_.getOwnedMembers().contains(literalReal));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ package_.getPackagedElements().add(component);
+ assertSuperset(package_.getOwnedMembers().contains(component));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ package_.getPackagedElements().add(duration);
+ assertSuperset(package_.getOwnedMembers().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_2 = UML.createPackage();
+ assertValid(package_2);
+ package_.getPackagedElements().add(package_2);
+ assertSuperset(package_.getOwnedMembers().contains(package_2));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ package_.getPackagedElements().add(manifestation);
+ assertSuperset(package_.getOwnedMembers().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ package_.getPackagedElements().add(durationObservation);
+ assertSuperset(
+ package_.getOwnedMembers().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ package_.getPackagedElements().add(callEvent);
+ assertSuperset(package_.getOwnedMembers().contains(callEvent));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ package_.getPackagedElements().add(interaction);
+ assertSuperset(package_.getOwnedMembers().contains(interaction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ package_.getPackagedElements().add(opaqueBehavior);
+ assertSuperset(package_.getOwnedMembers().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ package_.getPackagedElements().add(literalUnlimitedNatural);
+ assertSuperset(
+ package_.getOwnedMembers().contains(literalUnlimitedNatural));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ package_.getPackagedElements().add(timeObservation);
+ assertSuperset(package_.getOwnedMembers().contains(timeObservation));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ package_.getPackagedElements().add(model);
+ assertSuperset(package_.getOwnedMembers().contains(model));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ package_.getPackagedElements().add(timeExpression);
+ assertSuperset(package_.getOwnedMembers().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ package_.getPackagedElements().add(device);
+ assertSuperset(package_.getOwnedMembers().contains(device));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ package_.getPackagedElements().add(instanceValue);
+ assertSuperset(package_.getOwnedMembers().contains(instanceValue));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ package_.getPackagedElements().add(interactionConstraint);
+ assertSuperset(
+ package_.getOwnedMembers().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ package_.getPackagedElements().add(associationClass);
+ assertSuperset(package_.getOwnedMembers().contains(associationClass));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ package_.getPackagedElements().add(interval);
+ assertSuperset(package_.getOwnedMembers().contains(interval));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ package_.getPackagedElements().add(abstraction);
+ assertSuperset(package_.getOwnedMembers().contains(abstraction));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ package_.getPackagedElements().add(literalString);
+ assertSuperset(package_.getOwnedMembers().contains(literalString));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ package_.getPackagedElements().add(interfaceRealization);
+ assertSuperset(
+ package_.getOwnedMembers().contains(interfaceRealization));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ package_.getPackagedElements().add(enumeration);
+ assertSuperset(package_.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ package_.getPackagedElements().add(primitiveType);
+ assertSuperset(package_.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ package_.getPackagedElements().add(actor);
+ assertSuperset(package_.getOwnedMembers().contains(actor));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ package_.getPackagedElements().add(profile);
+ assertSuperset(package_.getOwnedMembers().contains(profile));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ package_.getPackagedElements().add(timeConstraint);
+ assertSuperset(package_.getOwnedMembers().contains(timeConstraint));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ package_.getPackagedElements().add(durationInterval);
+ assertSuperset(package_.getOwnedMembers().contains(durationInterval));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ package_.getPackagedElements().add(generalizationSet);
+ assertSuperset(package_.getOwnedMembers().contains(generalizationSet));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ package_.getPackagedElements().add(signal);
+ assertSuperset(package_.getOwnedMembers().contains(signal));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ package_.getPackagedElements().add(deployment);
+ assertSuperset(package_.getOwnedMembers().contains(deployment));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ package_.getPackagedElements().add(artifact);
+ assertSuperset(package_.getOwnedMembers().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ package_.getPackagedElements().add(informationFlow);
+ assertSuperset(package_.getOwnedMembers().contains(informationFlow));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ package_.getPackagedElements().add(signalEvent);
+ assertSuperset(package_.getOwnedMembers().contains(signalEvent));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ package_.getPackagedElements().add(opaqueExpression);
+ assertSuperset(package_.getOwnedMembers().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ package_.getPackagedElements().add(timeEvent);
+ assertSuperset(package_.getOwnedMembers().contains(timeEvent));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ package_.getPackagedElements().add(usage);
+ assertSuperset(package_.getOwnedMembers().contains(usage));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ package_.getPackagedElements().add(anyReceiveEvent);
+ assertSuperset(package_.getOwnedMembers().contains(anyReceiveEvent));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ package_.getPackagedElements().add(executionEnvironment);
+ assertSuperset(
+ package_.getOwnedMembers().contains(executionEnvironment));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ package_.getPackagedElements().add(literalInteger);
+ assertSuperset(package_.getOwnedMembers().contains(literalInteger));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ package_.getPackagedElements().add(deploymentSpecification);
+ assertSuperset(
+ package_.getOwnedMembers().contains(deploymentSpecification));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ package_.getPackagedElements().add(realization);
+ assertSuperset(package_.getOwnedMembers().contains(realization));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ package_.getPackagedElements().add(association);
+ assertSuperset(package_.getOwnedMembers().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ package_.getPackagedElements().add(timeInterval);
+ assertSuperset(package_.getOwnedMembers().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ package_.getPackagedElements().add(dataType);
+ assertSuperset(package_.getOwnedMembers().contains(dataType));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ package_.getPackagedElements().add(substitution);
+ assertSuperset(package_.getOwnedMembers().contains(substitution));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ package_.getPackagedElements().add(intervalConstraint);
+ assertSuperset(package_.getOwnedMembers().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ package_.getPackagedElements().add(extension);
+ assertSuperset(package_.getOwnedMembers().contains(extension));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ package_.getPackagedElements().add(literalBoolean);
+ assertSuperset(package_.getOwnedMembers().contains(literalBoolean));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ package_.getPackagedElements().add(dependency);
+ assertSuperset(package_.getOwnedMembers().contains(dependency));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ package_.getPackagedElements().add(expression);
+ assertSuperset(package_.getOwnedMembers().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ package_.getPackagedElements().add(componentRealization);
+ assertSuperset(
+ package_.getOwnedMembers().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ package_.getPackagedElements().add(class_);
+ assertSuperset(package_.getOwnedMembers().contains(class_));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ package_.getPackagedElements().add(durationConstraint);
+ assertSuperset(package_.getOwnedMembers().contains(durationConstraint));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ package_.getPackagedElements().add(literalNull);
+ assertSuperset(package_.getOwnedMembers().contains(literalNull));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ package_.getPackagedElements().add(protocolStateMachine);
+ assertSuperset(
+ package_.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ package_.getPackagedElements().add(useCase);
+ assertSuperset(package_.getOwnedMembers().contains(useCase));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ package_.getPackagedElements().add(stringExpression);
+ assertSuperset(package_.getOwnedMembers().contains(stringExpression));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ package_.getPackagedElements().add(node);
+ assertSuperset(package_.getOwnedMembers().contains(node));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ package_.getPackagedElements().add(changeEvent);
+ assertSuperset(package_.getOwnedMembers().contains(changeEvent));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ package_.getPackagedElements().add(constraint);
+ assertSuperset(package_.getOwnedMembers().contains(constraint));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ package_.getPackagedElements().add(stereotype);
+ assertSuperset(package_.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ package_.getPackagedElements().add(stateMachine);
+ assertSuperset(package_.getOwnedMembers().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ package_.getPackagedElements().add(enumerationLiteral);
+ assertSuperset(package_.getOwnedMembers().contains(enumerationLiteral));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ package_.getPackagedElements().add(collaboration);
+ assertSuperset(package_.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testProfileApplication() {
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ package_.getProfileApplications().add(profileApplication);
+ assertSuperset(
+ package_.getOwnedElements().contains(profileApplication));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ParameterSetTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ParameterSetTest.java
new file mode 100755
index 00000000..8d5f8f0f
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ParameterSetTest.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeConstraint;
+
+/**
+ * @author Eike Stepper
+ */
+public class ParameterSetTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ parameterSet.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ parameterSet.getOwnedComments().add(comment);
+ assertSuperset(parameterSet.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ EList<Element> elements = parameterSet.getOwnedElements();
+ EList<Element> elements2 = parameterSet.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ EList<Dependency> dependencys = parameterSet.getClientDependencies();
+ EList<Dependency> dependencys2 = parameterSet.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ parameterSet.setNameExpression(stringExpression);
+ assertSuperset(
+ parameterSet.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testCondition() {
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ parameterSet.getConditions().add(intervalConstraint);
+ assertSuperset(
+ parameterSet.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ parameterSet.getConditions().add(timeConstraint);
+ assertSuperset(
+ parameterSet.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ parameterSet.getConditions().add(interactionConstraint);
+ assertSuperset(
+ parameterSet.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ parameterSet.getConditions().add(constraint);
+ assertSuperset(parameterSet.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ parameterSet.getConditions().add(durationConstraint);
+ assertSuperset(
+ parameterSet.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testParameter() {
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ parameterSet.getParameters().add(parameter);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ParameterTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ParameterTest.java
new file mode 100755
index 00000000..27340388
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ParameterTest.java
@@ -0,0 +1,623 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ParameterTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ parameter.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ parameter.getOwnedComments().add(comment);
+ assertSuperset(parameter.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ EList<Element> elements = parameter.getOwnedElements();
+ EList<Element> elements2 = parameter.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ EList<Dependency> dependencys = parameter.getClientDependencies();
+ EList<Dependency> dependencys2 = parameter.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ parameter.setNameExpression(stringExpression);
+ assertSuperset(parameter.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testType() {
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ parameter.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ parameter.setType(activity);
+
+ Parameter parameter2 = UML.createParameter();
+ assertValid(parameter2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ parameter2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ parameter2.setType(informationItem);
+
+ Parameter parameter3 = UML.createParameter();
+ assertValid(parameter3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ parameter3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ parameter3.setType(executionEnvironment);
+
+ Parameter parameter4 = UML.createParameter();
+ assertValid(parameter4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ parameter4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ parameter4.setType(interaction);
+
+ Parameter parameter5 = UML.createParameter();
+ assertValid(parameter5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ parameter5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ parameter5.setType(opaqueBehavior);
+
+ Parameter parameter6 = UML.createParameter();
+ assertValid(parameter6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ parameter6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ parameter6.setType(dataType);
+
+ Parameter parameter7 = UML.createParameter();
+ assertValid(parameter7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ parameter7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ parameter7.setType(extension);
+
+ Parameter parameter8 = UML.createParameter();
+ assertValid(parameter8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ parameter8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ parameter8.setType(class_);
+
+ Parameter parameter9 = UML.createParameter();
+ assertValid(parameter9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ parameter9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ parameter9.setType(primitiveType);
+
+ Parameter parameter10 = UML.createParameter();
+ assertValid(parameter10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ parameter10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ parameter10.setType(protocolStateMachine);
+
+ Parameter parameter11 = UML.createParameter();
+ assertValid(parameter11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ parameter11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ parameter11.setType(signal);
+
+ Parameter parameter12 = UML.createParameter();
+ assertValid(parameter12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ parameter12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ parameter12.setType(stereotype);
+
+ Parameter parameter13 = UML.createParameter();
+ assertValid(parameter13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ parameter13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ parameter13.setType(artifact);
+
+ Parameter parameter14 = UML.createParameter();
+ assertValid(parameter14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ parameter14.setType(collaboration);
+ }
+
+ public void testOwningTemplateParameter() {
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ parameter
+ .setOwningTemplateParameter(connectableElementTemplateParameter);
+ assertSuperset(
+ parameter.getOwner() == connectableElementTemplateParameter);
+ assertSuperset(parameter
+ .getTemplateParameter() == connectableElementTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ parameter.setTemplateParameter(connectableElementTemplateParameter);
+ }
+
+ public void testLowerValue() {
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ parameter.setLowerValue(literalBoolean);
+ assertSuperset(parameter.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ parameter.setLowerValue(interval);
+ assertSuperset(parameter.getOwnedElements().contains(interval));
+
+ Parameter parameter2 = UML.createParameter();
+ assertValid(parameter2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ parameter2.setLowerValue(opaqueExpression);
+ assertSuperset(
+ parameter2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ parameter2.setLowerValue(expression);
+ assertSuperset(parameter2.getOwnedElements().contains(expression));
+
+ Parameter parameter3 = UML.createParameter();
+ assertValid(parameter3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ parameter3.setLowerValue(literalReal);
+ assertSuperset(parameter3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ parameter3.setLowerValue(literalString);
+ assertSuperset(parameter3.getOwnedElements().contains(literalString));
+
+ Parameter parameter4 = UML.createParameter();
+ assertValid(parameter4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ parameter4.setLowerValue(literalNull);
+ assertSuperset(parameter4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ parameter4.setLowerValue(duration);
+ assertSuperset(parameter4.getOwnedElements().contains(duration));
+
+ Parameter parameter5 = UML.createParameter();
+ assertValid(parameter5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ parameter5.setLowerValue(literalInteger);
+ assertSuperset(parameter5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ parameter5.setLowerValue(durationInterval);
+ assertSuperset(
+ parameter5.getOwnedElements().contains(durationInterval));
+
+ Parameter parameter6 = UML.createParameter();
+ assertValid(parameter6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ parameter6.setLowerValue(stringExpression);
+ assertSuperset(
+ parameter6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ parameter6.setLowerValue(literalUnlimitedNatural);
+ assertSuperset(
+ parameter6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Parameter parameter7 = UML.createParameter();
+ assertValid(parameter7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ parameter7.setLowerValue(timeInterval);
+ assertSuperset(parameter7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ parameter7.setLowerValue(timeExpression);
+ assertSuperset(parameter7.getOwnedElements().contains(timeExpression));
+
+ Parameter parameter8 = UML.createParameter();
+ assertValid(parameter8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ parameter8.setLowerValue(instanceValue);
+ assertSuperset(parameter8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testUpperValue() {
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ parameter.setUpperValue(literalBoolean);
+ assertSuperset(parameter.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ parameter.setUpperValue(interval);
+ assertSuperset(parameter.getOwnedElements().contains(interval));
+
+ Parameter parameter2 = UML.createParameter();
+ assertValid(parameter2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ parameter2.setUpperValue(opaqueExpression);
+ assertSuperset(
+ parameter2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ parameter2.setUpperValue(expression);
+ assertSuperset(parameter2.getOwnedElements().contains(expression));
+
+ Parameter parameter3 = UML.createParameter();
+ assertValid(parameter3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ parameter3.setUpperValue(literalReal);
+ assertSuperset(parameter3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ parameter3.setUpperValue(literalString);
+ assertSuperset(parameter3.getOwnedElements().contains(literalString));
+
+ Parameter parameter4 = UML.createParameter();
+ assertValid(parameter4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ parameter4.setUpperValue(literalNull);
+ assertSuperset(parameter4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ parameter4.setUpperValue(duration);
+ assertSuperset(parameter4.getOwnedElements().contains(duration));
+
+ Parameter parameter5 = UML.createParameter();
+ assertValid(parameter5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ parameter5.setUpperValue(literalInteger);
+ assertSuperset(parameter5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ parameter5.setUpperValue(durationInterval);
+ assertSuperset(
+ parameter5.getOwnedElements().contains(durationInterval));
+
+ Parameter parameter6 = UML.createParameter();
+ assertValid(parameter6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ parameter6.setUpperValue(stringExpression);
+ assertSuperset(
+ parameter6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ parameter6.setUpperValue(literalUnlimitedNatural);
+ assertSuperset(
+ parameter6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Parameter parameter7 = UML.createParameter();
+ assertValid(parameter7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ parameter7.setUpperValue(timeInterval);
+ assertSuperset(parameter7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ parameter7.setUpperValue(timeExpression);
+ assertSuperset(parameter7.getOwnedElements().contains(timeExpression));
+
+ Parameter parameter8 = UML.createParameter();
+ assertValid(parameter8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ parameter8.setUpperValue(instanceValue);
+ assertSuperset(parameter8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testDefaultValue() {
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ parameter.setDefaultValue(literalBoolean);
+ assertSuperset(parameter.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ parameter.setDefaultValue(interval);
+ assertSuperset(parameter.getOwnedElements().contains(interval));
+
+ Parameter parameter2 = UML.createParameter();
+ assertValid(parameter2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ parameter2.setDefaultValue(opaqueExpression);
+ assertSuperset(
+ parameter2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ parameter2.setDefaultValue(expression);
+ assertSuperset(parameter2.getOwnedElements().contains(expression));
+
+ Parameter parameter3 = UML.createParameter();
+ assertValid(parameter3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ parameter3.setDefaultValue(literalReal);
+ assertSuperset(parameter3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ parameter3.setDefaultValue(literalString);
+ assertSuperset(parameter3.getOwnedElements().contains(literalString));
+
+ Parameter parameter4 = UML.createParameter();
+ assertValid(parameter4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ parameter4.setDefaultValue(literalNull);
+ assertSuperset(parameter4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ parameter4.setDefaultValue(duration);
+ assertSuperset(parameter4.getOwnedElements().contains(duration));
+
+ Parameter parameter5 = UML.createParameter();
+ assertValid(parameter5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ parameter5.setDefaultValue(literalInteger);
+ assertSuperset(parameter5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ parameter5.setDefaultValue(durationInterval);
+ assertSuperset(
+ parameter5.getOwnedElements().contains(durationInterval));
+
+ Parameter parameter6 = UML.createParameter();
+ assertValid(parameter6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ parameter6.setDefaultValue(stringExpression);
+ assertSuperset(
+ parameter6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ parameter6.setDefaultValue(literalUnlimitedNatural);
+ assertSuperset(
+ parameter6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Parameter parameter7 = UML.createParameter();
+ assertValid(parameter7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ parameter7.setDefaultValue(timeInterval);
+ assertSuperset(parameter7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ parameter7.setDefaultValue(timeExpression);
+ assertSuperset(parameter7.getOwnedElements().contains(timeExpression));
+
+ Parameter parameter8 = UML.createParameter();
+ assertValid(parameter8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ parameter8.setDefaultValue(instanceValue);
+ assertSuperset(parameter8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testParameterSet() {
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ parameter.getParameterSets().add(parameterSet);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PartDecompositionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PartDecompositionTest.java
new file mode 100755
index 00000000..d44aaab7
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PartDecompositionTest.java
@@ -0,0 +1,388 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+
+/**
+ * @author Eike Stepper
+ */
+public class PartDecompositionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ partDecomposition.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ partDecomposition.getOwnedComments().add(comment);
+ assertSuperset(partDecomposition.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ EList<Element> elements = partDecomposition.getOwnedElements();
+ EList<Element> elements2 = partDecomposition.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ EList<Dependency> dependencys = partDecomposition
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = partDecomposition
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ partDecomposition.setNameExpression(stringExpression);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testCovered() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ partDecomposition.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ partDecomposition.setEnclosingOperand(interactionOperand);
+ assertSuperset(partDecomposition.getNamespace() == interactionOperand);
+ }
+
+ public void testEnclosingInteraction() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ partDecomposition.setEnclosingInteraction(interaction);
+ assertSuperset(partDecomposition.getNamespace() == interaction);
+ }
+
+ public void testGeneralOrdering() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ partDecomposition.getGeneralOrderings().add(generalOrdering);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(generalOrdering));
+ }
+
+ public void testActualGate() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ partDecomposition.getActualGates().add(gate);
+ assertSuperset(partDecomposition.getOwnedElements().contains(gate));
+ }
+
+ public void testArgument() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ partDecomposition.getArguments().add(literalBoolean);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ partDecomposition.getArguments().add(interval);
+ assertSuperset(partDecomposition.getOwnedElements().contains(interval));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ partDecomposition.getArguments().add(opaqueExpression);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ partDecomposition.getArguments().add(expression);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(expression));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ partDecomposition.getArguments().add(literalReal);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ partDecomposition.getArguments().add(literalString);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(literalString));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ partDecomposition.getArguments().add(literalNull);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ partDecomposition.getArguments().add(duration);
+ assertSuperset(partDecomposition.getOwnedElements().contains(duration));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ partDecomposition.getArguments().add(literalInteger);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ partDecomposition.getArguments().add(durationInterval);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(durationInterval));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ partDecomposition.getArguments().add(stringExpression);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ partDecomposition.getArguments().add(literalUnlimitedNatural);
+ assertSuperset(partDecomposition.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ partDecomposition.getArguments().add(timeInterval);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ partDecomposition.getArguments().add(timeExpression);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(timeExpression));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ partDecomposition.getArguments().add(instanceValue);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testRefersTo() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ partDecomposition.setRefersTo(interaction);
+ }
+
+ public void testReturnValue() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ partDecomposition.setReturnValue(literalBoolean);
+ assertSuperset(
+ partDecomposition.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ partDecomposition.setReturnValue(interval);
+ assertSuperset(partDecomposition.getOwnedElements().contains(interval));
+
+ PartDecomposition partDecomposition2 = UML.createPartDecomposition();
+ assertValid(partDecomposition2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ partDecomposition2.setReturnValue(opaqueExpression);
+ assertSuperset(
+ partDecomposition2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ partDecomposition2.setReturnValue(expression);
+ assertSuperset(
+ partDecomposition2.getOwnedElements().contains(expression));
+
+ PartDecomposition partDecomposition3 = UML.createPartDecomposition();
+ assertValid(partDecomposition3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ partDecomposition3.setReturnValue(literalReal);
+ assertSuperset(
+ partDecomposition3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ partDecomposition3.setReturnValue(literalString);
+ assertSuperset(
+ partDecomposition3.getOwnedElements().contains(literalString));
+
+ PartDecomposition partDecomposition4 = UML.createPartDecomposition();
+ assertValid(partDecomposition4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ partDecomposition4.setReturnValue(literalNull);
+ assertSuperset(
+ partDecomposition4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ partDecomposition4.setReturnValue(duration);
+ assertSuperset(
+ partDecomposition4.getOwnedElements().contains(duration));
+
+ PartDecomposition partDecomposition5 = UML.createPartDecomposition();
+ assertValid(partDecomposition5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ partDecomposition5.setReturnValue(literalInteger);
+ assertSuperset(
+ partDecomposition5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ partDecomposition5.setReturnValue(durationInterval);
+ assertSuperset(
+ partDecomposition5.getOwnedElements().contains(durationInterval));
+
+ PartDecomposition partDecomposition6 = UML.createPartDecomposition();
+ assertValid(partDecomposition6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ partDecomposition6.setReturnValue(stringExpression);
+ assertSuperset(
+ partDecomposition6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ partDecomposition6.setReturnValue(literalUnlimitedNatural);
+ assertSuperset(partDecomposition6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ PartDecomposition partDecomposition7 = UML.createPartDecomposition();
+ assertValid(partDecomposition7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ partDecomposition7.setReturnValue(timeInterval);
+ assertSuperset(
+ partDecomposition7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ partDecomposition7.setReturnValue(timeExpression);
+ assertSuperset(
+ partDecomposition7.getOwnedElements().contains(timeExpression));
+
+ PartDecomposition partDecomposition8 = UML.createPartDecomposition();
+ assertValid(partDecomposition8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ partDecomposition8.setReturnValue(instanceValue);
+ assertSuperset(
+ partDecomposition8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testReturnValueRecipient() {
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ partDecomposition.setReturnValueRecipient(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ partDecomposition.setReturnValueRecipient(extensionEnd);
+
+ PartDecomposition partDecomposition2 = UML.createPartDecomposition();
+ assertValid(partDecomposition2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ partDecomposition2.setReturnValueRecipient(property);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PortTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PortTest.java
new file mode 100755
index 00000000..5c29078a
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PortTest.java
@@ -0,0 +1,872 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class PortTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ port.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ port.getOwnedComments().add(comment);
+ assertSuperset(port.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Port port = UML.createPort();
+ assertValid(port);
+ EList<Element> elements = port.getOwnedElements();
+ EList<Element> elements2 = port.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Port port = UML.createPort();
+ assertValid(port);
+ EList<Dependency> dependencys = port.getClientDependencies();
+ EList<Dependency> dependencys2 = port.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ port.setNameExpression(stringExpression);
+ assertSuperset(port.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ Port port = UML.createPort();
+ assertValid(port);
+ EList<RedefinableElement> redefinableElements = port
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = port
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Port port = UML.createPort();
+ assertValid(port);
+ EList<Classifier> classifiers = port.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = port.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testFeaturingClassifier() {
+ Port port = UML.createPort();
+ assertValid(port);
+ EList<Classifier> classifiers = port.getFeaturingClassifiers();
+ EList<Classifier> classifiers2 = port.getFeaturingClassifiers();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testType() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ port.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ port.setType(activity);
+
+ Port port2 = UML.createPort();
+ assertValid(port2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ port2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ port2.setType(informationItem);
+
+ Port port3 = UML.createPort();
+ assertValid(port3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ port3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ port3.setType(executionEnvironment);
+
+ Port port4 = UML.createPort();
+ assertValid(port4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ port4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ port4.setType(interaction);
+
+ Port port5 = UML.createPort();
+ assertValid(port5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ port5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ port5.setType(opaqueBehavior);
+
+ Port port6 = UML.createPort();
+ assertValid(port6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ port6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ port6.setType(dataType);
+
+ Port port7 = UML.createPort();
+ assertValid(port7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ port7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ port7.setType(extension);
+
+ Port port8 = UML.createPort();
+ assertValid(port8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ port8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ port8.setType(class_);
+
+ Port port9 = UML.createPort();
+ assertValid(port9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ port9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ port9.setType(primitiveType);
+
+ Port port10 = UML.createPort();
+ assertValid(port10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ port10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ port10.setType(protocolStateMachine);
+
+ Port port11 = UML.createPort();
+ assertValid(port11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ port11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ port11.setType(signal);
+
+ Port port12 = UML.createPort();
+ assertValid(port12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ port12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ port12.setType(stereotype);
+
+ Port port13 = UML.createPort();
+ assertValid(port13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ port13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ port13.setType(artifact);
+
+ Port port14 = UML.createPort();
+ assertValid(port14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ port14.setType(collaboration);
+ }
+
+ public void testLowerValue() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ port.setLowerValue(literalBoolean);
+ assertSuperset(port.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ port.setLowerValue(interval);
+ assertSuperset(port.getOwnedElements().contains(interval));
+
+ Port port2 = UML.createPort();
+ assertValid(port2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ port2.setLowerValue(opaqueExpression);
+ assertSuperset(port2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ port2.setLowerValue(expression);
+ assertSuperset(port2.getOwnedElements().contains(expression));
+
+ Port port3 = UML.createPort();
+ assertValid(port3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ port3.setLowerValue(literalReal);
+ assertSuperset(port3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ port3.setLowerValue(literalString);
+ assertSuperset(port3.getOwnedElements().contains(literalString));
+
+ Port port4 = UML.createPort();
+ assertValid(port4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ port4.setLowerValue(literalNull);
+ assertSuperset(port4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ port4.setLowerValue(duration);
+ assertSuperset(port4.getOwnedElements().contains(duration));
+
+ Port port5 = UML.createPort();
+ assertValid(port5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ port5.setLowerValue(literalInteger);
+ assertSuperset(port5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ port5.setLowerValue(durationInterval);
+ assertSuperset(port5.getOwnedElements().contains(durationInterval));
+
+ Port port6 = UML.createPort();
+ assertValid(port6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ port6.setLowerValue(stringExpression);
+ assertSuperset(port6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ port6.setLowerValue(literalUnlimitedNatural);
+ assertSuperset(
+ port6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Port port7 = UML.createPort();
+ assertValid(port7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ port7.setLowerValue(timeInterval);
+ assertSuperset(port7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ port7.setLowerValue(timeExpression);
+ assertSuperset(port7.getOwnedElements().contains(timeExpression));
+
+ Port port8 = UML.createPort();
+ assertValid(port8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ port8.setLowerValue(instanceValue);
+ assertSuperset(port8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testUpperValue() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ port.setUpperValue(literalBoolean);
+ assertSuperset(port.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ port.setUpperValue(interval);
+ assertSuperset(port.getOwnedElements().contains(interval));
+
+ Port port2 = UML.createPort();
+ assertValid(port2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ port2.setUpperValue(opaqueExpression);
+ assertSuperset(port2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ port2.setUpperValue(expression);
+ assertSuperset(port2.getOwnedElements().contains(expression));
+
+ Port port3 = UML.createPort();
+ assertValid(port3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ port3.setUpperValue(literalReal);
+ assertSuperset(port3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ port3.setUpperValue(literalString);
+ assertSuperset(port3.getOwnedElements().contains(literalString));
+
+ Port port4 = UML.createPort();
+ assertValid(port4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ port4.setUpperValue(literalNull);
+ assertSuperset(port4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ port4.setUpperValue(duration);
+ assertSuperset(port4.getOwnedElements().contains(duration));
+
+ Port port5 = UML.createPort();
+ assertValid(port5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ port5.setUpperValue(literalInteger);
+ assertSuperset(port5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ port5.setUpperValue(durationInterval);
+ assertSuperset(port5.getOwnedElements().contains(durationInterval));
+
+ Port port6 = UML.createPort();
+ assertValid(port6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ port6.setUpperValue(stringExpression);
+ assertSuperset(port6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ port6.setUpperValue(literalUnlimitedNatural);
+ assertSuperset(
+ port6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Port port7 = UML.createPort();
+ assertValid(port7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ port7.setUpperValue(timeInterval);
+ assertSuperset(port7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ port7.setUpperValue(timeExpression);
+ assertSuperset(port7.getOwnedElements().contains(timeExpression));
+
+ Port port8 = UML.createPort();
+ assertValid(port8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ port8.setUpperValue(instanceValue);
+ assertSuperset(port8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testOwningTemplateParameter() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ port.setOwningTemplateParameter(connectableElementTemplateParameter);
+ assertSuperset(port.getOwner() == connectableElementTemplateParameter);
+ assertSuperset(
+ port.getTemplateParameter() == connectableElementTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ port.setTemplateParameter(connectableElementTemplateParameter);
+ }
+
+ public void testDeployedElement() {
+ Port port = UML.createPort();
+ assertValid(port);
+ EList<PackageableElement> packageableElements = port
+ .getDeployedElements();
+ EList<PackageableElement> packageableElements2 = port
+ .getDeployedElements();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testDeployment() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ port.getDeployments().add(deployment);
+ assertSuperset(port.getOwnedElements().contains(deployment));
+ assertSuperset(port.getClientDependencies().contains(deployment));
+ }
+
+ public void testDatatype() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ port.setDatatype(enumeration);
+ assertSuperset(port.getNamespace() == enumeration);
+ assertSuperset(port.getFeaturingClassifiers().contains(enumeration));
+ assertSuperset(port.getRedefinitionContexts().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ port.setDatatype(primitiveType);
+ assertSuperset(port.getNamespace() == primitiveType);
+ assertSuperset(port.getFeaturingClassifiers().contains(primitiveType));
+ assertSuperset(port.getRedefinitionContexts().contains(primitiveType));
+
+ Port port2 = UML.createPort();
+ assertValid(port2);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ port2.setDatatype(dataType);
+ assertSuperset(port2.getNamespace() == dataType);
+ assertSuperset(port2.getFeaturingClassifiers().contains(dataType));
+ assertSuperset(port2.getRedefinitionContexts().contains(dataType));
+ }
+
+ public void testInterface() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ port.setInterface(interface_);
+ assertSuperset(port.getNamespace() == interface_);
+ assertSuperset(port.getFeaturingClassifiers().contains(interface_));
+ assertSuperset(port.getRedefinitionContexts().contains(interface_));
+ }
+
+ public void testAssociationEnd() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ Port port2 = UML.createPort();
+ assertValid(port2);
+ port.setAssociationEnd(port2);
+ assertSuperset(port.getOwner() == port2);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ port.setAssociationEnd(extensionEnd);
+ assertSuperset(port.getOwner() == extensionEnd);
+
+ Port port3 = UML.createPort();
+ assertValid(port3);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ port3.setAssociationEnd(property);
+ assertSuperset(port3.getOwner() == property);
+ }
+
+ public void testQualifier() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ Port port2 = UML.createPort();
+ assertValid(port2);
+ port.getQualifiers().add(port2);
+ assertSuperset(port.getOwnedElements().contains(port2));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ port.getQualifiers().add(extensionEnd);
+ assertSuperset(port.getOwnedElements().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ port.getQualifiers().add(property);
+ assertSuperset(port.getOwnedElements().contains(property));
+ }
+
+ public void testDefaultValue() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ port.setDefaultValue(literalBoolean);
+ assertSuperset(port.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ port.setDefaultValue(interval);
+ assertSuperset(port.getOwnedElements().contains(interval));
+
+ Port port2 = UML.createPort();
+ assertValid(port2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ port2.setDefaultValue(opaqueExpression);
+ assertSuperset(port2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ port2.setDefaultValue(expression);
+ assertSuperset(port2.getOwnedElements().contains(expression));
+
+ Port port3 = UML.createPort();
+ assertValid(port3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ port3.setDefaultValue(literalReal);
+ assertSuperset(port3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ port3.setDefaultValue(literalString);
+ assertSuperset(port3.getOwnedElements().contains(literalString));
+
+ Port port4 = UML.createPort();
+ assertValid(port4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ port4.setDefaultValue(literalNull);
+ assertSuperset(port4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ port4.setDefaultValue(duration);
+ assertSuperset(port4.getOwnedElements().contains(duration));
+
+ Port port5 = UML.createPort();
+ assertValid(port5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ port5.setDefaultValue(literalInteger);
+ assertSuperset(port5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ port5.setDefaultValue(durationInterval);
+ assertSuperset(port5.getOwnedElements().contains(durationInterval));
+
+ Port port6 = UML.createPort();
+ assertValid(port6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ port6.setDefaultValue(stringExpression);
+ assertSuperset(port6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ port6.setDefaultValue(literalUnlimitedNatural);
+ assertSuperset(
+ port6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Port port7 = UML.createPort();
+ assertValid(port7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ port7.setDefaultValue(timeInterval);
+ assertSuperset(port7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ port7.setDefaultValue(timeExpression);
+ assertSuperset(port7.getOwnedElements().contains(timeExpression));
+
+ Port port8 = UML.createPort();
+ assertValid(port8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ port8.setDefaultValue(instanceValue);
+ assertSuperset(port8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testOwningAssociation() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ port.setOwningAssociation(associationClass);
+ assertSuperset(
+ port.getFeaturingClassifiers().contains(associationClass));
+ assertSuperset(port.getNamespace() == associationClass);
+ assertSuperset(port.getAssociation() == associationClass);
+ assertSuperset(
+ port.getRedefinitionContexts().contains(associationClass));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ port.setOwningAssociation(communicationPath);
+ assertSuperset(
+ port.getFeaturingClassifiers().contains(communicationPath));
+ assertSuperset(port.getNamespace() == communicationPath);
+ assertSuperset(port.getAssociation() == communicationPath);
+ assertSuperset(
+ port.getRedefinitionContexts().contains(communicationPath));
+
+ Port port2 = UML.createPort();
+ assertValid(port2);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ port2.setOwningAssociation(association);
+ assertSuperset(port2.getFeaturingClassifiers().contains(association));
+ assertSuperset(port2.getNamespace() == association);
+ assertSuperset(port2.getAssociation() == association);
+ assertSuperset(port2.getRedefinitionContexts().contains(association));
+ }
+
+ public void testRedefinedProperty() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ Port port2 = UML.createPort();
+ assertValid(port2);
+ port.getRedefinedProperties().add(port2);
+ assertSuperset(port.getRedefinedElements().contains(port2));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ port.getRedefinedProperties().add(extensionEnd);
+ assertSuperset(port.getRedefinedElements().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ port.getRedefinedProperties().add(property);
+ assertSuperset(port.getRedefinedElements().contains(property));
+ }
+
+ public void testSubsettedProperty() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ Port port2 = UML.createPort();
+ assertValid(port2);
+ port.getSubsettedProperties().add(port2);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ port.getSubsettedProperties().add(extensionEnd);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ port.getSubsettedProperties().add(property);
+ }
+
+ public void testAssociation() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ port.setAssociation(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ port.setAssociation(associationClass);
+
+ Port port2 = UML.createPort();
+ assertValid(port2);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ port2.setAssociation(communicationPath);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ port2.setAssociation(association);
+ }
+
+ public void testProtocol() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ port.setProtocol(protocolStateMachine);
+ }
+
+ public void testProvided() {
+ Port port = UML.createPort();
+ assertValid(port);
+ EList<Interface> interface_s = port.getProvideds();
+ EList<Interface> interface_s2 = port.getProvideds();
+ assertSame(interface_s, interface_s2);
+ }
+
+ public void testRedefinedPort() {
+ Port port = UML.createPort();
+ assertValid(port);
+
+ Port port2 = UML.createPort();
+ assertValid(port2);
+ port.getRedefinedPorts().add(port2);
+ assertSuperset(port.getRedefinedProperties().contains(port2));
+ }
+
+ public void testRequired() {
+ Port port = UML.createPort();
+ assertValid(port);
+ EList<Interface> interface_s = port.getRequireds();
+ EList<Interface> interface_s2 = port.getRequireds();
+ assertSame(interface_s, interface_s2);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PrimitiveTypeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PrimitiveTypeTest.java
new file mode 100755
index 00000000..b0612adf
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PrimitiveTypeTest.java
@@ -0,0 +1,572 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class PrimitiveTypeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ primitiveType.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ primitiveType.getOwnedComments().add(comment);
+ assertSuperset(primitiveType.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ EList<Element> elements = primitiveType.getOwnedElements();
+ EList<Element> elements2 = primitiveType.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ EList<Dependency> dependencys = primitiveType.getClientDependencies();
+ EList<Dependency> dependencys2 = primitiveType.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ primitiveType.setNameExpression(stringExpression);
+ assertSuperset(
+ primitiveType.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ primitiveType.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ primitiveType.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ primitiveType.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ primitiveType.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ primitiveType.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ primitiveType.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ primitiveType.getOwnedRules().add(constraint);
+ assertSuperset(primitiveType.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ primitiveType.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ primitiveType.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ primitiveType.getElementImports().add(elementImport);
+ assertSuperset(
+ primitiveType.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ primitiveType.getPackageImports().add(packageImport);
+ assertSuperset(
+ primitiveType.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ EList<NamedElement> namedElements = primitiveType.getOwnedMembers();
+ EList<NamedElement> namedElements2 = primitiveType.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ EList<PackageableElement> packageableElements = primitiveType
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = primitiveType
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ EList<NamedElement> namedElements = primitiveType.getMembers();
+ EList<NamedElement> namedElements2 = primitiveType.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ EList<RedefinableElement> redefinableElements = primitiveType
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = primitiveType
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ EList<Classifier> classifiers = primitiveType.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = primitiveType
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ primitiveType.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(primitiveType.getOwner() == classifierTemplateParameter);
+ assertSuperset(primitiveType
+ .getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ primitiveType.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ primitiveType.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ primitiveType.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ primitiveType.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(primitiveType.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ EList<Feature> features = primitiveType.getFeatures();
+ EList<Feature> features2 = primitiveType.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ EList<Property> propertys = primitiveType.getAttributes();
+ EList<Property> propertys2 = primitiveType.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ primitiveType.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ primitiveType.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ EList<Classifier> classifiers = primitiveType.getGenerals();
+ EList<Classifier> classifiers2 = primitiveType.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ primitiveType.getGeneralizations().add(generalization);
+ assertSuperset(
+ primitiveType.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ primitiveType.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ EList<NamedElement> namedElements = primitiveType.getInheritedMembers();
+ EList<NamedElement> namedElements2 = primitiveType
+ .getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ primitiveType.getOwnedUseCases().add(useCase);
+ assertSuperset(primitiveType.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ primitiveType.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ primitiveType.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ primitiveType.getRedefinedClassifiers().add(activity);
+ assertSuperset(primitiveType.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ primitiveType.getRedefinedClassifiers().add(interface_);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ primitiveType.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ primitiveType.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ primitiveType.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(primitiveType.getRedefinedElements()
+ .contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ primitiveType.getRedefinedClassifiers().add(component);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ primitiveType.getRedefinedClassifiers().add(interaction);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ primitiveType.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(primitiveType.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ primitiveType.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ primitiveType.getRedefinedClassifiers().add(association);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ primitiveType.getRedefinedClassifiers().add(dataType);
+ assertSuperset(primitiveType.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ primitiveType.getRedefinedClassifiers().add(device);
+ assertSuperset(primitiveType.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ primitiveType.getRedefinedClassifiers().add(extension);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ primitiveType.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ primitiveType.getRedefinedClassifiers().add(class_);
+ assertSuperset(primitiveType.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ primitiveType.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType2 = UML.createPrimitiveType();
+ assertValid(primitiveType2);
+ primitiveType.getRedefinedClassifiers().add(primitiveType2);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(primitiveType2));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ primitiveType.getRedefinedClassifiers().add(actor);
+ assertSuperset(primitiveType.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ primitiveType.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(primitiveType.getRedefinedElements()
+ .contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ primitiveType.getRedefinedClassifiers().add(useCase);
+ assertSuperset(primitiveType.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ primitiveType.getRedefinedClassifiers().add(signal);
+ assertSuperset(primitiveType.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ primitiveType.getRedefinedClassifiers().add(node);
+ assertSuperset(primitiveType.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ primitiveType.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ primitiveType.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ primitiveType.getRedefinedClassifiers().add(artifact);
+ assertSuperset(primitiveType.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ primitiveType.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ primitiveType.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ primitiveType.setRepresentation(collaborationUse);
+ assertSuperset(
+ primitiveType.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ primitiveType.getSubstitutions().add(substitution);
+ assertSuperset(primitiveType.getOwnedElements().contains(substitution));
+ assertSuperset(
+ primitiveType.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ primitiveType.getOwnedAttributes().add(port);
+ assertSuperset(primitiveType.getAttributes().contains(port));
+ assertSuperset(primitiveType.getOwnedMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ primitiveType.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(primitiveType.getAttributes().contains(extensionEnd));
+ assertSuperset(primitiveType.getOwnedMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ primitiveType.getOwnedAttributes().add(property);
+ assertSuperset(primitiveType.getAttributes().contains(property));
+ assertSuperset(primitiveType.getOwnedMembers().contains(property));
+ }
+
+ public void testOwnedOperation() {
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ primitiveType.getOwnedOperations().add(operation);
+ assertSuperset(primitiveType.getFeatures().contains(operation));
+ assertSuperset(primitiveType.getOwnedMembers().contains(operation));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProfileApplicationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProfileApplicationTest.java
new file mode 100755
index 00000000..129e04de
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProfileApplicationTest.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+
+/**
+ * @author Eike Stepper
+ */
+public class ProfileApplicationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ profileApplication.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ profileApplication.getOwnedComments().add(comment);
+ assertSuperset(profileApplication.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ EList<Element> elements = profileApplication.getOwnedElements();
+ EList<Element> elements2 = profileApplication.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testRelatedElement() {
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ EList<Element> elements = profileApplication.getRelatedElements();
+ EList<Element> elements2 = profileApplication.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ EList<Element> elements = profileApplication.getSources();
+ EList<Element> elements2 = profileApplication.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ EList<Element> elements = profileApplication.getTargets();
+ EList<Element> elements2 = profileApplication.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testAppliedProfile() {
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ profileApplication.setAppliedProfile(profile);
+ assertSuperset(profileApplication.getTargets().contains(profile));
+ }
+
+ public void testApplyingPackage() {
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ profileApplication.setApplyingPackage(profile);
+ assertSuperset(profileApplication.getSources().contains(profile));
+ assertSuperset(profileApplication.getOwner() == profile);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ profileApplication.setApplyingPackage(model);
+ assertSuperset(profileApplication.getSources().contains(model));
+ assertSuperset(profileApplication.getOwner() == model);
+
+ ProfileApplication profileApplication2 = UML.createProfileApplication();
+ assertValid(profileApplication2);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ profileApplication2.setApplyingPackage(package_);
+ assertSuperset(profileApplication2.getSources().contains(package_));
+ assertSuperset(profileApplication2.getOwner() == package_);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProfileTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProfileTest.java
new file mode 100755
index 00000000..3e6c45da
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProfileTest.java
@@ -0,0 +1,705 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ProfileTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ profile.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ profile.getOwnedComments().add(comment);
+ assertSuperset(profile.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ EList<Element> elements = profile.getOwnedElements();
+ EList<Element> elements2 = profile.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ EList<Dependency> dependencys = profile.getClientDependencies();
+ EList<Dependency> dependencys2 = profile.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ profile.setNameExpression(stringExpression);
+ assertSuperset(profile.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ profile.getOwnedRules().add(intervalConstraint);
+ assertSuperset(profile.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ profile.getOwnedRules().add(timeConstraint);
+ assertSuperset(profile.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ profile.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ profile.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ profile.getOwnedRules().add(constraint);
+ assertSuperset(profile.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ profile.getOwnedRules().add(durationConstraint);
+ assertSuperset(profile.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ profile.getElementImports().add(elementImport);
+ assertSuperset(profile.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ profile.getPackageImports().add(packageImport);
+ assertSuperset(profile.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ EList<NamedElement> namedElements = profile.getOwnedMembers();
+ EList<NamedElement> namedElements2 = profile.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ EList<PackageableElement> packageableElements = profile
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = profile
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ EList<NamedElement> namedElements = profile.getMembers();
+ EList<NamedElement> namedElements2 = profile.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ profile.setOwningTemplateParameter(templateParameter);
+ assertSuperset(profile.getOwner() == templateParameter);
+ assertSuperset(profile.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ profile.setTemplateParameter(templateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ profile.getTemplateBindings().add(templateBinding);
+ assertSuperset(profile.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ profile.setOwnedTemplateSignature(templateSignature);
+ assertSuperset(profile.getOwnedElements().contains(templateSignature));
+ }
+
+ public void testNestedPackage() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ EList<org.eclipse.uml2.uml.Package> package_s = profile
+ .getNestedPackages();
+ EList<org.eclipse.uml2.uml.Package> package_s2 = profile
+ .getNestedPackages();
+ assertSame(package_s, package_s2);
+ }
+
+ public void testOwnedStereotype() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ EList<Stereotype> stereotypes = profile.getOwnedStereotypes();
+ EList<Stereotype> stereotypes2 = profile.getOwnedStereotypes();
+ assertSame(stereotypes, stereotypes2);
+ }
+
+ public void testOwnedType() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ EList<Type> types = profile.getOwnedTypes();
+ EList<Type> types2 = profile.getOwnedTypes();
+ assertSame(types, types2);
+ }
+
+ public void testPackageMerge() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ profile.getPackageMerges().add(packageMerge);
+ assertSuperset(profile.getOwnedElements().contains(packageMerge));
+ }
+
+ public void testPackagedElement() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ profile.getPackagedElements().add(functionBehavior);
+ assertSuperset(profile.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ profile.getPackagedElements().add(activity);
+ assertSuperset(profile.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ profile.getPackagedElements().add(interface_);
+ assertSuperset(profile.getOwnedMembers().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ profile.getPackagedElements().add(instanceSpecification);
+ assertSuperset(
+ profile.getOwnedMembers().contains(instanceSpecification));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ profile.getPackagedElements().add(informationItem);
+ assertSuperset(profile.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ profile.getPackagedElements().add(communicationPath);
+ assertSuperset(profile.getOwnedMembers().contains(communicationPath));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ profile.getPackagedElements().add(literalReal);
+ assertSuperset(profile.getOwnedMembers().contains(literalReal));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ profile.getPackagedElements().add(component);
+ assertSuperset(profile.getOwnedMembers().contains(component));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ profile.getPackagedElements().add(duration);
+ assertSuperset(profile.getOwnedMembers().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ profile.getPackagedElements().add(package_);
+ assertSuperset(profile.getOwnedMembers().contains(package_));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ profile.getPackagedElements().add(manifestation);
+ assertSuperset(profile.getOwnedMembers().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ profile.getPackagedElements().add(durationObservation);
+ assertSuperset(profile.getOwnedMembers().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ profile.getPackagedElements().add(callEvent);
+ assertSuperset(profile.getOwnedMembers().contains(callEvent));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ profile.getPackagedElements().add(interaction);
+ assertSuperset(profile.getOwnedMembers().contains(interaction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ profile.getPackagedElements().add(opaqueBehavior);
+ assertSuperset(profile.getOwnedMembers().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ profile.getPackagedElements().add(literalUnlimitedNatural);
+ assertSuperset(
+ profile.getOwnedMembers().contains(literalUnlimitedNatural));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ profile.getPackagedElements().add(timeObservation);
+ assertSuperset(profile.getOwnedMembers().contains(timeObservation));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ profile.getPackagedElements().add(model);
+ assertSuperset(profile.getOwnedMembers().contains(model));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ profile.getPackagedElements().add(timeExpression);
+ assertSuperset(profile.getOwnedMembers().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ profile.getPackagedElements().add(device);
+ assertSuperset(profile.getOwnedMembers().contains(device));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ profile.getPackagedElements().add(instanceValue);
+ assertSuperset(profile.getOwnedMembers().contains(instanceValue));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ profile.getPackagedElements().add(interactionConstraint);
+ assertSuperset(
+ profile.getOwnedMembers().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ profile.getPackagedElements().add(associationClass);
+ assertSuperset(profile.getOwnedMembers().contains(associationClass));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ profile.getPackagedElements().add(interval);
+ assertSuperset(profile.getOwnedMembers().contains(interval));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ profile.getPackagedElements().add(abstraction);
+ assertSuperset(profile.getOwnedMembers().contains(abstraction));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ profile.getPackagedElements().add(literalString);
+ assertSuperset(profile.getOwnedMembers().contains(literalString));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ profile.getPackagedElements().add(interfaceRealization);
+ assertSuperset(
+ profile.getOwnedMembers().contains(interfaceRealization));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ profile.getPackagedElements().add(enumeration);
+ assertSuperset(profile.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ profile.getPackagedElements().add(primitiveType);
+ assertSuperset(profile.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ profile.getPackagedElements().add(actor);
+ assertSuperset(profile.getOwnedMembers().contains(actor));
+
+ Profile profile2 = UML.createProfile();
+ assertValid(profile2);
+ profile.getPackagedElements().add(profile2);
+ assertSuperset(profile.getOwnedMembers().contains(profile2));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ profile.getPackagedElements().add(timeConstraint);
+ assertSuperset(profile.getOwnedMembers().contains(timeConstraint));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ profile.getPackagedElements().add(durationInterval);
+ assertSuperset(profile.getOwnedMembers().contains(durationInterval));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ profile.getPackagedElements().add(generalizationSet);
+ assertSuperset(profile.getOwnedMembers().contains(generalizationSet));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ profile.getPackagedElements().add(signal);
+ assertSuperset(profile.getOwnedMembers().contains(signal));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ profile.getPackagedElements().add(deployment);
+ assertSuperset(profile.getOwnedMembers().contains(deployment));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ profile.getPackagedElements().add(artifact);
+ assertSuperset(profile.getOwnedMembers().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ profile.getPackagedElements().add(informationFlow);
+ assertSuperset(profile.getOwnedMembers().contains(informationFlow));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ profile.getPackagedElements().add(signalEvent);
+ assertSuperset(profile.getOwnedMembers().contains(signalEvent));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ profile.getPackagedElements().add(opaqueExpression);
+ assertSuperset(profile.getOwnedMembers().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ profile.getPackagedElements().add(timeEvent);
+ assertSuperset(profile.getOwnedMembers().contains(timeEvent));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ profile.getPackagedElements().add(usage);
+ assertSuperset(profile.getOwnedMembers().contains(usage));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ profile.getPackagedElements().add(anyReceiveEvent);
+ assertSuperset(profile.getOwnedMembers().contains(anyReceiveEvent));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ profile.getPackagedElements().add(executionEnvironment);
+ assertSuperset(
+ profile.getOwnedMembers().contains(executionEnvironment));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ profile.getPackagedElements().add(literalInteger);
+ assertSuperset(profile.getOwnedMembers().contains(literalInteger));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ profile.getPackagedElements().add(deploymentSpecification);
+ assertSuperset(
+ profile.getOwnedMembers().contains(deploymentSpecification));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ profile.getPackagedElements().add(realization);
+ assertSuperset(profile.getOwnedMembers().contains(realization));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ profile.getPackagedElements().add(association);
+ assertSuperset(profile.getOwnedMembers().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ profile.getPackagedElements().add(timeInterval);
+ assertSuperset(profile.getOwnedMembers().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ profile.getPackagedElements().add(dataType);
+ assertSuperset(profile.getOwnedMembers().contains(dataType));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ profile.getPackagedElements().add(substitution);
+ assertSuperset(profile.getOwnedMembers().contains(substitution));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ profile.getPackagedElements().add(intervalConstraint);
+ assertSuperset(profile.getOwnedMembers().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ profile.getPackagedElements().add(extension);
+ assertSuperset(profile.getOwnedMembers().contains(extension));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ profile.getPackagedElements().add(literalBoolean);
+ assertSuperset(profile.getOwnedMembers().contains(literalBoolean));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ profile.getPackagedElements().add(dependency);
+ assertSuperset(profile.getOwnedMembers().contains(dependency));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ profile.getPackagedElements().add(expression);
+ assertSuperset(profile.getOwnedMembers().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ profile.getPackagedElements().add(componentRealization);
+ assertSuperset(
+ profile.getOwnedMembers().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ profile.getPackagedElements().add(class_);
+ assertSuperset(profile.getOwnedMembers().contains(class_));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ profile.getPackagedElements().add(durationConstraint);
+ assertSuperset(profile.getOwnedMembers().contains(durationConstraint));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ profile.getPackagedElements().add(literalNull);
+ assertSuperset(profile.getOwnedMembers().contains(literalNull));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ profile.getPackagedElements().add(protocolStateMachine);
+ assertSuperset(
+ profile.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ profile.getPackagedElements().add(useCase);
+ assertSuperset(profile.getOwnedMembers().contains(useCase));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ profile.getPackagedElements().add(stringExpression);
+ assertSuperset(profile.getOwnedMembers().contains(stringExpression));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ profile.getPackagedElements().add(node);
+ assertSuperset(profile.getOwnedMembers().contains(node));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ profile.getPackagedElements().add(changeEvent);
+ assertSuperset(profile.getOwnedMembers().contains(changeEvent));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ profile.getPackagedElements().add(constraint);
+ assertSuperset(profile.getOwnedMembers().contains(constraint));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ profile.getPackagedElements().add(stereotype);
+ assertSuperset(profile.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ profile.getPackagedElements().add(stateMachine);
+ assertSuperset(profile.getOwnedMembers().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ profile.getPackagedElements().add(enumerationLiteral);
+ assertSuperset(profile.getOwnedMembers().contains(enumerationLiteral));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ profile.getPackagedElements().add(collaboration);
+ assertSuperset(profile.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testProfileApplication() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ profile.getProfileApplications().add(profileApplication);
+ assertSuperset(profile.getOwnedElements().contains(profileApplication));
+ }
+
+ public void testMetaclassReference() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ profile.getMetaclassReferences().add(elementImport);
+ assertSuperset(profile.getElementImports().contains(elementImport));
+ }
+
+ public void testMetamodelReference() {
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ profile.getMetamodelReferences().add(packageImport);
+ assertSuperset(profile.getPackageImports().contains(packageImport));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PropertyTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PropertyTest.java
new file mode 100755
index 00000000..1cdb50fc
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PropertyTest.java
@@ -0,0 +1,844 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class PropertyTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ property.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ property.getOwnedComments().add(comment);
+ assertSuperset(property.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Property property = UML.createProperty();
+ assertValid(property);
+ EList<Element> elements = property.getOwnedElements();
+ EList<Element> elements2 = property.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Property property = UML.createProperty();
+ assertValid(property);
+ EList<Dependency> dependencys = property.getClientDependencies();
+ EList<Dependency> dependencys2 = property.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ property.setNameExpression(stringExpression);
+ assertSuperset(property.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ Property property = UML.createProperty();
+ assertValid(property);
+ EList<RedefinableElement> redefinableElements = property
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = property
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Property property = UML.createProperty();
+ assertValid(property);
+ EList<Classifier> classifiers = property.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = property.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testFeaturingClassifier() {
+ Property property = UML.createProperty();
+ assertValid(property);
+ EList<Classifier> classifiers = property.getFeaturingClassifiers();
+ EList<Classifier> classifiers2 = property.getFeaturingClassifiers();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testType() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ property.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ property.setType(activity);
+
+ Property property2 = UML.createProperty();
+ assertValid(property2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ property2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ property2.setType(informationItem);
+
+ Property property3 = UML.createProperty();
+ assertValid(property3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ property3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ property3.setType(executionEnvironment);
+
+ Property property4 = UML.createProperty();
+ assertValid(property4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ property4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ property4.setType(interaction);
+
+ Property property5 = UML.createProperty();
+ assertValid(property5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ property5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ property5.setType(opaqueBehavior);
+
+ Property property6 = UML.createProperty();
+ assertValid(property6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ property6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ property6.setType(dataType);
+
+ Property property7 = UML.createProperty();
+ assertValid(property7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ property7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ property7.setType(extension);
+
+ Property property8 = UML.createProperty();
+ assertValid(property8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ property8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ property8.setType(class_);
+
+ Property property9 = UML.createProperty();
+ assertValid(property9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ property9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ property9.setType(primitiveType);
+
+ Property property10 = UML.createProperty();
+ assertValid(property10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ property10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ property10.setType(protocolStateMachine);
+
+ Property property11 = UML.createProperty();
+ assertValid(property11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ property11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ property11.setType(signal);
+
+ Property property12 = UML.createProperty();
+ assertValid(property12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ property12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ property12.setType(stereotype);
+
+ Property property13 = UML.createProperty();
+ assertValid(property13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ property13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ property13.setType(artifact);
+
+ Property property14 = UML.createProperty();
+ assertValid(property14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ property14.setType(collaboration);
+ }
+
+ public void testLowerValue() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ property.setLowerValue(literalBoolean);
+ assertSuperset(property.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ property.setLowerValue(interval);
+ assertSuperset(property.getOwnedElements().contains(interval));
+
+ Property property2 = UML.createProperty();
+ assertValid(property2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ property2.setLowerValue(opaqueExpression);
+ assertSuperset(property2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ property2.setLowerValue(expression);
+ assertSuperset(property2.getOwnedElements().contains(expression));
+
+ Property property3 = UML.createProperty();
+ assertValid(property3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ property3.setLowerValue(literalReal);
+ assertSuperset(property3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ property3.setLowerValue(literalString);
+ assertSuperset(property3.getOwnedElements().contains(literalString));
+
+ Property property4 = UML.createProperty();
+ assertValid(property4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ property4.setLowerValue(literalNull);
+ assertSuperset(property4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ property4.setLowerValue(duration);
+ assertSuperset(property4.getOwnedElements().contains(duration));
+
+ Property property5 = UML.createProperty();
+ assertValid(property5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ property5.setLowerValue(literalInteger);
+ assertSuperset(property5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ property5.setLowerValue(durationInterval);
+ assertSuperset(property5.getOwnedElements().contains(durationInterval));
+
+ Property property6 = UML.createProperty();
+ assertValid(property6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ property6.setLowerValue(stringExpression);
+ assertSuperset(property6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ property6.setLowerValue(literalUnlimitedNatural);
+ assertSuperset(
+ property6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Property property7 = UML.createProperty();
+ assertValid(property7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ property7.setLowerValue(timeInterval);
+ assertSuperset(property7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ property7.setLowerValue(timeExpression);
+ assertSuperset(property7.getOwnedElements().contains(timeExpression));
+
+ Property property8 = UML.createProperty();
+ assertValid(property8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ property8.setLowerValue(instanceValue);
+ assertSuperset(property8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testUpperValue() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ property.setUpperValue(literalBoolean);
+ assertSuperset(property.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ property.setUpperValue(interval);
+ assertSuperset(property.getOwnedElements().contains(interval));
+
+ Property property2 = UML.createProperty();
+ assertValid(property2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ property2.setUpperValue(opaqueExpression);
+ assertSuperset(property2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ property2.setUpperValue(expression);
+ assertSuperset(property2.getOwnedElements().contains(expression));
+
+ Property property3 = UML.createProperty();
+ assertValid(property3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ property3.setUpperValue(literalReal);
+ assertSuperset(property3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ property3.setUpperValue(literalString);
+ assertSuperset(property3.getOwnedElements().contains(literalString));
+
+ Property property4 = UML.createProperty();
+ assertValid(property4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ property4.setUpperValue(literalNull);
+ assertSuperset(property4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ property4.setUpperValue(duration);
+ assertSuperset(property4.getOwnedElements().contains(duration));
+
+ Property property5 = UML.createProperty();
+ assertValid(property5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ property5.setUpperValue(literalInteger);
+ assertSuperset(property5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ property5.setUpperValue(durationInterval);
+ assertSuperset(property5.getOwnedElements().contains(durationInterval));
+
+ Property property6 = UML.createProperty();
+ assertValid(property6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ property6.setUpperValue(stringExpression);
+ assertSuperset(property6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ property6.setUpperValue(literalUnlimitedNatural);
+ assertSuperset(
+ property6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Property property7 = UML.createProperty();
+ assertValid(property7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ property7.setUpperValue(timeInterval);
+ assertSuperset(property7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ property7.setUpperValue(timeExpression);
+ assertSuperset(property7.getOwnedElements().contains(timeExpression));
+
+ Property property8 = UML.createProperty();
+ assertValid(property8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ property8.setUpperValue(instanceValue);
+ assertSuperset(property8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testOwningTemplateParameter() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ property
+ .setOwningTemplateParameter(connectableElementTemplateParameter);
+ assertSuperset(
+ property.getOwner() == connectableElementTemplateParameter);
+ assertSuperset(property
+ .getTemplateParameter() == connectableElementTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ property.setTemplateParameter(connectableElementTemplateParameter);
+ }
+
+ public void testDeployedElement() {
+ Property property = UML.createProperty();
+ assertValid(property);
+ EList<PackageableElement> packageableElements = property
+ .getDeployedElements();
+ EList<PackageableElement> packageableElements2 = property
+ .getDeployedElements();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testDeployment() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ property.getDeployments().add(deployment);
+ assertSuperset(property.getOwnedElements().contains(deployment));
+ assertSuperset(property.getClientDependencies().contains(deployment));
+ }
+
+ public void testDatatype() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ property.setDatatype(enumeration);
+ assertSuperset(property.getNamespace() == enumeration);
+ assertSuperset(
+ property.getFeaturingClassifiers().contains(enumeration));
+ assertSuperset(
+ property.getRedefinitionContexts().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ property.setDatatype(primitiveType);
+ assertSuperset(property.getNamespace() == primitiveType);
+ assertSuperset(
+ property.getFeaturingClassifiers().contains(primitiveType));
+ assertSuperset(
+ property.getRedefinitionContexts().contains(primitiveType));
+
+ Property property2 = UML.createProperty();
+ assertValid(property2);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ property2.setDatatype(dataType);
+ assertSuperset(property2.getNamespace() == dataType);
+ assertSuperset(property2.getFeaturingClassifiers().contains(dataType));
+ assertSuperset(property2.getRedefinitionContexts().contains(dataType));
+ }
+
+ public void testInterface() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ property.setInterface(interface_);
+ assertSuperset(property.getNamespace() == interface_);
+ assertSuperset(property.getFeaturingClassifiers().contains(interface_));
+ assertSuperset(property.getRedefinitionContexts().contains(interface_));
+ }
+
+ public void testAssociationEnd() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ property.setAssociationEnd(port);
+ assertSuperset(property.getOwner() == port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ property.setAssociationEnd(extensionEnd);
+ assertSuperset(property.getOwner() == extensionEnd);
+
+ Property property2 = UML.createProperty();
+ assertValid(property2);
+
+ Property property3 = UML.createProperty();
+ assertValid(property3);
+ property2.setAssociationEnd(property3);
+ assertSuperset(property2.getOwner() == property3);
+ }
+
+ public void testQualifier() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ property.getQualifiers().add(port);
+ assertSuperset(property.getOwnedElements().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ property.getQualifiers().add(extensionEnd);
+ assertSuperset(property.getOwnedElements().contains(extensionEnd));
+
+ Property property2 = UML.createProperty();
+ assertValid(property2);
+ property.getQualifiers().add(property2);
+ assertSuperset(property.getOwnedElements().contains(property2));
+ }
+
+ public void testDefaultValue() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ property.setDefaultValue(literalBoolean);
+ assertSuperset(property.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ property.setDefaultValue(interval);
+ assertSuperset(property.getOwnedElements().contains(interval));
+
+ Property property2 = UML.createProperty();
+ assertValid(property2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ property2.setDefaultValue(opaqueExpression);
+ assertSuperset(property2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ property2.setDefaultValue(expression);
+ assertSuperset(property2.getOwnedElements().contains(expression));
+
+ Property property3 = UML.createProperty();
+ assertValid(property3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ property3.setDefaultValue(literalReal);
+ assertSuperset(property3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ property3.setDefaultValue(literalString);
+ assertSuperset(property3.getOwnedElements().contains(literalString));
+
+ Property property4 = UML.createProperty();
+ assertValid(property4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ property4.setDefaultValue(literalNull);
+ assertSuperset(property4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ property4.setDefaultValue(duration);
+ assertSuperset(property4.getOwnedElements().contains(duration));
+
+ Property property5 = UML.createProperty();
+ assertValid(property5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ property5.setDefaultValue(literalInteger);
+ assertSuperset(property5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ property5.setDefaultValue(durationInterval);
+ assertSuperset(property5.getOwnedElements().contains(durationInterval));
+
+ Property property6 = UML.createProperty();
+ assertValid(property6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ property6.setDefaultValue(stringExpression);
+ assertSuperset(property6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ property6.setDefaultValue(literalUnlimitedNatural);
+ assertSuperset(
+ property6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Property property7 = UML.createProperty();
+ assertValid(property7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ property7.setDefaultValue(timeInterval);
+ assertSuperset(property7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ property7.setDefaultValue(timeExpression);
+ assertSuperset(property7.getOwnedElements().contains(timeExpression));
+
+ Property property8 = UML.createProperty();
+ assertValid(property8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ property8.setDefaultValue(instanceValue);
+ assertSuperset(property8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testOwningAssociation() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ property.setOwningAssociation(associationClass);
+ assertSuperset(
+ property.getFeaturingClassifiers().contains(associationClass));
+ assertSuperset(property.getNamespace() == associationClass);
+ assertSuperset(property.getAssociation() == associationClass);
+ assertSuperset(
+ property.getRedefinitionContexts().contains(associationClass));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ property.setOwningAssociation(communicationPath);
+ assertSuperset(
+ property.getFeaturingClassifiers().contains(communicationPath));
+ assertSuperset(property.getNamespace() == communicationPath);
+ assertSuperset(property.getAssociation() == communicationPath);
+ assertSuperset(
+ property.getRedefinitionContexts().contains(communicationPath));
+
+ Property property2 = UML.createProperty();
+ assertValid(property2);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ property2.setOwningAssociation(association);
+ assertSuperset(
+ property2.getFeaturingClassifiers().contains(association));
+ assertSuperset(property2.getNamespace() == association);
+ assertSuperset(property2.getAssociation() == association);
+ assertSuperset(
+ property2.getRedefinitionContexts().contains(association));
+ }
+
+ public void testRedefinedProperty() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ property.getRedefinedProperties().add(port);
+ assertSuperset(property.getRedefinedElements().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ property.getRedefinedProperties().add(extensionEnd);
+ assertSuperset(property.getRedefinedElements().contains(extensionEnd));
+
+ Property property2 = UML.createProperty();
+ assertValid(property2);
+ property.getRedefinedProperties().add(property2);
+ assertSuperset(property.getRedefinedElements().contains(property2));
+ }
+
+ public void testSubsettedProperty() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ property.getSubsettedProperties().add(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ property.getSubsettedProperties().add(extensionEnd);
+
+ Property property2 = UML.createProperty();
+ assertValid(property2);
+ property.getSubsettedProperties().add(property2);
+ }
+
+ public void testAssociation() {
+ Property property = UML.createProperty();
+ assertValid(property);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ property.setAssociation(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ property.setAssociation(associationClass);
+
+ Property property2 = UML.createProperty();
+ assertValid(property2);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ property2.setAssociation(communicationPath);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ property2.setAssociation(association);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProtocolConformanceTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProtocolConformanceTest.java
new file mode 100755
index 00000000..63f374f2
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProtocolConformanceTest.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ProtocolConformance;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+
+/**
+ * @author Eike Stepper
+ */
+public class ProtocolConformanceTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ protocolConformance.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ protocolConformance.getOwnedComments().add(comment);
+ assertSuperset(
+ protocolConformance.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+ EList<Element> elements = protocolConformance.getOwnedElements();
+ EList<Element> elements2 = protocolConformance.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testRelatedElement() {
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+ EList<Element> elements = protocolConformance.getRelatedElements();
+ EList<Element> elements2 = protocolConformance.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+ EList<Element> elements = protocolConformance.getSources();
+ EList<Element> elements2 = protocolConformance.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+ EList<Element> elements = protocolConformance.getTargets();
+ EList<Element> elements2 = protocolConformance.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testGeneralMachine() {
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ protocolConformance.setGeneralMachine(protocolStateMachine);
+ assertSuperset(
+ protocolConformance.getTargets().contains(protocolStateMachine));
+ }
+
+ public void testSpecificMachine() {
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ protocolConformance.setSpecificMachine(protocolStateMachine);
+ assertSuperset(
+ protocolConformance.getSources().contains(protocolStateMachine));
+ assertSuperset(protocolConformance.getOwner() == protocolStateMachine);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProtocolStateMachineTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProtocolStateMachineTest.java
new file mode 100755
index 00000000..15053d3f
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProtocolStateMachineTest.java
@@ -0,0 +1,1199 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolConformance;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ProtocolStateMachineTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ protocolStateMachine.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ protocolStateMachine.getOwnedComments().add(comment);
+ assertSuperset(
+ protocolStateMachine.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<Element> elements = protocolStateMachine.getOwnedElements();
+ EList<Element> elements2 = protocolStateMachine.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<Dependency> dependencys = protocolStateMachine
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = protocolStateMachine
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ protocolStateMachine.setNameExpression(stringExpression);
+ assertSuperset(
+ protocolStateMachine.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ protocolStateMachine.getOwnedRules().add(intervalConstraint);
+ assertSuperset(protocolStateMachine.getOwnedMembers()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ protocolStateMachine.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ protocolStateMachine.getOwnedRules().add(interactionConstraint);
+ assertSuperset(protocolStateMachine.getOwnedMembers()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ protocolStateMachine.getOwnedRules().add(constraint);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ protocolStateMachine.getOwnedRules().add(durationConstraint);
+ assertSuperset(protocolStateMachine.getOwnedMembers()
+ .contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ protocolStateMachine.getElementImports().add(elementImport);
+ assertSuperset(
+ protocolStateMachine.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ protocolStateMachine.getPackageImports().add(packageImport);
+ assertSuperset(
+ protocolStateMachine.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<NamedElement> namedElements = protocolStateMachine
+ .getOwnedMembers();
+ EList<NamedElement> namedElements2 = protocolStateMachine
+ .getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<PackageableElement> packageableElements = protocolStateMachine
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = protocolStateMachine
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<NamedElement> namedElements = protocolStateMachine.getMembers();
+ EList<NamedElement> namedElements2 = protocolStateMachine.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<RedefinableElement> redefinableElements = protocolStateMachine
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = protocolStateMachine
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<Classifier> classifiers = protocolStateMachine
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = protocolStateMachine
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ protocolStateMachine
+ .setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(
+ protocolStateMachine.getOwner() == classifierTemplateParameter);
+ assertSuperset(protocolStateMachine
+ .getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ protocolStateMachine.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ protocolStateMachine.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ protocolStateMachine.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ protocolStateMachine
+ .setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(protocolStateMachine.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<Feature> features = protocolStateMachine.getFeatures();
+ EList<Feature> features2 = protocolStateMachine.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<Property> propertys = protocolStateMachine.getAttributes();
+ EList<Property> propertys2 = protocolStateMachine.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ protocolStateMachine.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ protocolStateMachine.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<Classifier> classifiers = protocolStateMachine.getGenerals();
+ EList<Classifier> classifiers2 = protocolStateMachine.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ protocolStateMachine.getGeneralizations().add(generalization);
+ assertSuperset(
+ protocolStateMachine.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ protocolStateMachine.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<NamedElement> namedElements = protocolStateMachine
+ .getInheritedMembers();
+ EList<NamedElement> namedElements2 = protocolStateMachine
+ .getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ protocolStateMachine.getOwnedUseCases().add(useCase);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ protocolStateMachine.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ protocolStateMachine.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(protocolStateMachine.getRedefinedElements()
+ .contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ protocolStateMachine.getRedefinedClassifiers().add(activity);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ protocolStateMachine.getRedefinedClassifiers().add(interface_);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ protocolStateMachine.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(protocolStateMachine.getRedefinedElements()
+ .contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ protocolStateMachine.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(protocolStateMachine.getRedefinedElements()
+ .contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ protocolStateMachine.getRedefinedClassifiers()
+ .add(executionEnvironment);
+ assertSuperset(protocolStateMachine.getRedefinedElements()
+ .contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ protocolStateMachine.getRedefinedClassifiers().add(component);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ protocolStateMachine.getRedefinedClassifiers().add(interaction);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ protocolStateMachine.getRedefinedClassifiers()
+ .add(deploymentSpecification);
+ assertSuperset(protocolStateMachine.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ protocolStateMachine.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(protocolStateMachine.getRedefinedElements()
+ .contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ protocolStateMachine.getRedefinedClassifiers().add(association);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ protocolStateMachine.getRedefinedClassifiers().add(dataType);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ protocolStateMachine.getRedefinedClassifiers().add(device);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ protocolStateMachine.getRedefinedClassifiers().add(extension);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ protocolStateMachine.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(protocolStateMachine.getRedefinedElements()
+ .contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ protocolStateMachine.getRedefinedClassifiers().add(class_);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ protocolStateMachine.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ protocolStateMachine.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(protocolStateMachine.getRedefinedElements()
+ .contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ protocolStateMachine.getRedefinedClassifiers().add(actor);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine2 = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine2);
+ protocolStateMachine.getRedefinedClassifiers()
+ .add(protocolStateMachine2);
+ assertSuperset(protocolStateMachine.getRedefinedElements()
+ .contains(protocolStateMachine2));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ protocolStateMachine.getRedefinedClassifiers().add(useCase);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ protocolStateMachine.getRedefinedClassifiers().add(signal);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ protocolStateMachine.getRedefinedClassifiers().add(node);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ protocolStateMachine.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ protocolStateMachine.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ protocolStateMachine.getRedefinedClassifiers().add(artifact);
+ assertSuperset(
+ protocolStateMachine.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ protocolStateMachine.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(protocolStateMachine.getRedefinedElements()
+ .contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ protocolStateMachine.setRepresentation(collaborationUse);
+ assertSuperset(protocolStateMachine.getCollaborationUses()
+ .contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ protocolStateMachine.getSubstitutions().add(substitution);
+ assertSuperset(
+ protocolStateMachine.getOwnedElements().contains(substitution));
+ assertSuperset(protocolStateMachine.getClientDependencies()
+ .contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ protocolStateMachine.getOwnedAttributes().add(port);
+ assertSuperset(protocolStateMachine.getAttributes().contains(port));
+ assertSuperset(protocolStateMachine.getOwnedMembers().contains(port));
+ assertSuperset(protocolStateMachine.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ protocolStateMachine.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(
+ protocolStateMachine.getAttributes().contains(extensionEnd));
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(protocolStateMachine.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ protocolStateMachine.getOwnedAttributes().add(property);
+ assertSuperset(protocolStateMachine.getAttributes().contains(property));
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(property));
+ assertSuperset(protocolStateMachine.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ protocolStateMachine.getOwnedConnectors().add(connector);
+ assertSuperset(protocolStateMachine.getFeatures().contains(connector));
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<Property> propertys = protocolStateMachine.getParts();
+ EList<Property> propertys2 = protocolStateMachine.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<ConnectableElement> connectableElements = protocolStateMachine
+ .getRoles();
+ EList<ConnectableElement> connectableElements2 = protocolStateMachine
+ .getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testOwnedPort() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<Port> ports = protocolStateMachine.getOwnedPorts();
+ EList<Port> ports2 = protocolStateMachine.getOwnedPorts();
+ assertSame(ports, ports2);
+ }
+
+ public void testClassifierBehavior() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ ProtocolStateMachine protocolStateMachine2 = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine2);
+ protocolStateMachine.setClassifierBehavior(protocolStateMachine2);
+ assertSuperset(protocolStateMachine.getOwnedBehaviors()
+ .contains(protocolStateMachine2));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ protocolStateMachine.setClassifierBehavior(functionBehavior);
+ assertSuperset(protocolStateMachine.getOwnedBehaviors()
+ .contains(functionBehavior));
+
+ ProtocolStateMachine protocolStateMachine3 = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine3);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ protocolStateMachine3.setClassifierBehavior(activity);
+ assertSuperset(
+ protocolStateMachine3.getOwnedBehaviors().contains(activity));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ protocolStateMachine3.setClassifierBehavior(interaction);
+ assertSuperset(
+ protocolStateMachine3.getOwnedBehaviors().contains(interaction));
+
+ ProtocolStateMachine protocolStateMachine4 = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine4);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ protocolStateMachine4.setClassifierBehavior(opaqueBehavior);
+ assertSuperset(
+ protocolStateMachine4.getOwnedBehaviors().contains(opaqueBehavior));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ protocolStateMachine4.setClassifierBehavior(stateMachine);
+ assertSuperset(
+ protocolStateMachine4.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ protocolStateMachine.getInterfaceRealizations()
+ .add(interfaceRealization);
+ assertSuperset(protocolStateMachine.getOwnedElements()
+ .contains(interfaceRealization));
+ assertSuperset(protocolStateMachine.getClientDependencies()
+ .contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ ProtocolStateMachine protocolStateMachine2 = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine2);
+ protocolStateMachine.getOwnedBehaviors().add(protocolStateMachine2);
+ assertSuperset(protocolStateMachine.getOwnedMembers()
+ .contains(protocolStateMachine2));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ protocolStateMachine.getOwnedBehaviors().add(functionBehavior);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ protocolStateMachine.getOwnedBehaviors().add(activity);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(activity));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ protocolStateMachine.getOwnedBehaviors().add(interaction);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(interaction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ protocolStateMachine.getOwnedBehaviors().add(opaqueBehavior);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(opaqueBehavior));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ protocolStateMachine.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testOwnedOperation() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ protocolStateMachine.getOwnedOperations().add(operation);
+ assertSuperset(protocolStateMachine.getFeatures().contains(operation));
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(operation));
+ }
+
+ public void testExtension() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<Extension> extensions = protocolStateMachine.getExtensions();
+ EList<Extension> extensions2 = protocolStateMachine.getExtensions();
+ assertSame(extensions, extensions2);
+ }
+
+ public void testNestedClassifier() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ protocolStateMachine.getNestedClassifiers().add(functionBehavior);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ protocolStateMachine.getNestedClassifiers().add(activity);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ protocolStateMachine.getNestedClassifiers().add(interface_);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ protocolStateMachine.getNestedClassifiers().add(informationItem);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ protocolStateMachine.getNestedClassifiers().add(communicationPath);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ protocolStateMachine.getNestedClassifiers().add(executionEnvironment);
+ assertSuperset(protocolStateMachine.getOwnedMembers()
+ .contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ protocolStateMachine.getNestedClassifiers().add(component);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ protocolStateMachine.getNestedClassifiers().add(interaction);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ protocolStateMachine.getNestedClassifiers()
+ .add(deploymentSpecification);
+ assertSuperset(protocolStateMachine.getOwnedMembers()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ protocolStateMachine.getNestedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ protocolStateMachine.getNestedClassifiers().add(association);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ protocolStateMachine.getNestedClassifiers().add(dataType);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ protocolStateMachine.getNestedClassifiers().add(device);
+ assertSuperset(protocolStateMachine.getOwnedMembers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ protocolStateMachine.getNestedClassifiers().add(extension);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ protocolStateMachine.getNestedClassifiers().add(associationClass);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ protocolStateMachine.getNestedClassifiers().add(class_);
+ assertSuperset(protocolStateMachine.getOwnedMembers().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ protocolStateMachine.getNestedClassifiers().add(enumeration);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ protocolStateMachine.getNestedClassifiers().add(primitiveType);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ protocolStateMachine.getNestedClassifiers().add(actor);
+ assertSuperset(protocolStateMachine.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine2 = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine2);
+ protocolStateMachine.getNestedClassifiers().add(protocolStateMachine2);
+ assertSuperset(protocolStateMachine.getOwnedMembers()
+ .contains(protocolStateMachine2));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ protocolStateMachine.getNestedClassifiers().add(useCase);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ protocolStateMachine.getNestedClassifiers().add(signal);
+ assertSuperset(protocolStateMachine.getOwnedMembers().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ protocolStateMachine.getNestedClassifiers().add(node);
+ assertSuperset(protocolStateMachine.getOwnedMembers().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ protocolStateMachine.getNestedClassifiers().add(stereotype);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ protocolStateMachine.getNestedClassifiers().add(stateMachine);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ protocolStateMachine.getNestedClassifiers().add(artifact);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ protocolStateMachine.getNestedClassifiers().add(collaboration);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedReception() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ protocolStateMachine.getOwnedReceptions().add(reception);
+ assertSuperset(protocolStateMachine.getFeatures().contains(reception));
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(reception));
+ }
+
+ public void testSuperClass() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ EList<org.eclipse.uml2.uml.Class> class_s = protocolStateMachine
+ .getSuperClasses();
+ EList<org.eclipse.uml2.uml.Class> class_s2 = protocolStateMachine
+ .getSuperClasses();
+ assertSame(class_s, class_s2);
+ }
+
+ public void testSpecification() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ protocolStateMachine.setSpecification(reception);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ protocolStateMachine.setSpecification(operation);
+ }
+
+ public void testOwnedParameter() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ protocolStateMachine.getOwnedParameters().add(parameter);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(parameter));
+ }
+
+ public void testOwnedParameterSet() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ protocolStateMachine.getOwnedParameterSets().add(parameterSet);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(parameterSet));
+ }
+
+ public void testPostcondition() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ protocolStateMachine.getPostconditions().add(intervalConstraint);
+ assertSuperset(
+ protocolStateMachine.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ protocolStateMachine.getPostconditions().add(timeConstraint);
+ assertSuperset(
+ protocolStateMachine.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ protocolStateMachine.getPostconditions().add(interactionConstraint);
+ assertSuperset(protocolStateMachine.getOwnedRules()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ protocolStateMachine.getPostconditions().add(constraint);
+ assertSuperset(
+ protocolStateMachine.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ protocolStateMachine.getPostconditions().add(durationConstraint);
+ assertSuperset(
+ protocolStateMachine.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testPrecondition() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ protocolStateMachine.getPreconditions().add(intervalConstraint);
+ assertSuperset(
+ protocolStateMachine.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ protocolStateMachine.getPreconditions().add(timeConstraint);
+ assertSuperset(
+ protocolStateMachine.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ protocolStateMachine.getPreconditions().add(interactionConstraint);
+ assertSuperset(protocolStateMachine.getOwnedRules()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ protocolStateMachine.getPreconditions().add(constraint);
+ assertSuperset(
+ protocolStateMachine.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ protocolStateMachine.getPreconditions().add(durationConstraint);
+ assertSuperset(
+ protocolStateMachine.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testRedefinedBehavior() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ ProtocolStateMachine protocolStateMachine2 = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine2);
+ protocolStateMachine.getRedefinedBehaviors().add(protocolStateMachine2);
+ assertSuperset(protocolStateMachine.getRedefinedClassifiers()
+ .contains(protocolStateMachine2));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ protocolStateMachine.getRedefinedBehaviors().add(stateMachine);
+ assertSuperset(protocolStateMachine.getRedefinedClassifiers()
+ .contains(stateMachine));
+ }
+
+ public void testConnectionPoint() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ protocolStateMachine.getConnectionPoints().add(pseudostate);
+ assertSuperset(
+ protocolStateMachine.getOwnedMembers().contains(pseudostate));
+ }
+
+ public void testSubmachineState() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ protocolStateMachine.getSubmachineStates().add(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ protocolStateMachine.getSubmachineStates().add(state);
+ }
+
+ public void testRegion() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ protocolStateMachine.getRegions().add(region);
+ assertSuperset(protocolStateMachine.getOwnedMembers().contains(region));
+ }
+
+ public void testExtendedStateMachine() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ ProtocolStateMachine protocolStateMachine2 = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine2);
+ protocolStateMachine.getExtendedStateMachines()
+ .add(protocolStateMachine2);
+ assertSuperset(protocolStateMachine.getRedefinedClassifiers()
+ .contains(protocolStateMachine2));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ protocolStateMachine.getExtendedStateMachines().add(stateMachine);
+ assertSuperset(protocolStateMachine.getRedefinedClassifiers()
+ .contains(stateMachine));
+ }
+
+ public void testConformance() {
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+ protocolStateMachine.getConformances().add(protocolConformance);
+ assertSuperset(protocolStateMachine.getOwnedElements()
+ .contains(protocolConformance));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProtocolTransitionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProtocolTransitionTest.java
new file mode 100755
index 00000000..bf4d6833
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ProtocolTransitionTest.java
@@ -0,0 +1,438 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+
+/**
+ * @author Eike Stepper
+ */
+public class ProtocolTransitionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ protocolTransition.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ protocolTransition.getOwnedComments().add(comment);
+ assertSuperset(protocolTransition.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ EList<Element> elements = protocolTransition.getOwnedElements();
+ EList<Element> elements2 = protocolTransition.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ EList<Dependency> dependencys = protocolTransition
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = protocolTransition
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ protocolTransition.setNameExpression(stringExpression);
+ assertSuperset(
+ protocolTransition.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ protocolTransition.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ protocolTransition.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ protocolTransition.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ protocolTransition.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ protocolTransition.getOwnedRules().add(interactionConstraint);
+ assertSuperset(protocolTransition.getOwnedMembers()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ protocolTransition.getOwnedRules().add(constraint);
+ assertSuperset(
+ protocolTransition.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ protocolTransition.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ protocolTransition.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ protocolTransition.getElementImports().add(elementImport);
+ assertSuperset(
+ protocolTransition.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ protocolTransition.getPackageImports().add(packageImport);
+ assertSuperset(
+ protocolTransition.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ EList<NamedElement> namedElements = protocolTransition
+ .getOwnedMembers();
+ EList<NamedElement> namedElements2 = protocolTransition
+ .getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ EList<PackageableElement> packageableElements = protocolTransition
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = protocolTransition
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ EList<NamedElement> namedElements = protocolTransition.getMembers();
+ EList<NamedElement> namedElements2 = protocolTransition.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ EList<RedefinableElement> redefinableElements = protocolTransition
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = protocolTransition
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ EList<Classifier> classifiers = protocolTransition
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = protocolTransition
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testEffect() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ protocolTransition.setEffect(protocolStateMachine);
+ assertSuperset(protocolTransition.getOwnedElements()
+ .contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ protocolTransition.setEffect(stateMachine);
+ assertSuperset(
+ protocolTransition.getOwnedElements().contains(stateMachine));
+ }
+
+ public void testGuard() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ protocolTransition.setGuard(intervalConstraint);
+ assertSuperset(
+ protocolTransition.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ protocolTransition.setGuard(timeConstraint);
+ assertSuperset(
+ protocolTransition.getOwnedRules().contains(timeConstraint));
+
+ ProtocolTransition protocolTransition2 = UML.createProtocolTransition();
+ assertValid(protocolTransition2);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ protocolTransition2.setGuard(interactionConstraint);
+ assertSuperset(protocolTransition2.getOwnedRules()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ protocolTransition2.setGuard(constraint);
+ assertSuperset(
+ protocolTransition2.getOwnedRules().contains(constraint));
+
+ ProtocolTransition protocolTransition3 = UML.createProtocolTransition();
+ assertValid(protocolTransition3);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ protocolTransition3.setGuard(durationConstraint);
+ assertSuperset(
+ protocolTransition3.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testRedefinedTransition() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ protocolTransition.setRedefinedTransition(transition);
+ assertSuperset(
+ protocolTransition.getRedefinedElements().contains(transition));
+
+ ProtocolTransition protocolTransition2 = UML.createProtocolTransition();
+ assertValid(protocolTransition2);
+ protocolTransition.setRedefinedTransition(protocolTransition2);
+ assertSuperset(protocolTransition.getRedefinedElements()
+ .contains(protocolTransition2));
+ }
+
+ public void testSource() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ protocolTransition.setSource(pseudostate);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ protocolTransition.setSource(connectionPointReference);
+
+ ProtocolTransition protocolTransition2 = UML.createProtocolTransition();
+ assertValid(protocolTransition2);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ protocolTransition2.setSource(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ protocolTransition2.setSource(state);
+ }
+
+ public void testTarget() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ protocolTransition.setTarget(pseudostate);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ protocolTransition.setTarget(connectionPointReference);
+
+ ProtocolTransition protocolTransition2 = UML.createProtocolTransition();
+ assertValid(protocolTransition2);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ protocolTransition2.setTarget(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ protocolTransition2.setTarget(state);
+ }
+
+ public void testTrigger() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ protocolTransition.getTriggers().add(trigger);
+ assertSuperset(protocolTransition.getOwnedElements().contains(trigger));
+ }
+
+ public void testContainer() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ protocolTransition.setContainer(region);
+ assertSuperset(protocolTransition.getNamespace() == region);
+ }
+
+ public void testPostCondition() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ protocolTransition.setPostCondition(intervalConstraint);
+ assertSuperset(
+ protocolTransition.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ protocolTransition.setPostCondition(timeConstraint);
+ assertSuperset(
+ protocolTransition.getOwnedRules().contains(timeConstraint));
+
+ ProtocolTransition protocolTransition2 = UML.createProtocolTransition();
+ assertValid(protocolTransition2);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ protocolTransition2.setPostCondition(interactionConstraint);
+ assertSuperset(protocolTransition2.getOwnedRules()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ protocolTransition2.setPostCondition(constraint);
+ assertSuperset(
+ protocolTransition2.getOwnedRules().contains(constraint));
+
+ ProtocolTransition protocolTransition3 = UML.createProtocolTransition();
+ assertValid(protocolTransition3);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ protocolTransition3.setPostCondition(durationConstraint);
+ assertSuperset(
+ protocolTransition3.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testPreCondition() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ protocolTransition.setPreCondition(intervalConstraint);
+ assertSuperset(protocolTransition.getGuard() == intervalConstraint);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ protocolTransition.setPreCondition(timeConstraint);
+ assertSuperset(protocolTransition.getGuard() == timeConstraint);
+
+ ProtocolTransition protocolTransition2 = UML.createProtocolTransition();
+ assertValid(protocolTransition2);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ protocolTransition2.setPreCondition(interactionConstraint);
+ assertSuperset(protocolTransition2.getGuard() == interactionConstraint);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ protocolTransition2.setPreCondition(constraint);
+ assertSuperset(protocolTransition2.getGuard() == constraint);
+
+ ProtocolTransition protocolTransition3 = UML.createProtocolTransition();
+ assertValid(protocolTransition3);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ protocolTransition3.setPreCondition(durationConstraint);
+ assertSuperset(protocolTransition3.getGuard() == durationConstraint);
+ }
+
+ public void testReferred() {
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ EList<Operation> operations = protocolTransition.getReferreds();
+ EList<Operation> operations2 = protocolTransition.getReferreds();
+ assertSame(operations, operations2);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PseudostateTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PseudostateTest.java
new file mode 100755
index 00000000..0d326004
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/PseudostateTest.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.StringExpression;
+
+/**
+ * @author Eike Stepper
+ */
+public class PseudostateTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ pseudostate.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ pseudostate.getOwnedComments().add(comment);
+ assertSuperset(pseudostate.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ EList<Element> elements = pseudostate.getOwnedElements();
+ EList<Element> elements2 = pseudostate.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ EList<Dependency> dependencys = pseudostate.getClientDependencies();
+ EList<Dependency> dependencys2 = pseudostate.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ pseudostate.setNameExpression(stringExpression);
+ assertSuperset(
+ pseudostate.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testContainer() {
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ pseudostate.setContainer(region);
+ assertSuperset(pseudostate.getNamespace() == region);
+ }
+
+ public void testState() {
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ pseudostate.setState(finalState);
+ assertSuperset(pseudostate.getNamespace() == finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ pseudostate.setState(state);
+ assertSuperset(pseudostate.getNamespace() == state);
+ }
+
+ public void testStateMachine() {
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ pseudostate.setStateMachine(protocolStateMachine);
+ assertSuperset(pseudostate.getNamespace() == protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ pseudostate.setStateMachine(stateMachine);
+ assertSuperset(pseudostate.getNamespace() == stateMachine);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/QualifierValueTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/QualifierValueTest.java
new file mode 100755
index 00000000..3d0d0149
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/QualifierValueTest.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.ValuePin;
+
+/**
+ * @author Eike Stepper
+ */
+public class QualifierValueTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ qualifierValue.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ qualifierValue.getOwnedComments().add(comment);
+ assertSuperset(qualifierValue.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+ EList<Element> elements = qualifierValue.getOwnedElements();
+ EList<Element> elements2 = qualifierValue.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testQualifier() {
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ qualifierValue.setQualifier(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ qualifierValue.setQualifier(extensionEnd);
+
+ QualifierValue qualifierValue2 = UML.createQualifierValue();
+ assertValid(qualifierValue2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ qualifierValue2.setQualifier(property);
+ }
+
+ public void testValue() {
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ qualifierValue.setValue(inputPin);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ qualifierValue.setValue(valuePin);
+
+ QualifierValue qualifierValue2 = UML.createQualifierValue();
+ assertValid(qualifierValue2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ qualifierValue2.setValue(actionInputPin);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RaiseExceptionActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RaiseExceptionActionTest.java
new file mode 100755
index 00000000..715c1e31
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RaiseExceptionActionTest.java
@@ -0,0 +1,797 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class RaiseExceptionActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ raiseExceptionAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ raiseExceptionAction.getOwnedComments().add(comment);
+ assertSuperset(
+ raiseExceptionAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ EList<Element> elements = raiseExceptionAction.getOwnedElements();
+ EList<Element> elements2 = raiseExceptionAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ EList<Dependency> dependencys = raiseExceptionAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = raiseExceptionAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ raiseExceptionAction.setNameExpression(stringExpression);
+ assertSuperset(
+ raiseExceptionAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ EList<RedefinableElement> redefinableElements = raiseExceptionAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = raiseExceptionAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ EList<Classifier> classifiers = raiseExceptionAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = raiseExceptionAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ EList<ActivityGroup> activityGroups = raiseExceptionAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = raiseExceptionAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ raiseExceptionAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(raiseExceptionAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ raiseExceptionAction.setInStructuredNode(loopNode);
+ assertSuperset(raiseExceptionAction.getInGroups().contains(loopNode));
+ assertSuperset(raiseExceptionAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ raiseExceptionAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ raiseExceptionAction.getInGroups().contains(expansionRegion));
+ assertSuperset(raiseExceptionAction.getOwner() == expansionRegion);
+
+ RaiseExceptionAction raiseExceptionAction2 = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ raiseExceptionAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ raiseExceptionAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(raiseExceptionAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ raiseExceptionAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(raiseExceptionAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ raiseExceptionAction2.getOwner() == structuredActivityNode);
+
+ RaiseExceptionAction raiseExceptionAction3 = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ raiseExceptionAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ raiseExceptionAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(raiseExceptionAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ raiseExceptionAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ raiseExceptionAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ raiseExceptionAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ raiseExceptionAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ raiseExceptionAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ raiseExceptionAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ raiseExceptionAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ raiseExceptionAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ raiseExceptionAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ raiseExceptionAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ raiseExceptionAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ raiseExceptionAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ raiseExceptionAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ raiseExceptionAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ raiseExceptionAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ raiseExceptionAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ raiseExceptionAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ raiseExceptionAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ raiseExceptionAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ raiseExceptionAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ raiseExceptionAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ raiseExceptionAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ raiseExceptionAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ raiseExceptionAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ raiseExceptionAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ raiseExceptionAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ raiseExceptionAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ raiseExceptionAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ raiseExceptionAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ raiseExceptionAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ raiseExceptionAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ raiseExceptionAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ raiseExceptionAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ raiseExceptionAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ raiseExceptionAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ raiseExceptionAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ raiseExceptionAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ raiseExceptionAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ raiseExceptionAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ raiseExceptionAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ raiseExceptionAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ raiseExceptionAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ raiseExceptionAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ raiseExceptionAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ raiseExceptionAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ raiseExceptionAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ raiseExceptionAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ raiseExceptionAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ raiseExceptionAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ raiseExceptionAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ raiseExceptionAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ raiseExceptionAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ raiseExceptionAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ raiseExceptionAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ raiseExceptionAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction2 = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction2);
+ raiseExceptionAction.getRedefinedNodes().add(raiseExceptionAction2);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(raiseExceptionAction2));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ raiseExceptionAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ raiseExceptionAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ raiseExceptionAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ raiseExceptionAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ raiseExceptionAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ raiseExceptionAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ raiseExceptionAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ raiseExceptionAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ raiseExceptionAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ raiseExceptionAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ raiseExceptionAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ raiseExceptionAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ raiseExceptionAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ raiseExceptionAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ raiseExceptionAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ raiseExceptionAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ raiseExceptionAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ raiseExceptionAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(raiseExceptionAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ raiseExceptionAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ raiseExceptionAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ raiseExceptionAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ raiseExceptionAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ EList<InputPin> inputPins = raiseExceptionAction.getInputs();
+ EList<InputPin> inputPins2 = raiseExceptionAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ raiseExceptionAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(raiseExceptionAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ raiseExceptionAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ raiseExceptionAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ raiseExceptionAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(raiseExceptionAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ raiseExceptionAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ raiseExceptionAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ raiseExceptionAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(raiseExceptionAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ raiseExceptionAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(raiseExceptionAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ raiseExceptionAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ raiseExceptionAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ raiseExceptionAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(raiseExceptionAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ raiseExceptionAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ raiseExceptionAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ raiseExceptionAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(raiseExceptionAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ EList<OutputPin> outputPins = raiseExceptionAction.getOutputs();
+ EList<OutputPin> outputPins2 = raiseExceptionAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testException() {
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ raiseExceptionAction.setException(inputPin);
+ assertSuperset(raiseExceptionAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ raiseExceptionAction.setException(valuePin);
+ assertSuperset(raiseExceptionAction.getInputs().contains(valuePin));
+
+ RaiseExceptionAction raiseExceptionAction2 = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ raiseExceptionAction2.setException(actionInputPin);
+ assertSuperset(
+ raiseExceptionAction2.getInputs().contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadExtentActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadExtentActionTest.java
new file mode 100755
index 00000000..d2fcd7a6
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadExtentActionTest.java
@@ -0,0 +1,931 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ReadExtentActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ readExtentAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ readExtentAction.getOwnedComments().add(comment);
+ assertSuperset(readExtentAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ EList<Element> elements = readExtentAction.getOwnedElements();
+ EList<Element> elements2 = readExtentAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ EList<Dependency> dependencys = readExtentAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = readExtentAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ readExtentAction.setNameExpression(stringExpression);
+ assertSuperset(
+ readExtentAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ EList<RedefinableElement> redefinableElements = readExtentAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = readExtentAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ EList<Classifier> classifiers = readExtentAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = readExtentAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ EList<ActivityGroup> activityGroups = readExtentAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = readExtentAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ readExtentAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(readExtentAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readExtentAction.setInStructuredNode(loopNode);
+ assertSuperset(readExtentAction.getInGroups().contains(loopNode));
+ assertSuperset(readExtentAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readExtentAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ readExtentAction.getInGroups().contains(expansionRegion));
+ assertSuperset(readExtentAction.getOwner() == expansionRegion);
+
+ ReadExtentAction readExtentAction2 = UML.createReadExtentAction();
+ assertValid(readExtentAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readExtentAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(readExtentAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(readExtentAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readExtentAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ readExtentAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(readExtentAction2.getOwner() == structuredActivityNode);
+
+ ReadExtentAction readExtentAction3 = UML.createReadExtentAction();
+ assertValid(readExtentAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readExtentAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ readExtentAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(readExtentAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readExtentAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readExtentAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readExtentAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readExtentAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ readExtentAction.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ readExtentAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ readExtentAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ readExtentAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ readExtentAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ readExtentAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ readExtentAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ readExtentAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ readExtentAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ readExtentAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ readExtentAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ readExtentAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ readExtentAction.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readExtentAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readExtentAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ readExtentAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ readExtentAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ readExtentAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ readExtentAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ readExtentAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readExtentAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction2 = UML.createReadExtentAction();
+ assertValid(readExtentAction2);
+ readExtentAction.getRedefinedNodes().add(readExtentAction2);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(readExtentAction2));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ readExtentAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ readExtentAction.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ readExtentAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ readExtentAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ readExtentAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ readExtentAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ readExtentAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ readExtentAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ readExtentAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ readExtentAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ readExtentAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ readExtentAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ readExtentAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ readExtentAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ readExtentAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ readExtentAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ readExtentAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readExtentAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ readExtentAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ readExtentAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ readExtentAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ readExtentAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ readExtentAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readExtentAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ readExtentAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ readExtentAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ readExtentAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ readExtentAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ readExtentAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ readExtentAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ readExtentAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readExtentAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ readExtentAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ readExtentAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ readExtentAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ readExtentAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(readExtentAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ readExtentAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ readExtentAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ readExtentAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ readExtentAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ EList<InputPin> inputPins = readExtentAction.getInputs();
+ EList<InputPin> inputPins2 = readExtentAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readExtentAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ readExtentAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readExtentAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ readExtentAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readExtentAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(readExtentAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readExtentAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ readExtentAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readExtentAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ readExtentAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readExtentAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ readExtentAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readExtentAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ readExtentAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readExtentAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(readExtentAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readExtentAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ readExtentAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readExtentAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ readExtentAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ EList<OutputPin> outputPins = readExtentAction.getOutputs();
+ EList<OutputPin> outputPins2 = readExtentAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testClassifier() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ readExtentAction.setClassifier(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ readExtentAction.setClassifier(activity);
+
+ ReadExtentAction readExtentAction2 = UML.createReadExtentAction();
+ assertValid(readExtentAction2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ readExtentAction2.setClassifier(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ readExtentAction2.setClassifier(informationItem);
+
+ ReadExtentAction readExtentAction3 = UML.createReadExtentAction();
+ assertValid(readExtentAction3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ readExtentAction3.setClassifier(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ readExtentAction3.setClassifier(executionEnvironment);
+
+ ReadExtentAction readExtentAction4 = UML.createReadExtentAction();
+ assertValid(readExtentAction4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ readExtentAction4.setClassifier(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ readExtentAction4.setClassifier(interaction);
+
+ ReadExtentAction readExtentAction5 = UML.createReadExtentAction();
+ assertValid(readExtentAction5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ readExtentAction5.setClassifier(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ readExtentAction5.setClassifier(opaqueBehavior);
+
+ ReadExtentAction readExtentAction6 = UML.createReadExtentAction();
+ assertValid(readExtentAction6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ readExtentAction6.setClassifier(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ readExtentAction6.setClassifier(dataType);
+
+ ReadExtentAction readExtentAction7 = UML.createReadExtentAction();
+ assertValid(readExtentAction7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ readExtentAction7.setClassifier(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ readExtentAction7.setClassifier(extension);
+
+ ReadExtentAction readExtentAction8 = UML.createReadExtentAction();
+ assertValid(readExtentAction8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ readExtentAction8.setClassifier(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ readExtentAction8.setClassifier(class_);
+
+ ReadExtentAction readExtentAction9 = UML.createReadExtentAction();
+ assertValid(readExtentAction9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ readExtentAction9.setClassifier(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ readExtentAction9.setClassifier(primitiveType);
+
+ ReadExtentAction readExtentAction10 = UML.createReadExtentAction();
+ assertValid(readExtentAction10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ readExtentAction10.setClassifier(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ readExtentAction10.setClassifier(protocolStateMachine);
+
+ ReadExtentAction readExtentAction11 = UML.createReadExtentAction();
+ assertValid(readExtentAction11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ readExtentAction11.setClassifier(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ readExtentAction11.setClassifier(signal);
+
+ ReadExtentAction readExtentAction12 = UML.createReadExtentAction();
+ assertValid(readExtentAction12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ readExtentAction12.setClassifier(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ readExtentAction12.setClassifier(stereotype);
+
+ ReadExtentAction readExtentAction13 = UML.createReadExtentAction();
+ assertValid(readExtentAction13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ readExtentAction13.setClassifier(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ readExtentAction13.setClassifier(artifact);
+
+ ReadExtentAction readExtentAction14 = UML.createReadExtentAction();
+ assertValid(readExtentAction14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ readExtentAction14.setClassifier(collaboration);
+ }
+
+ public void testResult() {
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readExtentAction.setResult(outputPin);
+ assertSuperset(readExtentAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadIsClassifiedObjectActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadIsClassifiedObjectActionTest.java
new file mode 100755
index 00000000..5d07d294
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadIsClassifiedObjectActionTest.java
@@ -0,0 +1,1040 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ReadIsClassifiedObjectActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ readIsClassifiedObjectAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ readIsClassifiedObjectAction.getOwnedComments().add(comment);
+ assertSuperset(
+ readIsClassifiedObjectAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ EList<Element> elements = readIsClassifiedObjectAction
+ .getOwnedElements();
+ EList<Element> elements2 = readIsClassifiedObjectAction
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ EList<Dependency> dependencys = readIsClassifiedObjectAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = readIsClassifiedObjectAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ readIsClassifiedObjectAction.setNameExpression(stringExpression);
+ assertSuperset(readIsClassifiedObjectAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ EList<RedefinableElement> redefinableElements = readIsClassifiedObjectAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = readIsClassifiedObjectAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ EList<Classifier> classifiers = readIsClassifiedObjectAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = readIsClassifiedObjectAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ EList<ActivityGroup> activityGroups = readIsClassifiedObjectAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = readIsClassifiedObjectAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ readIsClassifiedObjectAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(readIsClassifiedObjectAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readIsClassifiedObjectAction.setInStructuredNode(loopNode);
+ assertSuperset(
+ readIsClassifiedObjectAction.getInGroups().contains(loopNode));
+ assertSuperset(readIsClassifiedObjectAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readIsClassifiedObjectAction.setInStructuredNode(expansionRegion);
+ assertSuperset(readIsClassifiedObjectAction.getInGroups()
+ .contains(expansionRegion));
+ assertSuperset(
+ readIsClassifiedObjectAction.getOwner() == expansionRegion);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction2 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readIsClassifiedObjectAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ readIsClassifiedObjectAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(
+ readIsClassifiedObjectAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readIsClassifiedObjectAction2
+ .setInStructuredNode(structuredActivityNode);
+ assertSuperset(readIsClassifiedObjectAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ readIsClassifiedObjectAction2.getOwner() == structuredActivityNode);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction3 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readIsClassifiedObjectAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(readIsClassifiedObjectAction3.getInGroups()
+ .contains(conditionalNode));
+ assertSuperset(
+ readIsClassifiedObjectAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readIsClassifiedObjectAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readIsClassifiedObjectAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readIsClassifiedObjectAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readIsClassifiedObjectAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(createLinkObjectAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(clearAssociationAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(structuredActivityNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(callBehaviorAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction2 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction2);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction2);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction2));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(activityParameterNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(readVariableAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(clearVariableAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(reclassifyObjectAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(testIdentityAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(broadcastSignalAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(raiseExceptionAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(callOperationAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(addVariableValueAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(readLinkObjectEndAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readIsClassifiedObjectAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(createObjectAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(destroyObjectAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ readIsClassifiedObjectAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(readIsClassifiedObjectAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ readIsClassifiedObjectAction.getInPartitions().add(activityPartition);
+ assertSuperset(readIsClassifiedObjectAction.getInGroups()
+ .contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ readIsClassifiedObjectAction.getHandlers().add(exceptionHandler);
+ assertSuperset(readIsClassifiedObjectAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ EList<InputPin> inputPins = readIsClassifiedObjectAction.getInputs();
+ EList<InputPin> inputPins2 = readIsClassifiedObjectAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readIsClassifiedObjectAction.getLocalPostconditions()
+ .add(intervalConstraint);
+ assertSuperset(readIsClassifiedObjectAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readIsClassifiedObjectAction.getLocalPostconditions()
+ .add(timeConstraint);
+ assertSuperset(readIsClassifiedObjectAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readIsClassifiedObjectAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(readIsClassifiedObjectAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readIsClassifiedObjectAction.getLocalPostconditions().add(constraint);
+ assertSuperset(readIsClassifiedObjectAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readIsClassifiedObjectAction.getLocalPostconditions()
+ .add(durationConstraint);
+ assertSuperset(readIsClassifiedObjectAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readIsClassifiedObjectAction.getLocalPreconditions()
+ .add(intervalConstraint);
+ assertSuperset(readIsClassifiedObjectAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readIsClassifiedObjectAction.getLocalPreconditions()
+ .add(timeConstraint);
+ assertSuperset(readIsClassifiedObjectAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readIsClassifiedObjectAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(readIsClassifiedObjectAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readIsClassifiedObjectAction.getLocalPreconditions().add(constraint);
+ assertSuperset(readIsClassifiedObjectAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readIsClassifiedObjectAction.getLocalPreconditions()
+ .add(durationConstraint);
+ assertSuperset(readIsClassifiedObjectAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ EList<OutputPin> outputPins = readIsClassifiedObjectAction.getOutputs();
+ EList<OutputPin> outputPins2 = readIsClassifiedObjectAction
+ .getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testClassifier() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ readIsClassifiedObjectAction.setClassifier(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ readIsClassifiedObjectAction.setClassifier(activity);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction2 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ readIsClassifiedObjectAction2.setClassifier(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ readIsClassifiedObjectAction2.setClassifier(informationItem);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction3 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ readIsClassifiedObjectAction3.setClassifier(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ readIsClassifiedObjectAction3.setClassifier(executionEnvironment);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction4 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ readIsClassifiedObjectAction4.setClassifier(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ readIsClassifiedObjectAction4.setClassifier(interaction);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction5 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ readIsClassifiedObjectAction5.setClassifier(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ readIsClassifiedObjectAction5.setClassifier(opaqueBehavior);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction6 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ readIsClassifiedObjectAction6.setClassifier(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ readIsClassifiedObjectAction6.setClassifier(dataType);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction7 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ readIsClassifiedObjectAction7.setClassifier(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ readIsClassifiedObjectAction7.setClassifier(extension);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction8 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ readIsClassifiedObjectAction8.setClassifier(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ readIsClassifiedObjectAction8.setClassifier(class_);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction9 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ readIsClassifiedObjectAction9.setClassifier(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ readIsClassifiedObjectAction9.setClassifier(primitiveType);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction10 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ readIsClassifiedObjectAction10.setClassifier(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ readIsClassifiedObjectAction10.setClassifier(protocolStateMachine);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction11 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ readIsClassifiedObjectAction11.setClassifier(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ readIsClassifiedObjectAction11.setClassifier(signal);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction12 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ readIsClassifiedObjectAction12.setClassifier(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ readIsClassifiedObjectAction12.setClassifier(stereotype);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction13 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ readIsClassifiedObjectAction13.setClassifier(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ readIsClassifiedObjectAction13.setClassifier(artifact);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction14 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ readIsClassifiedObjectAction14.setClassifier(collaboration);
+ }
+
+ public void testObject() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ readIsClassifiedObjectAction.setObject(inputPin);
+ assertSuperset(
+ readIsClassifiedObjectAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ readIsClassifiedObjectAction.setObject(valuePin);
+ assertSuperset(
+ readIsClassifiedObjectAction.getInputs().contains(valuePin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction2 = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ readIsClassifiedObjectAction2.setObject(actionInputPin);
+ assertSuperset(
+ readIsClassifiedObjectAction2.getInputs().contains(actionInputPin));
+ }
+
+ public void testResult() {
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readIsClassifiedObjectAction.setResult(outputPin);
+ assertSuperset(
+ readIsClassifiedObjectAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadLinkActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadLinkActionTest.java
new file mode 100755
index 00000000..522ef822
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadLinkActionTest.java
@@ -0,0 +1,790 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ReadLinkActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ readLinkAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ readLinkAction.getOwnedComments().add(comment);
+ assertSuperset(readLinkAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ EList<Element> elements = readLinkAction.getOwnedElements();
+ EList<Element> elements2 = readLinkAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ EList<Dependency> dependencys = readLinkAction.getClientDependencies();
+ EList<Dependency> dependencys2 = readLinkAction.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ readLinkAction.setNameExpression(stringExpression);
+ assertSuperset(
+ readLinkAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ EList<RedefinableElement> redefinableElements = readLinkAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = readLinkAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ EList<Classifier> classifiers = readLinkAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = readLinkAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ EList<ActivityGroup> activityGroups = readLinkAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = readLinkAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ readLinkAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ readLinkAction.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readLinkAction.setInStructuredNode(loopNode);
+ assertSuperset(readLinkAction.getInGroups().contains(loopNode));
+ assertSuperset(readLinkAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readLinkAction.setInStructuredNode(expansionRegion);
+ assertSuperset(readLinkAction.getInGroups().contains(expansionRegion));
+ assertSuperset(readLinkAction.getOwner() == expansionRegion);
+
+ ReadLinkAction readLinkAction2 = UML.createReadLinkAction();
+ assertValid(readLinkAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readLinkAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(readLinkAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(readLinkAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readLinkAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ readLinkAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(readLinkAction2.getOwner() == structuredActivityNode);
+
+ ReadLinkAction readLinkAction3 = UML.createReadLinkAction();
+ assertValid(readLinkAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readLinkAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(readLinkAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(readLinkAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readLinkAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readLinkAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readLinkAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readLinkAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ readLinkAction.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ readLinkAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ readLinkAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ readLinkAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ readLinkAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ readLinkAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ readLinkAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ readLinkAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction2 = UML.createReadLinkAction();
+ assertValid(readLinkAction2);
+ readLinkAction.getRedefinedNodes().add(readLinkAction2);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(readLinkAction2));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ readLinkAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ readLinkAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ readLinkAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ readLinkAction.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readLinkAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readLinkAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ readLinkAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ readLinkAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ readLinkAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ readLinkAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ readLinkAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readLinkAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ readLinkAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ readLinkAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ readLinkAction.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ readLinkAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ readLinkAction.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ readLinkAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ readLinkAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ readLinkAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ readLinkAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ readLinkAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ readLinkAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ readLinkAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ readLinkAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ readLinkAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ readLinkAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ readLinkAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ readLinkAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ readLinkAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readLinkAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ readLinkAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ readLinkAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ readLinkAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ readLinkAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ readLinkAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readLinkAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ readLinkAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ readLinkAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ readLinkAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ readLinkAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ readLinkAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ readLinkAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ readLinkAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readLinkAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ readLinkAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ readLinkAction.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ readLinkAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ readLinkAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(readLinkAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ readLinkAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ readLinkAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ readLinkAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ readLinkAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ EList<InputPin> inputPins = readLinkAction.getInputs();
+ EList<InputPin> inputPins2 = readLinkAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readLinkAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ readLinkAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readLinkAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ readLinkAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readLinkAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(
+ readLinkAction.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readLinkAction.getLocalPostconditions().add(constraint);
+ assertSuperset(readLinkAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readLinkAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ readLinkAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readLinkAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ readLinkAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readLinkAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ readLinkAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readLinkAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(
+ readLinkAction.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readLinkAction.getLocalPreconditions().add(constraint);
+ assertSuperset(readLinkAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readLinkAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ readLinkAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ EList<OutputPin> outputPins = readLinkAction.getOutputs();
+ EList<OutputPin> outputPins2 = readLinkAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testEndData() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+ readLinkAction.getEndData().add(linkEndData);
+ assertSuperset(readLinkAction.getOwnedElements().contains(linkEndData));
+
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+ readLinkAction.getEndData().add(linkEndDestructionData);
+ assertSuperset(
+ readLinkAction.getOwnedElements().contains(linkEndDestructionData));
+
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+ readLinkAction.getEndData().add(linkEndCreationData);
+ assertSuperset(
+ readLinkAction.getOwnedElements().contains(linkEndCreationData));
+ }
+
+ public void testInputValue() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ readLinkAction.getInputValues().add(inputPin);
+ assertSuperset(readLinkAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ readLinkAction.getInputValues().add(valuePin);
+ assertSuperset(readLinkAction.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ readLinkAction.getInputValues().add(actionInputPin);
+ assertSuperset(readLinkAction.getInputs().contains(actionInputPin));
+ }
+
+ public void testResult() {
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readLinkAction.setResult(outputPin);
+ assertSuperset(readLinkAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadLinkObjectEndActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadLinkObjectEndActionTest.java
new file mode 100755
index 00000000..c6868d47
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadLinkObjectEndActionTest.java
@@ -0,0 +1,842 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ReadLinkObjectEndActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ readLinkObjectEndAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ readLinkObjectEndAction.getOwnedComments().add(comment);
+ assertSuperset(
+ readLinkObjectEndAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ EList<Element> elements = readLinkObjectEndAction.getOwnedElements();
+ EList<Element> elements2 = readLinkObjectEndAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ EList<Dependency> dependencys = readLinkObjectEndAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = readLinkObjectEndAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ readLinkObjectEndAction.setNameExpression(stringExpression);
+ assertSuperset(readLinkObjectEndAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ EList<RedefinableElement> redefinableElements = readLinkObjectEndAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = readLinkObjectEndAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ EList<Classifier> classifiers = readLinkObjectEndAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = readLinkObjectEndAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ EList<ActivityGroup> activityGroups = readLinkObjectEndAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = readLinkObjectEndAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ readLinkObjectEndAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(readLinkObjectEndAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readLinkObjectEndAction.setInStructuredNode(loopNode);
+ assertSuperset(
+ readLinkObjectEndAction.getInGroups().contains(loopNode));
+ assertSuperset(readLinkObjectEndAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readLinkObjectEndAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ readLinkObjectEndAction.getInGroups().contains(expansionRegion));
+ assertSuperset(readLinkObjectEndAction.getOwner() == expansionRegion);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction2 = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readLinkObjectEndAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ readLinkObjectEndAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(readLinkObjectEndAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readLinkObjectEndAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(readLinkObjectEndAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ readLinkObjectEndAction2.getOwner() == structuredActivityNode);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction3 = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readLinkObjectEndAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ readLinkObjectEndAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(readLinkObjectEndAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readLinkObjectEndAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readLinkObjectEndAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readLinkObjectEndAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readLinkObjectEndAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ readLinkObjectEndAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ readLinkObjectEndAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ readLinkObjectEndAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ readLinkObjectEndAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ readLinkObjectEndAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ readLinkObjectEndAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ readLinkObjectEndAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readLinkObjectEndAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ readLinkObjectEndAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ readLinkObjectEndAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ readLinkObjectEndAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ readLinkObjectEndAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ readLinkObjectEndAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ readLinkObjectEndAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ readLinkObjectEndAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ readLinkObjectEndAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readLinkObjectEndAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ readLinkObjectEndAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ readLinkObjectEndAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ readLinkObjectEndAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction2 = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction2);
+ readLinkObjectEndAction.getRedefinedNodes()
+ .add(readLinkObjectEndAction2);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction2));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ readLinkObjectEndAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readLinkObjectEndAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ readLinkObjectEndAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ readLinkObjectEndAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(readLinkObjectEndAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ readLinkObjectEndAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ readLinkObjectEndAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ readLinkObjectEndAction.getHandlers().add(exceptionHandler);
+ assertSuperset(readLinkObjectEndAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ EList<InputPin> inputPins = readLinkObjectEndAction.getInputs();
+ EList<InputPin> inputPins2 = readLinkObjectEndAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readLinkObjectEndAction.getLocalPostconditions()
+ .add(intervalConstraint);
+ assertSuperset(readLinkObjectEndAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readLinkObjectEndAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(readLinkObjectEndAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readLinkObjectEndAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(readLinkObjectEndAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readLinkObjectEndAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ readLinkObjectEndAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readLinkObjectEndAction.getLocalPostconditions()
+ .add(durationConstraint);
+ assertSuperset(readLinkObjectEndAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readLinkObjectEndAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(readLinkObjectEndAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readLinkObjectEndAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(readLinkObjectEndAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readLinkObjectEndAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(readLinkObjectEndAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readLinkObjectEndAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ readLinkObjectEndAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readLinkObjectEndAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(readLinkObjectEndAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ EList<OutputPin> outputPins = readLinkObjectEndAction.getOutputs();
+ EList<OutputPin> outputPins2 = readLinkObjectEndAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testEnd() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ readLinkObjectEndAction.setEnd(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ readLinkObjectEndAction.setEnd(extensionEnd);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction2 = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ readLinkObjectEndAction2.setEnd(property);
+ }
+
+ public void testObject() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ readLinkObjectEndAction.setObject(inputPin);
+ assertSuperset(readLinkObjectEndAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ readLinkObjectEndAction.setObject(valuePin);
+ assertSuperset(readLinkObjectEndAction.getInputs().contains(valuePin));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction2 = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ readLinkObjectEndAction2.setObject(actionInputPin);
+ assertSuperset(
+ readLinkObjectEndAction2.getInputs().contains(actionInputPin));
+ }
+
+ public void testResult() {
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readLinkObjectEndAction.setResult(outputPin);
+ assertSuperset(
+ readLinkObjectEndAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadLinkObjectEndQualifierActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadLinkObjectEndQualifierActionTest.java
new file mode 100755
index 00000000..0b4a8cf8
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadLinkObjectEndQualifierActionTest.java
@@ -0,0 +1,891 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ReadLinkObjectEndQualifierActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ readLinkObjectEndQualifierAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ readLinkObjectEndQualifierAction.getOwnedComments().add(comment);
+ assertSuperset(readLinkObjectEndQualifierAction.getOwnedElements()
+ .contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ EList<Element> elements = readLinkObjectEndQualifierAction
+ .getOwnedElements();
+ EList<Element> elements2 = readLinkObjectEndQualifierAction
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ EList<Dependency> dependencys = readLinkObjectEndQualifierAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = readLinkObjectEndQualifierAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ readLinkObjectEndQualifierAction.setNameExpression(stringExpression);
+ assertSuperset(readLinkObjectEndQualifierAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ EList<RedefinableElement> redefinableElements = readLinkObjectEndQualifierAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = readLinkObjectEndQualifierAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ EList<Classifier> classifiers = readLinkObjectEndQualifierAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = readLinkObjectEndQualifierAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ EList<ActivityGroup> activityGroups = readLinkObjectEndQualifierAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = readLinkObjectEndQualifierAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ readLinkObjectEndQualifierAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(readLinkObjectEndQualifierAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readLinkObjectEndQualifierAction.setInStructuredNode(loopNode);
+ assertSuperset(
+ readLinkObjectEndQualifierAction.getInGroups().contains(loopNode));
+ assertSuperset(readLinkObjectEndQualifierAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readLinkObjectEndQualifierAction.setInStructuredNode(expansionRegion);
+ assertSuperset(readLinkObjectEndQualifierAction.getInGroups()
+ .contains(expansionRegion));
+ assertSuperset(
+ readLinkObjectEndQualifierAction.getOwner() == expansionRegion);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction2 = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readLinkObjectEndQualifierAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(readLinkObjectEndQualifierAction2.getInGroups()
+ .contains(sequenceNode));
+ assertSuperset(
+ readLinkObjectEndQualifierAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readLinkObjectEndQualifierAction2
+ .setInStructuredNode(structuredActivityNode);
+ assertSuperset(readLinkObjectEndQualifierAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(readLinkObjectEndQualifierAction2
+ .getOwner() == structuredActivityNode);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction3 = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readLinkObjectEndQualifierAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(readLinkObjectEndQualifierAction3.getInGroups()
+ .contains(conditionalNode));
+ assertSuperset(
+ readLinkObjectEndQualifierAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readLinkObjectEndQualifierAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readLinkObjectEndQualifierAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readLinkObjectEndQualifierAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readLinkObjectEndQualifierAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(readSelfAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction2 = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction2);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction2);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction2));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(createLinkObjectAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(sendSignalAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(readLinkAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(clearAssociationAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(expansionRegion);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(structuredActivityNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(callBehaviorAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(conditionalNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(readExtentAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(actionInputPin);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(activityParameterNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(readVariableAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(clearVariableAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(createLinkAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(reclassifyObjectAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(sendObjectAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(acceptEventAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(destroyLinkAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(testIdentityAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(centralBufferNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(broadcastSignalAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(raiseExceptionAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(activityFinalNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(callOperationAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(acceptCallAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(addVariableValueAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(readLinkObjectEndAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(unmarshallAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readLinkObjectEndQualifierAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(createObjectAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(destroyObjectAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ readLinkObjectEndQualifierAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(readLinkObjectEndQualifierAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ readLinkObjectEndQualifierAction.getInPartitions()
+ .add(activityPartition);
+ assertSuperset(readLinkObjectEndQualifierAction.getInGroups()
+ .contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ readLinkObjectEndQualifierAction.getHandlers().add(exceptionHandler);
+ assertSuperset(readLinkObjectEndQualifierAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ EList<InputPin> inputPins = readLinkObjectEndQualifierAction
+ .getInputs();
+ EList<InputPin> inputPins2 = readLinkObjectEndQualifierAction
+ .getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readLinkObjectEndQualifierAction.getLocalPostconditions()
+ .add(intervalConstraint);
+ assertSuperset(readLinkObjectEndQualifierAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readLinkObjectEndQualifierAction.getLocalPostconditions()
+ .add(timeConstraint);
+ assertSuperset(readLinkObjectEndQualifierAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readLinkObjectEndQualifierAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(readLinkObjectEndQualifierAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readLinkObjectEndQualifierAction.getLocalPostconditions()
+ .add(constraint);
+ assertSuperset(readLinkObjectEndQualifierAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readLinkObjectEndQualifierAction.getLocalPostconditions()
+ .add(durationConstraint);
+ assertSuperset(readLinkObjectEndQualifierAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readLinkObjectEndQualifierAction.getLocalPreconditions()
+ .add(intervalConstraint);
+ assertSuperset(readLinkObjectEndQualifierAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readLinkObjectEndQualifierAction.getLocalPreconditions()
+ .add(timeConstraint);
+ assertSuperset(readLinkObjectEndQualifierAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readLinkObjectEndQualifierAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(readLinkObjectEndQualifierAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readLinkObjectEndQualifierAction.getLocalPreconditions()
+ .add(constraint);
+ assertSuperset(readLinkObjectEndQualifierAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readLinkObjectEndQualifierAction.getLocalPreconditions()
+ .add(durationConstraint);
+ assertSuperset(readLinkObjectEndQualifierAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ EList<OutputPin> outputPins = readLinkObjectEndQualifierAction
+ .getOutputs();
+ EList<OutputPin> outputPins2 = readLinkObjectEndQualifierAction
+ .getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testObject() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ readLinkObjectEndQualifierAction.setObject(inputPin);
+ assertSuperset(
+ readLinkObjectEndQualifierAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ readLinkObjectEndQualifierAction.setObject(valuePin);
+ assertSuperset(
+ readLinkObjectEndQualifierAction.getInputs().contains(valuePin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction2 = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ readLinkObjectEndQualifierAction2.setObject(actionInputPin);
+ assertSuperset(readLinkObjectEndQualifierAction2.getInputs()
+ .contains(actionInputPin));
+ }
+
+ public void testQualifier() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ readLinkObjectEndQualifierAction.setQualifier(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ readLinkObjectEndQualifierAction.setQualifier(extensionEnd);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction2 = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ readLinkObjectEndQualifierAction2.setQualifier(property);
+ }
+
+ public void testResult() {
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readLinkObjectEndQualifierAction.setResult(outputPin);
+ assertSuperset(
+ readLinkObjectEndQualifierAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadSelfActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadSelfActionTest.java
new file mode 100755
index 00000000..a475eb54
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadSelfActionTest.java
@@ -0,0 +1,743 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ReadSelfActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ readSelfAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ readSelfAction.getOwnedComments().add(comment);
+ assertSuperset(readSelfAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ EList<Element> elements = readSelfAction.getOwnedElements();
+ EList<Element> elements2 = readSelfAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ EList<Dependency> dependencys = readSelfAction.getClientDependencies();
+ EList<Dependency> dependencys2 = readSelfAction.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ readSelfAction.setNameExpression(stringExpression);
+ assertSuperset(
+ readSelfAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ EList<RedefinableElement> redefinableElements = readSelfAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = readSelfAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ EList<Classifier> classifiers = readSelfAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = readSelfAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ EList<ActivityGroup> activityGroups = readSelfAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = readSelfAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ readSelfAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ readSelfAction.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readSelfAction.setInStructuredNode(loopNode);
+ assertSuperset(readSelfAction.getInGroups().contains(loopNode));
+ assertSuperset(readSelfAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readSelfAction.setInStructuredNode(expansionRegion);
+ assertSuperset(readSelfAction.getInGroups().contains(expansionRegion));
+ assertSuperset(readSelfAction.getOwner() == expansionRegion);
+
+ ReadSelfAction readSelfAction2 = UML.createReadSelfAction();
+ assertValid(readSelfAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readSelfAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(readSelfAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(readSelfAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readSelfAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ readSelfAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(readSelfAction2.getOwner() == structuredActivityNode);
+
+ ReadSelfAction readSelfAction3 = UML.createReadSelfAction();
+ assertValid(readSelfAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readSelfAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(readSelfAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(readSelfAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readSelfAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readSelfAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readSelfAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readSelfAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ readSelfAction.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ readSelfAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction2 = UML.createReadSelfAction();
+ assertValid(readSelfAction2);
+ readSelfAction.getRedefinedNodes().add(readSelfAction2);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(readSelfAction2));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ readSelfAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ readSelfAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ readSelfAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ readSelfAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ readSelfAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ readSelfAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ readSelfAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ readSelfAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ readSelfAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ readSelfAction.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readSelfAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readSelfAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ readSelfAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ readSelfAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ readSelfAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ readSelfAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ readSelfAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readSelfAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ readSelfAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ readSelfAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ readSelfAction.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ readSelfAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ readSelfAction.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ readSelfAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ readSelfAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ readSelfAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ readSelfAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ readSelfAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ readSelfAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ readSelfAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ readSelfAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ readSelfAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ readSelfAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ readSelfAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ readSelfAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ readSelfAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readSelfAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ readSelfAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ readSelfAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ readSelfAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ readSelfAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ readSelfAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readSelfAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ readSelfAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ readSelfAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ readSelfAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ readSelfAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ readSelfAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ readSelfAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ readSelfAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readSelfAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ readSelfAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ readSelfAction.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ readSelfAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ readSelfAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(readSelfAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ readSelfAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ readSelfAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ readSelfAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ readSelfAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ EList<InputPin> inputPins = readSelfAction.getInputs();
+ EList<InputPin> inputPins2 = readSelfAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readSelfAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ readSelfAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readSelfAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ readSelfAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readSelfAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(
+ readSelfAction.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readSelfAction.getLocalPostconditions().add(constraint);
+ assertSuperset(readSelfAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readSelfAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ readSelfAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readSelfAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ readSelfAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readSelfAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ readSelfAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readSelfAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(
+ readSelfAction.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readSelfAction.getLocalPreconditions().add(constraint);
+ assertSuperset(readSelfAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readSelfAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ readSelfAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ EList<OutputPin> outputPins = readSelfAction.getOutputs();
+ EList<OutputPin> outputPins2 = readSelfAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testResult() {
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readSelfAction.setResult(outputPin);
+ assertSuperset(readSelfAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadStructuralFeatureActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadStructuralFeatureActionTest.java
new file mode 100755
index 00000000..6e74651d
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadStructuralFeatureActionTest.java
@@ -0,0 +1,863 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ReadStructuralFeatureActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ readStructuralFeatureAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ readStructuralFeatureAction.getOwnedComments().add(comment);
+ assertSuperset(
+ readStructuralFeatureAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ EList<Element> elements = readStructuralFeatureAction
+ .getOwnedElements();
+ EList<Element> elements2 = readStructuralFeatureAction
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ EList<Dependency> dependencys = readStructuralFeatureAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = readStructuralFeatureAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ readStructuralFeatureAction.setNameExpression(stringExpression);
+ assertSuperset(readStructuralFeatureAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ EList<RedefinableElement> redefinableElements = readStructuralFeatureAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = readStructuralFeatureAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ EList<Classifier> classifiers = readStructuralFeatureAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = readStructuralFeatureAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ EList<ActivityGroup> activityGroups = readStructuralFeatureAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = readStructuralFeatureAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ readStructuralFeatureAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(readStructuralFeatureAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readStructuralFeatureAction.setInStructuredNode(loopNode);
+ assertSuperset(
+ readStructuralFeatureAction.getInGroups().contains(loopNode));
+ assertSuperset(readStructuralFeatureAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readStructuralFeatureAction.setInStructuredNode(expansionRegion);
+ assertSuperset(readStructuralFeatureAction.getInGroups()
+ .contains(expansionRegion));
+ assertSuperset(
+ readStructuralFeatureAction.getOwner() == expansionRegion);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction2 = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readStructuralFeatureAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ readStructuralFeatureAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(readStructuralFeatureAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readStructuralFeatureAction2
+ .setInStructuredNode(structuredActivityNode);
+ assertSuperset(readStructuralFeatureAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ readStructuralFeatureAction2.getOwner() == structuredActivityNode);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction3 = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readStructuralFeatureAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(readStructuralFeatureAction3.getInGroups()
+ .contains(conditionalNode));
+ assertSuperset(
+ readStructuralFeatureAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readStructuralFeatureAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readStructuralFeatureAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readStructuralFeatureAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readStructuralFeatureAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ readStructuralFeatureAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ readStructuralFeatureAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(createLinkObjectAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(clearAssociationAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ readStructuralFeatureAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readStructuralFeatureAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(structuredActivityNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ readStructuralFeatureAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ readStructuralFeatureAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ readStructuralFeatureAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readStructuralFeatureAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ readStructuralFeatureAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(activityParameterNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(clearVariableAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(reclassifyObjectAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ readStructuralFeatureAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ readStructuralFeatureAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ readStructuralFeatureAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readStructuralFeatureAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ readStructuralFeatureAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(broadcastSignalAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(raiseExceptionAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ readStructuralFeatureAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(callOperationAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readStructuralFeatureAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(addVariableValueAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(readLinkObjectEndAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ readStructuralFeatureAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readStructuralFeatureAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ readStructuralFeatureAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(destroyObjectAction);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction2 = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction2);
+ readStructuralFeatureAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction2);
+ assertSuperset(readStructuralFeatureAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction2));
+ }
+
+ public void testInPartition() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ readStructuralFeatureAction.getInPartitions().add(activityPartition);
+ assertSuperset(readStructuralFeatureAction.getInGroups()
+ .contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ readStructuralFeatureAction.getHandlers().add(exceptionHandler);
+ assertSuperset(readStructuralFeatureAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ EList<InputPin> inputPins = readStructuralFeatureAction.getInputs();
+ EList<InputPin> inputPins2 = readStructuralFeatureAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readStructuralFeatureAction.getLocalPostconditions()
+ .add(intervalConstraint);
+ assertSuperset(readStructuralFeatureAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readStructuralFeatureAction.getLocalPostconditions()
+ .add(timeConstraint);
+ assertSuperset(readStructuralFeatureAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readStructuralFeatureAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(readStructuralFeatureAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readStructuralFeatureAction.getLocalPostconditions().add(constraint);
+ assertSuperset(readStructuralFeatureAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readStructuralFeatureAction.getLocalPostconditions()
+ .add(durationConstraint);
+ assertSuperset(readStructuralFeatureAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readStructuralFeatureAction.getLocalPreconditions()
+ .add(intervalConstraint);
+ assertSuperset(readStructuralFeatureAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readStructuralFeatureAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(readStructuralFeatureAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readStructuralFeatureAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(readStructuralFeatureAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readStructuralFeatureAction.getLocalPreconditions().add(constraint);
+ assertSuperset(readStructuralFeatureAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readStructuralFeatureAction.getLocalPreconditions()
+ .add(durationConstraint);
+ assertSuperset(readStructuralFeatureAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ EList<OutputPin> outputPins = readStructuralFeatureAction.getOutputs();
+ EList<OutputPin> outputPins2 = readStructuralFeatureAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testObject() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ readStructuralFeatureAction.setObject(inputPin);
+ assertSuperset(
+ readStructuralFeatureAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ readStructuralFeatureAction.setObject(valuePin);
+ assertSuperset(
+ readStructuralFeatureAction.getInputs().contains(valuePin));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction2 = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ readStructuralFeatureAction2.setObject(actionInputPin);
+ assertSuperset(
+ readStructuralFeatureAction2.getInputs().contains(actionInputPin));
+ }
+
+ public void testStructuralFeature() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ readStructuralFeatureAction.setStructuralFeature(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ readStructuralFeatureAction.setStructuralFeature(extensionEnd);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction2 = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ readStructuralFeatureAction2.setStructuralFeature(property);
+ }
+
+ public void testResult() {
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readStructuralFeatureAction.setResult(outputPin);
+ assertSuperset(
+ readStructuralFeatureAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadVariableActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadVariableActionTest.java
new file mode 100755
index 00000000..b795af1c
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReadVariableActionTest.java
@@ -0,0 +1,765 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class ReadVariableActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ readVariableAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ readVariableAction.getOwnedComments().add(comment);
+ assertSuperset(readVariableAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ EList<Element> elements = readVariableAction.getOwnedElements();
+ EList<Element> elements2 = readVariableAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ EList<Dependency> dependencys = readVariableAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = readVariableAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ readVariableAction.setNameExpression(stringExpression);
+ assertSuperset(
+ readVariableAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ EList<RedefinableElement> redefinableElements = readVariableAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = readVariableAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ EList<Classifier> classifiers = readVariableAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = readVariableAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ EList<ActivityGroup> activityGroups = readVariableAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = readVariableAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ readVariableAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(readVariableAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readVariableAction.setInStructuredNode(loopNode);
+ assertSuperset(readVariableAction.getInGroups().contains(loopNode));
+ assertSuperset(readVariableAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readVariableAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ readVariableAction.getInGroups().contains(expansionRegion));
+ assertSuperset(readVariableAction.getOwner() == expansionRegion);
+
+ ReadVariableAction readVariableAction2 = UML.createReadVariableAction();
+ assertValid(readVariableAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readVariableAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ readVariableAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(readVariableAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readVariableAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ readVariableAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(
+ readVariableAction2.getOwner() == structuredActivityNode);
+
+ ReadVariableAction readVariableAction3 = UML.createReadVariableAction();
+ assertValid(readVariableAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readVariableAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ readVariableAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(readVariableAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readVariableAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readVariableAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ readVariableAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ readVariableAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ readVariableAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ readVariableAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ readVariableAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ readVariableAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ readVariableAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ readVariableAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ readVariableAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ readVariableAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ readVariableAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ readVariableAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ readVariableAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ readVariableAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ readVariableAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ readVariableAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ readVariableAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ readVariableAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ readVariableAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ readVariableAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ readVariableAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ readVariableAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ readVariableAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ readVariableAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ readVariableAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ readVariableAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ readVariableAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ readVariableAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction2 = UML.createReadVariableAction();
+ assertValid(readVariableAction2);
+ readVariableAction.getRedefinedNodes().add(readVariableAction2);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(readVariableAction2));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ readVariableAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ readVariableAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ readVariableAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ readVariableAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ readVariableAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ readVariableAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ readVariableAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ readVariableAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ readVariableAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ readVariableAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ readVariableAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ readVariableAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readVariableAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ readVariableAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ readVariableAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ readVariableAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ readVariableAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ readVariableAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ readVariableAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ readVariableAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ readVariableAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ readVariableAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ readVariableAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ readVariableAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ readVariableAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ readVariableAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ readVariableAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ readVariableAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ readVariableAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ readVariableAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ readVariableAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(readVariableAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ readVariableAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ readVariableAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ readVariableAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ readVariableAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ EList<InputPin> inputPins = readVariableAction.getInputs();
+ EList<InputPin> inputPins2 = readVariableAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readVariableAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ readVariableAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readVariableAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ readVariableAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readVariableAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(readVariableAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readVariableAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ readVariableAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readVariableAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ readVariableAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ readVariableAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ readVariableAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ readVariableAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ readVariableAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ readVariableAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(readVariableAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ readVariableAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ readVariableAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ readVariableAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ readVariableAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ EList<OutputPin> outputPins = readVariableAction.getOutputs();
+ EList<OutputPin> outputPins2 = readVariableAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testVariable() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ readVariableAction.setVariable(variable);
+ }
+
+ public void testResult() {
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ readVariableAction.setResult(outputPin);
+ assertSuperset(readVariableAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RealizationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RealizationTest.java
new file mode 100755
index 00000000..9b6eda56
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RealizationTest.java
@@ -0,0 +1,2152 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class RealizationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ realization.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ realization.getOwnedComments().add(comment);
+ assertSuperset(realization.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ EList<Element> elements = realization.getOwnedElements();
+ EList<Element> elements2 = realization.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ EList<Dependency> dependencys = realization.getClientDependencies();
+ EList<Dependency> dependencys2 = realization.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ realization.setNameExpression(stringExpression);
+ assertSuperset(
+ realization.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ realization.setOwningTemplateParameter(templateParameter);
+ assertSuperset(realization.getOwner() == templateParameter);
+ assertSuperset(realization.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ realization.setTemplateParameter(templateParameter);
+ }
+
+ public void testRelatedElement() {
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ EList<Element> elements = realization.getRelatedElements();
+ EList<Element> elements2 = realization.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ EList<Element> elements = realization.getSources();
+ EList<Element> elements2 = realization.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ EList<Element> elements = realization.getTargets();
+ EList<Element> elements2 = realization.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testClient() {
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ realization.getClients().add(activity);
+ assertSuperset(realization.getSources().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ realization.getClients().add(communicationPath);
+ assertSuperset(realization.getSources().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ realization.getClients().add(readSelfAction);
+ assertSuperset(realization.getSources().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ realization.getClients().add(activityPartition);
+ assertSuperset(realization.getSources().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ realization.getClients().add(inputPin);
+ assertSuperset(realization.getSources().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ realization.getClients().add(readLinkObjectEndQualifierAction);
+ assertSuperset(realization.getSources()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ realization.getClients().add(component);
+ assertSuperset(realization.getSources().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ realization.getClients().add(manifestation);
+ assertSuperset(realization.getSources().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ realization.getClients().add(durationObservation);
+ assertSuperset(realization.getSources().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ realization.getClients().add(callEvent);
+ assertSuperset(realization.getSources().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ realization.getClients().add(joinNode);
+ assertSuperset(realization.getSources().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ realization.getClients().add(interaction);
+ assertSuperset(realization.getSources().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ realization.getClients().add(createLinkObjectAction);
+ assertSuperset(
+ realization.getSources().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ realization.getClients().add(opaqueBehavior);
+ assertSuperset(realization.getSources().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ realization.getClients().add(literalUnlimitedNatural);
+ assertSuperset(
+ realization.getSources().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ realization.getClients().add(sendSignalAction);
+ assertSuperset(realization.getSources().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ realization.getClients().add(readLinkAction);
+ assertSuperset(realization.getSources().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ realization.getClients().add(operation);
+ assertSuperset(realization.getSources().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ realization.getClients().add(clearAssociationAction);
+ assertSuperset(
+ realization.getSources().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ realization.getClients().add(model);
+ assertSuperset(realization.getSources().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ realization.getClients().add(parameter);
+ assertSuperset(realization.getSources().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ realization.getClients().add(instanceValue);
+ assertSuperset(realization.getSources().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ realization.getClients().add(trigger);
+ assertSuperset(realization.getSources().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ realization.getClients().add(interactionConstraint);
+ assertSuperset(
+ realization.getSources().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ realization.getClients().add(associationClass);
+ assertSuperset(realization.getSources().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ realization.getClients().add(interactionUse);
+ assertSuperset(realization.getSources().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ realization.getClients().add(clearStructuralFeatureAction);
+ assertSuperset(
+ realization.getSources().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ realization.getClients().add(interval);
+ assertSuperset(realization.getSources().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ realization.getClients().add(structuredActivityNode);
+ assertSuperset(
+ realization.getSources().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ realization.getClients().add(literalString);
+ assertSuperset(realization.getSources().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ realization.getClients().add(valuePin);
+ assertSuperset(realization.getSources().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ realization.getClients().add(interfaceRealization);
+ assertSuperset(realization.getSources().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ realization.getClients().add(forkNode);
+ assertSuperset(realization.getSources().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ realization.getClients().add(decisionNode);
+ assertSuperset(realization.getSources().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ realization.getClients().add(actor);
+ assertSuperset(realization.getSources().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ realization.getClients().add(timeConstraint);
+ assertSuperset(realization.getSources().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ realization.getClients().add(reception);
+ assertSuperset(realization.getSources().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ realization.getClients().add(pseudostate);
+ assertSuperset(realization.getSources().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ realization.getClients().add(durationInterval);
+ assertSuperset(realization.getSources().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ realization.getClients().add(deployment);
+ assertSuperset(realization.getSources().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ realization.getClients().add(extensionEnd);
+ assertSuperset(realization.getSources().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ realization.getClients().add(considerIgnoreFragment);
+ assertSuperset(
+ realization.getSources().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ realization.getClients().add(conditionalNode);
+ assertSuperset(realization.getSources().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ realization.getClients().add(readExtentAction);
+ assertSuperset(realization.getSources().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ realization.getClients().add(actionInputPin);
+ assertSuperset(realization.getSources().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ realization.getClients().add(artifact);
+ assertSuperset(realization.getSources().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ realization.getClients().add(informationFlow);
+ assertSuperset(realization.getSources().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ realization.getClients().add(clearVariableAction);
+ assertSuperset(realization.getSources().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ realization.getClients().add(createLinkAction);
+ assertSuperset(realization.getSources().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ realization.getClients().add(signalEvent);
+ assertSuperset(realization.getSources().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ realization.getClients().add(connectionPointReference);
+ assertSuperset(
+ realization.getSources().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ realization.getClients().add(reclassifyObjectAction);
+ assertSuperset(
+ realization.getSources().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ realization.getClients().add(usage);
+ assertSuperset(realization.getSources().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ realization.getClients().add(dataStoreNode);
+ assertSuperset(realization.getSources().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ realization.getClients().add(executionEnvironment);
+ assertSuperset(realization.getSources().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ realization.getClients().add(sendObjectAction);
+ assertSuperset(realization.getSources().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ realization.getClients().add(controlFlow);
+ assertSuperset(realization.getSources().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ realization.getClients().add(deploymentSpecification);
+ assertSuperset(
+ realization.getSources().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ realization.getClients().add(partDecomposition);
+ assertSuperset(realization.getSources().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ realization.getClients().add(destroyLinkAction);
+ assertSuperset(realization.getSources().contains(destroyLinkAction));
+
+ Realization realization2 = UML.createRealization();
+ assertValid(realization2);
+ realization.getClients().add(realization2);
+ assertSuperset(realization.getSources().contains(realization2));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ realization.getClients().add(expansionNode);
+ assertSuperset(realization.getSources().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ realization.getClients().add(testIdentityAction);
+ assertSuperset(realization.getSources().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ realization.getClients().add(association);
+ assertSuperset(realization.getSources().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ realization.getClients().add(timeInterval);
+ assertSuperset(realization.getSources().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ realization.getClients().add(dataType);
+ assertSuperset(realization.getSources().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ realization.getClients().add(outputPin);
+ assertSuperset(realization.getSources().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ realization.getClients().add(substitution);
+ assertSuperset(realization.getSources().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ realization.getClients().add(include);
+ assertSuperset(realization.getSources().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ realization.getClients().add(extend);
+ assertSuperset(realization.getSources().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ realization.getClients().add(broadcastSignalAction);
+ assertSuperset(
+ realization.getSources().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ realization.getClients().add(literalBoolean);
+ assertSuperset(realization.getSources().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ realization.getClients().add(finalState);
+ assertSuperset(realization.getSources().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ realization.getClients().add(raiseExceptionAction);
+ assertSuperset(realization.getSources().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ realization.getClients().add(durationConstraint);
+ assertSuperset(realization.getSources().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ realization.getClients().add(activityFinalNode);
+ assertSuperset(realization.getSources().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ realization.getClients().add(literalNull);
+ assertSuperset(realization.getSources().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ realization.getClients().add(callOperationAction);
+ assertSuperset(realization.getSources().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ realization.getClients().add(protocolStateMachine);
+ assertSuperset(realization.getSources().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ realization.getClients().add(loopNode);
+ assertSuperset(realization.getSources().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ realization.getClients().add(parameterSet);
+ assertSuperset(realization.getSources().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ realization.getClients().add(valueSpecificationAction);
+ assertSuperset(
+ realization.getSources().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ realization.getClients().add(node);
+ assertSuperset(realization.getSources().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ realization.getClients().add(sequenceNode);
+ assertSuperset(realization.getSources().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ realization.getClients().add(constraint);
+ assertSuperset(realization.getSources().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ realization.getClients().add(destroyObjectAction);
+ assertSuperset(realization.getSources().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ realization.getClients().add(stateMachine);
+ assertSuperset(realization.getSources().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ realization.getClients().add(enumerationLiteral);
+ assertSuperset(realization.getSources().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ realization.getClients().add(actionExecutionSpecification);
+ assertSuperset(
+ realization.getSources().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ realization.getClients().add(functionBehavior);
+ assertSuperset(realization.getSources().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ realization.getClients().add(interface_);
+ assertSuperset(realization.getSources().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ realization.getClients().add(instanceSpecification);
+ assertSuperset(
+ realization.getSources().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ realization.getClients().add(startClassifierBehaviorAction);
+ assertSuperset(
+ realization.getSources().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ realization.getClients().add(port);
+ assertSuperset(realization.getSources().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ realization.getClients().add(removeVariableValueAction);
+ assertSuperset(
+ realization.getSources().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ realization.getClients().add(informationItem);
+ assertSuperset(realization.getSources().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ realization.getClients().add(literalReal);
+ assertSuperset(realization.getSources().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ realization.getClients().add(redefinableTemplateSignature);
+ assertSuperset(
+ realization.getSources().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ realization.getClients().add(executionOccurrenceSpecification);
+ assertSuperset(realization.getSources()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ realization.getClients().add(duration);
+ assertSuperset(realization.getSources().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ realization.getClients().add(package_);
+ assertSuperset(realization.getSources().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ realization.getClients().add(variable);
+ assertSuperset(realization.getSources().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ realization.getClients().add(destructionOccurrenceSpecification);
+ assertSuperset(realization.getSources()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ realization.getClients().add(lifeline);
+ assertSuperset(realization.getSources().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ realization.getClients().add(timeObservation);
+ assertSuperset(realization.getSources().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ realization.getClients().add(replyAction);
+ assertSuperset(realization.getSources().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ realization.getClients().add(gate);
+ assertSuperset(realization.getSources().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ realization.getClients().add(property);
+ assertSuperset(realization.getSources().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ realization.getClients().add(timeExpression);
+ assertSuperset(realization.getSources().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ realization.getClients().add(device);
+ assertSuperset(realization.getSources().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ realization.getClients().add(flowFinalNode);
+ assertSuperset(realization.getSources().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ realization.getClients().add(expansionRegion);
+ assertSuperset(realization.getSources().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ realization.getClients().add(abstraction);
+ assertSuperset(realization.getSources().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ realization.getClients().add(startObjectBehaviorAction);
+ assertSuperset(
+ realization.getSources().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ realization.getClients().add(enumeration);
+ assertSuperset(realization.getSources().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ realization.getClients().add(primitiveType);
+ assertSuperset(realization.getSources().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ realization.getClients().add(profile);
+ assertSuperset(realization.getSources().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ realization.getClients().add(message);
+ assertSuperset(realization.getSources().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ realization.getClients().add(generalizationSet);
+ assertSuperset(realization.getSources().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ realization.getClients().add(continuation);
+ assertSuperset(realization.getSources().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ realization.getClients().add(signal);
+ assertSuperset(realization.getSources().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ realization.getClients().add(callBehaviorAction);
+ assertSuperset(realization.getSources().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ realization.getClients().add(objectFlow);
+ assertSuperset(realization.getSources().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ realization.getClients().add(stateInvariant);
+ assertSuperset(realization.getSources().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ realization.getClients().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ realization.getSources().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ realization.getClients().add(activityParameterNode);
+ assertSuperset(
+ realization.getSources().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ realization.getClients().add(addStructuralFeatureValueAction);
+ assertSuperset(
+ realization.getSources().contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ realization.getClients().add(readVariableAction);
+ assertSuperset(realization.getSources().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ realization.getClients().add(interruptibleActivityRegion);
+ assertSuperset(
+ realization.getSources().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ realization.getClients().add(removeStructuralFeatureValueAction);
+ assertSuperset(realization.getSources()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ realization.getClients().add(opaqueExpression);
+ assertSuperset(realization.getSources().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ realization.getClients().add(timeEvent);
+ assertSuperset(realization.getSources().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ realization.getClients().add(generalOrdering);
+ assertSuperset(realization.getSources().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ realization.getClients().add(region);
+ assertSuperset(realization.getSources().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ realization.getClients().add(transition);
+ assertSuperset(realization.getSources().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ realization.getClients().add(anyReceiveEvent);
+ assertSuperset(realization.getSources().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ realization.getClients().add(messageOccurrenceSpecification);
+ assertSuperset(
+ realization.getSources().contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ realization.getClients().add(literalInteger);
+ assertSuperset(realization.getSources().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ realization.getClients().add(reduceAction);
+ assertSuperset(realization.getSources().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ realization.getClients().add(acceptEventAction);
+ assertSuperset(realization.getSources().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ realization.getClients().add(initialNode);
+ assertSuperset(realization.getSources().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ realization.getClients().add(centralBufferNode);
+ assertSuperset(realization.getSources().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ realization.getClients().add(combinedFragment);
+ assertSuperset(realization.getSources().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ realization.getClients().add(intervalConstraint);
+ assertSuperset(realization.getSources().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ realization.getClients().add(extension);
+ assertSuperset(realization.getSources().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ realization.getClients().add(occurrenceSpecification);
+ assertSuperset(
+ realization.getSources().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ realization.getClients().add(extensionPoint);
+ assertSuperset(realization.getSources().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ realization.getClients().add(dependency);
+ assertSuperset(realization.getSources().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ realization.getClients().add(connector);
+ assertSuperset(realization.getSources().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ realization.getClients().add(expression);
+ assertSuperset(realization.getSources().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ realization.getClients().add(componentRealization);
+ assertSuperset(realization.getSources().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ realization.getClients().add(class_);
+ assertSuperset(realization.getSources().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ realization.getClients().add(state);
+ assertSuperset(realization.getSources().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ realization.getClients().add(protocolTransition);
+ assertSuperset(realization.getSources().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ realization.getClients().add(behaviorExecutionSpecification);
+ assertSuperset(
+ realization.getSources().contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ realization.getClients().add(collaborationUse);
+ assertSuperset(realization.getSources().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ realization.getClients().add(interactionOperand);
+ assertSuperset(realization.getSources().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ realization.getClients().add(acceptCallAction);
+ assertSuperset(realization.getSources().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ realization.getClients().add(addVariableValueAction);
+ assertSuperset(
+ realization.getSources().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ realization.getClients().add(readLinkObjectEndAction);
+ assertSuperset(
+ realization.getSources().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ realization.getClients().add(useCase);
+ assertSuperset(realization.getSources().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ realization.getClients().add(unmarshallAction);
+ assertSuperset(realization.getSources().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ realization.getClients().add(opaqueAction);
+ assertSuperset(realization.getSources().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ realization.getClients().add(stringExpression);
+ assertSuperset(realization.getSources().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ realization.getClients().add(mergeNode);
+ assertSuperset(realization.getSources().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ realization.getClients().add(changeEvent);
+ assertSuperset(realization.getSources().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ realization.getClients().add(createObjectAction);
+ assertSuperset(realization.getSources().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ realization.getClients().add(stereotype);
+ assertSuperset(realization.getSources().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ realization.getClients().add(readStructuralFeatureAction);
+ assertSuperset(
+ realization.getSources().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ realization.getClients().add(collaboration);
+ assertSuperset(realization.getSources().contains(collaboration));
+ }
+
+ public void testSupplier() {
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ realization.getSuppliers().add(activity);
+ assertSuperset(realization.getTargets().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ realization.getSuppliers().add(communicationPath);
+ assertSuperset(realization.getTargets().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ realization.getSuppliers().add(readSelfAction);
+ assertSuperset(realization.getTargets().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ realization.getSuppliers().add(activityPartition);
+ assertSuperset(realization.getTargets().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ realization.getSuppliers().add(inputPin);
+ assertSuperset(realization.getTargets().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ realization.getSuppliers().add(readLinkObjectEndQualifierAction);
+ assertSuperset(realization.getTargets()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ realization.getSuppliers().add(component);
+ assertSuperset(realization.getTargets().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ realization.getSuppliers().add(manifestation);
+ assertSuperset(realization.getTargets().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ realization.getSuppliers().add(durationObservation);
+ assertSuperset(realization.getTargets().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ realization.getSuppliers().add(callEvent);
+ assertSuperset(realization.getTargets().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ realization.getSuppliers().add(joinNode);
+ assertSuperset(realization.getTargets().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ realization.getSuppliers().add(interaction);
+ assertSuperset(realization.getTargets().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ realization.getSuppliers().add(createLinkObjectAction);
+ assertSuperset(
+ realization.getTargets().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ realization.getSuppliers().add(opaqueBehavior);
+ assertSuperset(realization.getTargets().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ realization.getSuppliers().add(literalUnlimitedNatural);
+ assertSuperset(
+ realization.getTargets().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ realization.getSuppliers().add(sendSignalAction);
+ assertSuperset(realization.getTargets().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ realization.getSuppliers().add(readLinkAction);
+ assertSuperset(realization.getTargets().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ realization.getSuppliers().add(operation);
+ assertSuperset(realization.getTargets().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ realization.getSuppliers().add(clearAssociationAction);
+ assertSuperset(
+ realization.getTargets().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ realization.getSuppliers().add(model);
+ assertSuperset(realization.getTargets().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ realization.getSuppliers().add(parameter);
+ assertSuperset(realization.getTargets().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ realization.getSuppliers().add(instanceValue);
+ assertSuperset(realization.getTargets().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ realization.getSuppliers().add(trigger);
+ assertSuperset(realization.getTargets().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ realization.getSuppliers().add(interactionConstraint);
+ assertSuperset(
+ realization.getTargets().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ realization.getSuppliers().add(associationClass);
+ assertSuperset(realization.getTargets().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ realization.getSuppliers().add(interactionUse);
+ assertSuperset(realization.getTargets().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ realization.getSuppliers().add(clearStructuralFeatureAction);
+ assertSuperset(
+ realization.getTargets().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ realization.getSuppliers().add(interval);
+ assertSuperset(realization.getTargets().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ realization.getSuppliers().add(structuredActivityNode);
+ assertSuperset(
+ realization.getTargets().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ realization.getSuppliers().add(literalString);
+ assertSuperset(realization.getTargets().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ realization.getSuppliers().add(valuePin);
+ assertSuperset(realization.getTargets().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ realization.getSuppliers().add(interfaceRealization);
+ assertSuperset(realization.getTargets().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ realization.getSuppliers().add(forkNode);
+ assertSuperset(realization.getTargets().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ realization.getSuppliers().add(decisionNode);
+ assertSuperset(realization.getTargets().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ realization.getSuppliers().add(actor);
+ assertSuperset(realization.getTargets().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ realization.getSuppliers().add(timeConstraint);
+ assertSuperset(realization.getTargets().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ realization.getSuppliers().add(reception);
+ assertSuperset(realization.getTargets().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ realization.getSuppliers().add(pseudostate);
+ assertSuperset(realization.getTargets().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ realization.getSuppliers().add(durationInterval);
+ assertSuperset(realization.getTargets().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ realization.getSuppliers().add(deployment);
+ assertSuperset(realization.getTargets().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ realization.getSuppliers().add(extensionEnd);
+ assertSuperset(realization.getTargets().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ realization.getSuppliers().add(considerIgnoreFragment);
+ assertSuperset(
+ realization.getTargets().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ realization.getSuppliers().add(conditionalNode);
+ assertSuperset(realization.getTargets().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ realization.getSuppliers().add(readExtentAction);
+ assertSuperset(realization.getTargets().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ realization.getSuppliers().add(actionInputPin);
+ assertSuperset(realization.getTargets().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ realization.getSuppliers().add(artifact);
+ assertSuperset(realization.getTargets().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ realization.getSuppliers().add(informationFlow);
+ assertSuperset(realization.getTargets().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ realization.getSuppliers().add(clearVariableAction);
+ assertSuperset(realization.getTargets().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ realization.getSuppliers().add(createLinkAction);
+ assertSuperset(realization.getTargets().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ realization.getSuppliers().add(signalEvent);
+ assertSuperset(realization.getTargets().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ realization.getSuppliers().add(connectionPointReference);
+ assertSuperset(
+ realization.getTargets().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ realization.getSuppliers().add(reclassifyObjectAction);
+ assertSuperset(
+ realization.getTargets().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ realization.getSuppliers().add(usage);
+ assertSuperset(realization.getTargets().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ realization.getSuppliers().add(dataStoreNode);
+ assertSuperset(realization.getTargets().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ realization.getSuppliers().add(executionEnvironment);
+ assertSuperset(realization.getTargets().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ realization.getSuppliers().add(sendObjectAction);
+ assertSuperset(realization.getTargets().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ realization.getSuppliers().add(controlFlow);
+ assertSuperset(realization.getTargets().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ realization.getSuppliers().add(deploymentSpecification);
+ assertSuperset(
+ realization.getTargets().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ realization.getSuppliers().add(partDecomposition);
+ assertSuperset(realization.getTargets().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ realization.getSuppliers().add(destroyLinkAction);
+ assertSuperset(realization.getTargets().contains(destroyLinkAction));
+
+ Realization realization2 = UML.createRealization();
+ assertValid(realization2);
+ realization.getSuppliers().add(realization2);
+ assertSuperset(realization.getTargets().contains(realization2));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ realization.getSuppliers().add(expansionNode);
+ assertSuperset(realization.getTargets().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ realization.getSuppliers().add(testIdentityAction);
+ assertSuperset(realization.getTargets().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ realization.getSuppliers().add(association);
+ assertSuperset(realization.getTargets().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ realization.getSuppliers().add(timeInterval);
+ assertSuperset(realization.getTargets().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ realization.getSuppliers().add(dataType);
+ assertSuperset(realization.getTargets().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ realization.getSuppliers().add(outputPin);
+ assertSuperset(realization.getTargets().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ realization.getSuppliers().add(substitution);
+ assertSuperset(realization.getTargets().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ realization.getSuppliers().add(include);
+ assertSuperset(realization.getTargets().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ realization.getSuppliers().add(extend);
+ assertSuperset(realization.getTargets().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ realization.getSuppliers().add(broadcastSignalAction);
+ assertSuperset(
+ realization.getTargets().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ realization.getSuppliers().add(literalBoolean);
+ assertSuperset(realization.getTargets().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ realization.getSuppliers().add(finalState);
+ assertSuperset(realization.getTargets().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ realization.getSuppliers().add(raiseExceptionAction);
+ assertSuperset(realization.getTargets().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ realization.getSuppliers().add(durationConstraint);
+ assertSuperset(realization.getTargets().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ realization.getSuppliers().add(activityFinalNode);
+ assertSuperset(realization.getTargets().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ realization.getSuppliers().add(literalNull);
+ assertSuperset(realization.getTargets().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ realization.getSuppliers().add(callOperationAction);
+ assertSuperset(realization.getTargets().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ realization.getSuppliers().add(protocolStateMachine);
+ assertSuperset(realization.getTargets().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ realization.getSuppliers().add(loopNode);
+ assertSuperset(realization.getTargets().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ realization.getSuppliers().add(parameterSet);
+ assertSuperset(realization.getTargets().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ realization.getSuppliers().add(valueSpecificationAction);
+ assertSuperset(
+ realization.getTargets().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ realization.getSuppliers().add(node);
+ assertSuperset(realization.getTargets().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ realization.getSuppliers().add(sequenceNode);
+ assertSuperset(realization.getTargets().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ realization.getSuppliers().add(constraint);
+ assertSuperset(realization.getTargets().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ realization.getSuppliers().add(destroyObjectAction);
+ assertSuperset(realization.getTargets().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ realization.getSuppliers().add(stateMachine);
+ assertSuperset(realization.getTargets().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ realization.getSuppliers().add(enumerationLiteral);
+ assertSuperset(realization.getTargets().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ realization.getSuppliers().add(actionExecutionSpecification);
+ assertSuperset(
+ realization.getTargets().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ realization.getSuppliers().add(functionBehavior);
+ assertSuperset(realization.getTargets().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ realization.getSuppliers().add(interface_);
+ assertSuperset(realization.getTargets().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ realization.getSuppliers().add(instanceSpecification);
+ assertSuperset(
+ realization.getTargets().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ realization.getSuppliers().add(startClassifierBehaviorAction);
+ assertSuperset(
+ realization.getTargets().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ realization.getSuppliers().add(port);
+ assertSuperset(realization.getTargets().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ realization.getSuppliers().add(removeVariableValueAction);
+ assertSuperset(
+ realization.getTargets().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ realization.getSuppliers().add(informationItem);
+ assertSuperset(realization.getTargets().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ realization.getSuppliers().add(literalReal);
+ assertSuperset(realization.getTargets().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ realization.getSuppliers().add(redefinableTemplateSignature);
+ assertSuperset(
+ realization.getTargets().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ realization.getSuppliers().add(executionOccurrenceSpecification);
+ assertSuperset(realization.getTargets()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ realization.getSuppliers().add(duration);
+ assertSuperset(realization.getTargets().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ realization.getSuppliers().add(package_);
+ assertSuperset(realization.getTargets().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ realization.getSuppliers().add(variable);
+ assertSuperset(realization.getTargets().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ realization.getSuppliers().add(destructionOccurrenceSpecification);
+ assertSuperset(realization.getTargets()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ realization.getSuppliers().add(lifeline);
+ assertSuperset(realization.getTargets().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ realization.getSuppliers().add(timeObservation);
+ assertSuperset(realization.getTargets().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ realization.getSuppliers().add(replyAction);
+ assertSuperset(realization.getTargets().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ realization.getSuppliers().add(gate);
+ assertSuperset(realization.getTargets().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ realization.getSuppliers().add(property);
+ assertSuperset(realization.getTargets().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ realization.getSuppliers().add(timeExpression);
+ assertSuperset(realization.getTargets().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ realization.getSuppliers().add(device);
+ assertSuperset(realization.getTargets().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ realization.getSuppliers().add(flowFinalNode);
+ assertSuperset(realization.getTargets().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ realization.getSuppliers().add(expansionRegion);
+ assertSuperset(realization.getTargets().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ realization.getSuppliers().add(abstraction);
+ assertSuperset(realization.getTargets().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ realization.getSuppliers().add(startObjectBehaviorAction);
+ assertSuperset(
+ realization.getTargets().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ realization.getSuppliers().add(enumeration);
+ assertSuperset(realization.getTargets().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ realization.getSuppliers().add(primitiveType);
+ assertSuperset(realization.getTargets().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ realization.getSuppliers().add(profile);
+ assertSuperset(realization.getTargets().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ realization.getSuppliers().add(message);
+ assertSuperset(realization.getTargets().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ realization.getSuppliers().add(generalizationSet);
+ assertSuperset(realization.getTargets().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ realization.getSuppliers().add(continuation);
+ assertSuperset(realization.getTargets().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ realization.getSuppliers().add(signal);
+ assertSuperset(realization.getTargets().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ realization.getSuppliers().add(callBehaviorAction);
+ assertSuperset(realization.getTargets().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ realization.getSuppliers().add(objectFlow);
+ assertSuperset(realization.getTargets().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ realization.getSuppliers().add(stateInvariant);
+ assertSuperset(realization.getTargets().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ realization.getSuppliers().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ realization.getTargets().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ realization.getSuppliers().add(activityParameterNode);
+ assertSuperset(
+ realization.getTargets().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ realization.getSuppliers().add(addStructuralFeatureValueAction);
+ assertSuperset(
+ realization.getTargets().contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ realization.getSuppliers().add(readVariableAction);
+ assertSuperset(realization.getTargets().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ realization.getSuppliers().add(interruptibleActivityRegion);
+ assertSuperset(
+ realization.getTargets().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ realization.getSuppliers().add(removeStructuralFeatureValueAction);
+ assertSuperset(realization.getTargets()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ realization.getSuppliers().add(opaqueExpression);
+ assertSuperset(realization.getTargets().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ realization.getSuppliers().add(timeEvent);
+ assertSuperset(realization.getTargets().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ realization.getSuppliers().add(generalOrdering);
+ assertSuperset(realization.getTargets().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ realization.getSuppliers().add(region);
+ assertSuperset(realization.getTargets().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ realization.getSuppliers().add(transition);
+ assertSuperset(realization.getTargets().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ realization.getSuppliers().add(anyReceiveEvent);
+ assertSuperset(realization.getTargets().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ realization.getSuppliers().add(messageOccurrenceSpecification);
+ assertSuperset(
+ realization.getTargets().contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ realization.getSuppliers().add(literalInteger);
+ assertSuperset(realization.getTargets().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ realization.getSuppliers().add(reduceAction);
+ assertSuperset(realization.getTargets().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ realization.getSuppliers().add(acceptEventAction);
+ assertSuperset(realization.getTargets().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ realization.getSuppliers().add(initialNode);
+ assertSuperset(realization.getTargets().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ realization.getSuppliers().add(centralBufferNode);
+ assertSuperset(realization.getTargets().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ realization.getSuppliers().add(combinedFragment);
+ assertSuperset(realization.getTargets().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ realization.getSuppliers().add(intervalConstraint);
+ assertSuperset(realization.getTargets().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ realization.getSuppliers().add(extension);
+ assertSuperset(realization.getTargets().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ realization.getSuppliers().add(occurrenceSpecification);
+ assertSuperset(
+ realization.getTargets().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ realization.getSuppliers().add(extensionPoint);
+ assertSuperset(realization.getTargets().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ realization.getSuppliers().add(dependency);
+ assertSuperset(realization.getTargets().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ realization.getSuppliers().add(connector);
+ assertSuperset(realization.getTargets().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ realization.getSuppliers().add(expression);
+ assertSuperset(realization.getTargets().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ realization.getSuppliers().add(componentRealization);
+ assertSuperset(realization.getTargets().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ realization.getSuppliers().add(class_);
+ assertSuperset(realization.getTargets().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ realization.getSuppliers().add(state);
+ assertSuperset(realization.getTargets().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ realization.getSuppliers().add(protocolTransition);
+ assertSuperset(realization.getTargets().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ realization.getSuppliers().add(behaviorExecutionSpecification);
+ assertSuperset(
+ realization.getTargets().contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ realization.getSuppliers().add(collaborationUse);
+ assertSuperset(realization.getTargets().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ realization.getSuppliers().add(interactionOperand);
+ assertSuperset(realization.getTargets().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ realization.getSuppliers().add(acceptCallAction);
+ assertSuperset(realization.getTargets().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ realization.getSuppliers().add(addVariableValueAction);
+ assertSuperset(
+ realization.getTargets().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ realization.getSuppliers().add(readLinkObjectEndAction);
+ assertSuperset(
+ realization.getTargets().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ realization.getSuppliers().add(useCase);
+ assertSuperset(realization.getTargets().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ realization.getSuppliers().add(unmarshallAction);
+ assertSuperset(realization.getTargets().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ realization.getSuppliers().add(opaqueAction);
+ assertSuperset(realization.getTargets().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ realization.getSuppliers().add(stringExpression);
+ assertSuperset(realization.getTargets().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ realization.getSuppliers().add(mergeNode);
+ assertSuperset(realization.getTargets().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ realization.getSuppliers().add(changeEvent);
+ assertSuperset(realization.getTargets().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ realization.getSuppliers().add(createObjectAction);
+ assertSuperset(realization.getTargets().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ realization.getSuppliers().add(stereotype);
+ assertSuperset(realization.getTargets().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ realization.getSuppliers().add(readStructuralFeatureAction);
+ assertSuperset(
+ realization.getTargets().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ realization.getSuppliers().add(collaboration);
+ assertSuperset(realization.getTargets().contains(collaboration));
+ }
+
+ public void testMapping() {
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ realization.setMapping(opaqueExpression);
+ assertSuperset(
+ realization.getOwnedElements().contains(opaqueExpression));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReceptionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReceptionTest.java
new file mode 100755
index 00000000..036ddbf2
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReceptionTest.java
@@ -0,0 +1,394 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class ReceptionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ reception.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ reception.getOwnedComments().add(comment);
+ assertSuperset(reception.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ EList<Element> elements = reception.getOwnedElements();
+ EList<Element> elements2 = reception.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ EList<Dependency> dependencys = reception.getClientDependencies();
+ EList<Dependency> dependencys2 = reception.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ reception.setNameExpression(stringExpression);
+ assertSuperset(reception.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ reception.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ reception.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ reception.getOwnedRules().add(timeConstraint);
+ assertSuperset(reception.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ reception.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ reception.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ reception.getOwnedRules().add(constraint);
+ assertSuperset(reception.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ reception.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ reception.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ reception.getElementImports().add(elementImport);
+ assertSuperset(reception.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ reception.getPackageImports().add(packageImport);
+ assertSuperset(reception.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ EList<NamedElement> namedElements = reception.getOwnedMembers();
+ EList<NamedElement> namedElements2 = reception.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ EList<PackageableElement> packageableElements = reception
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = reception
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ EList<NamedElement> namedElements = reception.getMembers();
+ EList<NamedElement> namedElements2 = reception.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ EList<RedefinableElement> redefinableElements = reception
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = reception
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ EList<Classifier> classifiers = reception.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = reception.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testFeaturingClassifier() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ EList<Classifier> classifiers = reception.getFeaturingClassifiers();
+ EList<Classifier> classifiers2 = reception.getFeaturingClassifiers();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testMethod() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ reception.getMethods().add(protocolStateMachine);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ reception.getMethods().add(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ reception.getMethods().add(activity);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ reception.getMethods().add(interaction);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ reception.getMethods().add(opaqueBehavior);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ reception.getMethods().add(stateMachine);
+ }
+
+ public void testOwnedParameter() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ reception.getOwnedParameters().add(parameter);
+ assertSuperset(reception.getOwnedMembers().contains(parameter));
+ }
+
+ public void testOwnedParameterSet() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ reception.getOwnedParameterSets().add(parameterSet);
+ assertSuperset(reception.getOwnedMembers().contains(parameterSet));
+ }
+
+ public void testRaisedException() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ reception.getRaisedExceptions().add(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ reception.getRaisedExceptions().add(activity);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ reception.getRaisedExceptions().add(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ reception.getRaisedExceptions().add(informationItem);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ reception.getRaisedExceptions().add(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ reception.getRaisedExceptions().add(executionEnvironment);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ reception.getRaisedExceptions().add(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ reception.getRaisedExceptions().add(interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ reception.getRaisedExceptions().add(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ reception.getRaisedExceptions().add(opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ reception.getRaisedExceptions().add(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ reception.getRaisedExceptions().add(dataType);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ reception.getRaisedExceptions().add(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ reception.getRaisedExceptions().add(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ reception.getRaisedExceptions().add(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ reception.getRaisedExceptions().add(class_);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ reception.getRaisedExceptions().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ reception.getRaisedExceptions().add(primitiveType);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ reception.getRaisedExceptions().add(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ reception.getRaisedExceptions().add(protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ reception.getRaisedExceptions().add(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ reception.getRaisedExceptions().add(signal);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ reception.getRaisedExceptions().add(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ reception.getRaisedExceptions().add(stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ reception.getRaisedExceptions().add(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ reception.getRaisedExceptions().add(artifact);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ reception.getRaisedExceptions().add(collaboration);
+ }
+
+ public void testSignal() {
+ Reception reception = UML.createReception();
+ assertValid(reception);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ reception.setSignal(signal);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReclassifyObjectActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReclassifyObjectActionTest.java
new file mode 100755
index 00000000..4282ada5
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReclassifyObjectActionTest.java
@@ -0,0 +1,1061 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ReclassifyObjectActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ reclassifyObjectAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ reclassifyObjectAction.getOwnedComments().add(comment);
+ assertSuperset(
+ reclassifyObjectAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ EList<Element> elements = reclassifyObjectAction.getOwnedElements();
+ EList<Element> elements2 = reclassifyObjectAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ EList<Dependency> dependencys = reclassifyObjectAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = reclassifyObjectAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ reclassifyObjectAction.setNameExpression(stringExpression);
+ assertSuperset(reclassifyObjectAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ EList<RedefinableElement> redefinableElements = reclassifyObjectAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = reclassifyObjectAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ EList<Classifier> classifiers = reclassifyObjectAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = reclassifyObjectAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ EList<ActivityGroup> activityGroups = reclassifyObjectAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = reclassifyObjectAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ reclassifyObjectAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(reclassifyObjectAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ reclassifyObjectAction.setInStructuredNode(loopNode);
+ assertSuperset(reclassifyObjectAction.getInGroups().contains(loopNode));
+ assertSuperset(reclassifyObjectAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ reclassifyObjectAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ reclassifyObjectAction.getInGroups().contains(expansionRegion));
+ assertSuperset(reclassifyObjectAction.getOwner() == expansionRegion);
+
+ ReclassifyObjectAction reclassifyObjectAction2 = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ reclassifyObjectAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ reclassifyObjectAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(reclassifyObjectAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ reclassifyObjectAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(reclassifyObjectAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ reclassifyObjectAction2.getOwner() == structuredActivityNode);
+
+ ReclassifyObjectAction reclassifyObjectAction3 = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ reclassifyObjectAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ reclassifyObjectAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(reclassifyObjectAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ reclassifyObjectAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ reclassifyObjectAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ reclassifyObjectAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ reclassifyObjectAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ reclassifyObjectAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ reclassifyObjectAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ reclassifyObjectAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ reclassifyObjectAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ reclassifyObjectAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ reclassifyObjectAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ reclassifyObjectAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ reclassifyObjectAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ reclassifyObjectAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ reclassifyObjectAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ reclassifyObjectAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ reclassifyObjectAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ reclassifyObjectAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ reclassifyObjectAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ reclassifyObjectAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ reclassifyObjectAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ reclassifyObjectAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ reclassifyObjectAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ reclassifyObjectAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ reclassifyObjectAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ reclassifyObjectAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ reclassifyObjectAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ reclassifyObjectAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ reclassifyObjectAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ reclassifyObjectAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ reclassifyObjectAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ reclassifyObjectAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ reclassifyObjectAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ reclassifyObjectAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ reclassifyObjectAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ reclassifyObjectAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ reclassifyObjectAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ reclassifyObjectAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ reclassifyObjectAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction2 = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction2);
+ reclassifyObjectAction.getRedefinedNodes().add(reclassifyObjectAction2);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(reclassifyObjectAction2));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ reclassifyObjectAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ reclassifyObjectAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ reclassifyObjectAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ reclassifyObjectAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ reclassifyObjectAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ reclassifyObjectAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ reclassifyObjectAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ reclassifyObjectAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ reclassifyObjectAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ reclassifyObjectAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ reclassifyObjectAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ reclassifyObjectAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ reclassifyObjectAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ reclassifyObjectAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ reclassifyObjectAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ reclassifyObjectAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ reclassifyObjectAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ reclassifyObjectAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ reclassifyObjectAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ reclassifyObjectAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ reclassifyObjectAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ reclassifyObjectAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ reclassifyObjectAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ reclassifyObjectAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ reclassifyObjectAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ reclassifyObjectAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ reclassifyObjectAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ reclassifyObjectAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ reclassifyObjectAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(reclassifyObjectAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ reclassifyObjectAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ reclassifyObjectAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ reclassifyObjectAction.getHandlers().add(exceptionHandler);
+ assertSuperset(reclassifyObjectAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ EList<InputPin> inputPins = reclassifyObjectAction.getInputs();
+ EList<InputPin> inputPins2 = reclassifyObjectAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ reclassifyObjectAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(reclassifyObjectAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ reclassifyObjectAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ reclassifyObjectAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ reclassifyObjectAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(reclassifyObjectAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ reclassifyObjectAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ reclassifyObjectAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ reclassifyObjectAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(reclassifyObjectAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ reclassifyObjectAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(reclassifyObjectAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ reclassifyObjectAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ reclassifyObjectAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ reclassifyObjectAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(reclassifyObjectAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ reclassifyObjectAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ reclassifyObjectAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ reclassifyObjectAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(reclassifyObjectAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ EList<OutputPin> outputPins = reclassifyObjectAction.getOutputs();
+ EList<OutputPin> outputPins2 = reclassifyObjectAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testNewClassifier() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ reclassifyObjectAction.getNewClassifiers().add(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ reclassifyObjectAction.getNewClassifiers().add(activity);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ reclassifyObjectAction.getNewClassifiers().add(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ reclassifyObjectAction.getNewClassifiers().add(informationItem);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ reclassifyObjectAction.getNewClassifiers().add(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ reclassifyObjectAction.getNewClassifiers().add(executionEnvironment);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ reclassifyObjectAction.getNewClassifiers().add(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ reclassifyObjectAction.getNewClassifiers().add(interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ reclassifyObjectAction.getNewClassifiers().add(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ reclassifyObjectAction.getNewClassifiers().add(opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ reclassifyObjectAction.getNewClassifiers().add(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ reclassifyObjectAction.getNewClassifiers().add(dataType);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ reclassifyObjectAction.getNewClassifiers().add(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ reclassifyObjectAction.getNewClassifiers().add(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ reclassifyObjectAction.getNewClassifiers().add(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ reclassifyObjectAction.getNewClassifiers().add(class_);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ reclassifyObjectAction.getNewClassifiers().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ reclassifyObjectAction.getNewClassifiers().add(primitiveType);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ reclassifyObjectAction.getNewClassifiers().add(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ reclassifyObjectAction.getNewClassifiers().add(protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ reclassifyObjectAction.getNewClassifiers().add(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ reclassifyObjectAction.getNewClassifiers().add(signal);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ reclassifyObjectAction.getNewClassifiers().add(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ reclassifyObjectAction.getNewClassifiers().add(stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ reclassifyObjectAction.getNewClassifiers().add(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ reclassifyObjectAction.getNewClassifiers().add(artifact);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ reclassifyObjectAction.getNewClassifiers().add(collaboration);
+ }
+
+ public void testObject() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ reclassifyObjectAction.setObject(inputPin);
+ assertSuperset(reclassifyObjectAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ reclassifyObjectAction.setObject(valuePin);
+ assertSuperset(reclassifyObjectAction.getInputs().contains(valuePin));
+
+ ReclassifyObjectAction reclassifyObjectAction2 = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ reclassifyObjectAction2.setObject(actionInputPin);
+ assertSuperset(
+ reclassifyObjectAction2.getInputs().contains(actionInputPin));
+ }
+
+ public void testOldClassifier() {
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ reclassifyObjectAction.getOldClassifiers().add(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ reclassifyObjectAction.getOldClassifiers().add(activity);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ reclassifyObjectAction.getOldClassifiers().add(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ reclassifyObjectAction.getOldClassifiers().add(informationItem);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ reclassifyObjectAction.getOldClassifiers().add(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ reclassifyObjectAction.getOldClassifiers().add(executionEnvironment);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ reclassifyObjectAction.getOldClassifiers().add(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ reclassifyObjectAction.getOldClassifiers().add(interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ reclassifyObjectAction.getOldClassifiers().add(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ reclassifyObjectAction.getOldClassifiers().add(opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ reclassifyObjectAction.getOldClassifiers().add(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ reclassifyObjectAction.getOldClassifiers().add(dataType);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ reclassifyObjectAction.getOldClassifiers().add(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ reclassifyObjectAction.getOldClassifiers().add(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ reclassifyObjectAction.getOldClassifiers().add(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ reclassifyObjectAction.getOldClassifiers().add(class_);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ reclassifyObjectAction.getOldClassifiers().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ reclassifyObjectAction.getOldClassifiers().add(primitiveType);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ reclassifyObjectAction.getOldClassifiers().add(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ reclassifyObjectAction.getOldClassifiers().add(protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ reclassifyObjectAction.getOldClassifiers().add(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ reclassifyObjectAction.getOldClassifiers().add(signal);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ reclassifyObjectAction.getOldClassifiers().add(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ reclassifyObjectAction.getOldClassifiers().add(stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ reclassifyObjectAction.getOldClassifiers().add(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ reclassifyObjectAction.getOldClassifiers().add(artifact);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ reclassifyObjectAction.getOldClassifiers().add(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RedefinableTemplateSignatureTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RedefinableTemplateSignatureTest.java
new file mode 100755
index 00000000..6c84ef5a
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RedefinableTemplateSignatureTest.java
@@ -0,0 +1,444 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class RedefinableTemplateSignatureTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ redefinableTemplateSignature.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ redefinableTemplateSignature.getOwnedComments().add(comment);
+ assertSuperset(
+ redefinableTemplateSignature.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ EList<Element> elements = redefinableTemplateSignature
+ .getOwnedElements();
+ EList<Element> elements2 = redefinableTemplateSignature
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ EList<Dependency> dependencys = redefinableTemplateSignature
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = redefinableTemplateSignature
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ redefinableTemplateSignature.setNameExpression(stringExpression);
+ assertSuperset(redefinableTemplateSignature.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ EList<RedefinableElement> redefinableElements = redefinableTemplateSignature
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = redefinableTemplateSignature
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ EList<Classifier> classifiers = redefinableTemplateSignature
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = redefinableTemplateSignature
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testParameter() {
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ redefinableTemplateSignature.getParameters()
+ .add(classifierTemplateParameter);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ redefinableTemplateSignature.getParameters()
+ .add(connectableElementTemplateParameter);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ redefinableTemplateSignature.getParameters().add(templateParameter);
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ redefinableTemplateSignature.getParameters()
+ .add(operationTemplateParameter);
+ }
+
+ public void testTemplate() {
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ redefinableTemplateSignature.setTemplate(functionBehavior);
+ assertSuperset(
+ redefinableTemplateSignature.getOwner() == functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ redefinableTemplateSignature.setTemplate(activity);
+ assertSuperset(redefinableTemplateSignature.getOwner() == activity);
+
+ RedefinableTemplateSignature redefinableTemplateSignature2 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ redefinableTemplateSignature2.setTemplate(interface_);
+ assertSuperset(redefinableTemplateSignature2.getOwner() == interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ redefinableTemplateSignature2.setTemplate(informationItem);
+ assertSuperset(
+ redefinableTemplateSignature2.getOwner() == informationItem);
+
+ RedefinableTemplateSignature redefinableTemplateSignature3 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ redefinableTemplateSignature3.setTemplate(communicationPath);
+ assertSuperset(
+ redefinableTemplateSignature3.getOwner() == communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ redefinableTemplateSignature3.setTemplate(executionEnvironment);
+ assertSuperset(
+ redefinableTemplateSignature3.getOwner() == executionEnvironment);
+
+ RedefinableTemplateSignature redefinableTemplateSignature4 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ redefinableTemplateSignature4.setTemplate(component);
+ assertSuperset(redefinableTemplateSignature4.getOwner() == component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ redefinableTemplateSignature4.setTemplate(interaction);
+ assertSuperset(redefinableTemplateSignature4.getOwner() == interaction);
+
+ RedefinableTemplateSignature redefinableTemplateSignature5 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ redefinableTemplateSignature5.setTemplate(deploymentSpecification);
+ assertSuperset(redefinableTemplateSignature5
+ .getOwner() == deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ redefinableTemplateSignature5.setTemplate(opaqueBehavior);
+ assertSuperset(
+ redefinableTemplateSignature5.getOwner() == opaqueBehavior);
+
+ RedefinableTemplateSignature redefinableTemplateSignature6 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ redefinableTemplateSignature6.setTemplate(association);
+ assertSuperset(redefinableTemplateSignature6.getOwner() == association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ redefinableTemplateSignature6.setTemplate(dataType);
+ assertSuperset(redefinableTemplateSignature6.getOwner() == dataType);
+
+ RedefinableTemplateSignature redefinableTemplateSignature7 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ redefinableTemplateSignature7.setTemplate(device);
+ assertSuperset(redefinableTemplateSignature7.getOwner() == device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ redefinableTemplateSignature7.setTemplate(extension);
+ assertSuperset(redefinableTemplateSignature7.getOwner() == extension);
+
+ RedefinableTemplateSignature redefinableTemplateSignature8 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ redefinableTemplateSignature8.setTemplate(associationClass);
+ assertSuperset(
+ redefinableTemplateSignature8.getOwner() == associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ redefinableTemplateSignature8.setTemplate(class_);
+ assertSuperset(redefinableTemplateSignature8.getOwner() == class_);
+
+ RedefinableTemplateSignature redefinableTemplateSignature9 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ redefinableTemplateSignature9.setTemplate(enumeration);
+ assertSuperset(redefinableTemplateSignature9.getOwner() == enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ redefinableTemplateSignature9.setTemplate(primitiveType);
+ assertSuperset(
+ redefinableTemplateSignature9.getOwner() == primitiveType);
+
+ RedefinableTemplateSignature redefinableTemplateSignature10 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ redefinableTemplateSignature10.setTemplate(actor);
+ assertSuperset(redefinableTemplateSignature10.getOwner() == actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ redefinableTemplateSignature10.setTemplate(protocolStateMachine);
+ assertSuperset(
+ redefinableTemplateSignature10.getOwner() == protocolStateMachine);
+
+ RedefinableTemplateSignature redefinableTemplateSignature11 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ redefinableTemplateSignature11.setTemplate(useCase);
+ assertSuperset(redefinableTemplateSignature11.getOwner() == useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ redefinableTemplateSignature11.setTemplate(signal);
+ assertSuperset(redefinableTemplateSignature11.getOwner() == signal);
+
+ RedefinableTemplateSignature redefinableTemplateSignature12 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ redefinableTemplateSignature12.setTemplate(node);
+ assertSuperset(redefinableTemplateSignature12.getOwner() == node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ redefinableTemplateSignature12.setTemplate(stereotype);
+ assertSuperset(redefinableTemplateSignature12.getOwner() == stereotype);
+
+ RedefinableTemplateSignature redefinableTemplateSignature13 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ redefinableTemplateSignature13.setTemplate(stateMachine);
+ assertSuperset(
+ redefinableTemplateSignature13.getOwner() == stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ redefinableTemplateSignature13.setTemplate(artifact);
+ assertSuperset(redefinableTemplateSignature13.getOwner() == artifact);
+
+ RedefinableTemplateSignature redefinableTemplateSignature14 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ redefinableTemplateSignature14.setTemplate(collaboration);
+ assertSuperset(
+ redefinableTemplateSignature14.getOwner() == collaboration);
+ }
+
+ public void testOwnedParameter() {
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ redefinableTemplateSignature.getOwnedParameters()
+ .add(classifierTemplateParameter);
+ assertSuperset(redefinableTemplateSignature.getOwnedElements()
+ .contains(classifierTemplateParameter));
+ assertSuperset(redefinableTemplateSignature.getParameters()
+ .contains(classifierTemplateParameter));
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ redefinableTemplateSignature.getOwnedParameters()
+ .add(connectableElementTemplateParameter);
+ assertSuperset(redefinableTemplateSignature.getOwnedElements()
+ .contains(connectableElementTemplateParameter));
+ assertSuperset(redefinableTemplateSignature.getParameters()
+ .contains(connectableElementTemplateParameter));
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ redefinableTemplateSignature.getOwnedParameters()
+ .add(templateParameter);
+ assertSuperset(redefinableTemplateSignature.getOwnedElements()
+ .contains(templateParameter));
+ assertSuperset(redefinableTemplateSignature.getParameters()
+ .contains(templateParameter));
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ redefinableTemplateSignature.getOwnedParameters()
+ .add(operationTemplateParameter);
+ assertSuperset(redefinableTemplateSignature.getOwnedElements()
+ .contains(operationTemplateParameter));
+ assertSuperset(redefinableTemplateSignature.getParameters()
+ .contains(operationTemplateParameter));
+ }
+
+ public void testExtendedSignature() {
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+
+ RedefinableTemplateSignature redefinableTemplateSignature2 = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature2);
+ redefinableTemplateSignature.getExtendedSignatures()
+ .add(redefinableTemplateSignature2);
+ assertSuperset(redefinableTemplateSignature.getRedefinedElements()
+ .contains(redefinableTemplateSignature2));
+ }
+
+ public void testInheritedParameter() {
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ EList<TemplateParameter> templateParameters = redefinableTemplateSignature
+ .getInheritedParameters();
+ EList<TemplateParameter> templateParameters2 = redefinableTemplateSignature
+ .getInheritedParameters();
+ assertSame(templateParameters, templateParameters2);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReduceActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReduceActionTest.java
new file mode 100755
index 00000000..3222d8ca
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReduceActionTest.java
@@ -0,0 +1,771 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ReduceActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ reduceAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ reduceAction.getOwnedComments().add(comment);
+ assertSuperset(reduceAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ EList<Element> elements = reduceAction.getOwnedElements();
+ EList<Element> elements2 = reduceAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ EList<Dependency> dependencys = reduceAction.getClientDependencies();
+ EList<Dependency> dependencys2 = reduceAction.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ reduceAction.setNameExpression(stringExpression);
+ assertSuperset(
+ reduceAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ EList<RedefinableElement> redefinableElements = reduceAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = reduceAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ EList<Classifier> classifiers = reduceAction.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = reduceAction.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ EList<ActivityGroup> activityGroups = reduceAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = reduceAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ reduceAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ reduceAction.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ reduceAction.setInStructuredNode(loopNode);
+ assertSuperset(reduceAction.getInGroups().contains(loopNode));
+ assertSuperset(reduceAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ reduceAction.setInStructuredNode(expansionRegion);
+ assertSuperset(reduceAction.getInGroups().contains(expansionRegion));
+ assertSuperset(reduceAction.getOwner() == expansionRegion);
+
+ ReduceAction reduceAction2 = UML.createReduceAction();
+ assertValid(reduceAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ reduceAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(reduceAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(reduceAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ reduceAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ reduceAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(reduceAction2.getOwner() == structuredActivityNode);
+
+ ReduceAction reduceAction3 = UML.createReduceAction();
+ assertValid(reduceAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ reduceAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(reduceAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(reduceAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ reduceAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ reduceAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ reduceAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ reduceAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ reduceAction.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ reduceAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ reduceAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ reduceAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(reduceAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ reduceAction.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ reduceAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(reduceAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ reduceAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ reduceAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ reduceAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ reduceAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ reduceAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ reduceAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ reduceAction.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ reduceAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ reduceAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ reduceAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(reduceAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ reduceAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ reduceAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(reduceAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ reduceAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ reduceAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ reduceAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ reduceAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ reduceAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ reduceAction.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ reduceAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ reduceAction.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ reduceAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ reduceAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ reduceAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ reduceAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ reduceAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ reduceAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ reduceAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction2 = UML.createReduceAction();
+ assertValid(reduceAction2);
+ reduceAction.getRedefinedNodes().add(reduceAction2);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(reduceAction2));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ reduceAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ reduceAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ reduceAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ reduceAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ reduceAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ reduceAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(reduceAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ reduceAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ reduceAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ reduceAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ reduceAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ reduceAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ reduceAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(reduceAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ reduceAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ reduceAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ reduceAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ reduceAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ reduceAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ reduceAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ reduceAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(reduceAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ reduceAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ reduceAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ reduceAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ reduceAction.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ reduceAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(reduceAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ reduceAction.getInPartitions().add(activityPartition);
+ assertSuperset(reduceAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ reduceAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ reduceAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ EList<InputPin> inputPins = reduceAction.getInputs();
+ EList<InputPin> inputPins2 = reduceAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ reduceAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ reduceAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ reduceAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ reduceAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ reduceAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(
+ reduceAction.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ reduceAction.getLocalPostconditions().add(constraint);
+ assertSuperset(reduceAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ reduceAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ reduceAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ reduceAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ reduceAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ reduceAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ reduceAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ reduceAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(
+ reduceAction.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ reduceAction.getLocalPreconditions().add(constraint);
+ assertSuperset(reduceAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ reduceAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ reduceAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ EList<OutputPin> outputPins = reduceAction.getOutputs();
+ EList<OutputPin> outputPins2 = reduceAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testCollection() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ reduceAction.setCollection(inputPin);
+ assertSuperset(reduceAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ reduceAction.setCollection(valuePin);
+ assertSuperset(reduceAction.getInputs().contains(valuePin));
+
+ ReduceAction reduceAction2 = UML.createReduceAction();
+ assertValid(reduceAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ reduceAction2.setCollection(actionInputPin);
+ assertSuperset(reduceAction2.getInputs().contains(actionInputPin));
+ }
+
+ public void testReducer() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ reduceAction.setReducer(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ reduceAction.setReducer(stateMachine);
+ }
+
+ public void testResult() {
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ reduceAction.setResult(outputPin);
+ assertSuperset(reduceAction.getOutputs().contains(outputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RegionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RegionTest.java
new file mode 100755
index 00000000..5f766613
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RegionTest.java
@@ -0,0 +1,272 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.Transition;
+
+/**
+ * @author Eike Stepper
+ */
+public class RegionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Region region = UML.createRegion();
+ assertValid(region);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ region.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Region region = UML.createRegion();
+ assertValid(region);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ region.getOwnedComments().add(comment);
+ assertSuperset(region.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Region region = UML.createRegion();
+ assertValid(region);
+ EList<Element> elements = region.getOwnedElements();
+ EList<Element> elements2 = region.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Region region = UML.createRegion();
+ assertValid(region);
+ EList<Dependency> dependencys = region.getClientDependencies();
+ EList<Dependency> dependencys2 = region.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Region region = UML.createRegion();
+ assertValid(region);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ region.setNameExpression(stringExpression);
+ assertSuperset(region.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Region region = UML.createRegion();
+ assertValid(region);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ region.getOwnedRules().add(intervalConstraint);
+ assertSuperset(region.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ region.getOwnedRules().add(timeConstraint);
+ assertSuperset(region.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ region.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ region.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ region.getOwnedRules().add(constraint);
+ assertSuperset(region.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ region.getOwnedRules().add(durationConstraint);
+ assertSuperset(region.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Region region = UML.createRegion();
+ assertValid(region);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ region.getElementImports().add(elementImport);
+ assertSuperset(region.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Region region = UML.createRegion();
+ assertValid(region);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ region.getPackageImports().add(packageImport);
+ assertSuperset(region.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Region region = UML.createRegion();
+ assertValid(region);
+ EList<NamedElement> namedElements = region.getOwnedMembers();
+ EList<NamedElement> namedElements2 = region.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Region region = UML.createRegion();
+ assertValid(region);
+ EList<PackageableElement> packageableElements = region
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = region
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Region region = UML.createRegion();
+ assertValid(region);
+ EList<NamedElement> namedElements = region.getMembers();
+ EList<NamedElement> namedElements2 = region.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Region region = UML.createRegion();
+ assertValid(region);
+ EList<RedefinableElement> redefinableElements = region
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = region
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Region region = UML.createRegion();
+ assertValid(region);
+ EList<Classifier> classifiers = region.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = region.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testExtendedRegion() {
+ Region region = UML.createRegion();
+ assertValid(region);
+
+ Region region2 = UML.createRegion();
+ assertValid(region2);
+ region.setExtendedRegion(region2);
+ assertSuperset(region.getRedefinedElements().contains(region2));
+ }
+
+ public void testState() {
+ Region region = UML.createRegion();
+ assertValid(region);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ region.setState(finalState);
+ assertSuperset(region.getNamespace() == finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ region.setState(state);
+ assertSuperset(region.getNamespace() == state);
+ }
+
+ public void testStateMachine() {
+ Region region = UML.createRegion();
+ assertValid(region);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ region.setStateMachine(protocolStateMachine);
+ assertSuperset(region.getNamespace() == protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ region.setStateMachine(stateMachine);
+ assertSuperset(region.getNamespace() == stateMachine);
+ }
+
+ public void testTransition() {
+ Region region = UML.createRegion();
+ assertValid(region);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ region.getTransitions().add(transition);
+ assertSuperset(region.getOwnedMembers().contains(transition));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ region.getTransitions().add(protocolTransition);
+ assertSuperset(region.getOwnedMembers().contains(protocolTransition));
+ }
+
+ public void testSubvertex() {
+ Region region = UML.createRegion();
+ assertValid(region);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ region.getSubvertices().add(pseudostate);
+ assertSuperset(region.getOwnedMembers().contains(pseudostate));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ region.getSubvertices().add(connectionPointReference);
+ assertSuperset(
+ region.getOwnedMembers().contains(connectionPointReference));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ region.getSubvertices().add(finalState);
+ assertSuperset(region.getOwnedMembers().contains(finalState));
+
+ State state = UML.createState();
+ assertValid(state);
+ region.getSubvertices().add(state);
+ assertSuperset(region.getOwnedMembers().contains(state));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RemoveStructuralFeatureValueActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RemoveStructuralFeatureValueActionTest.java
new file mode 100755
index 00000000..d610e35a
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RemoveStructuralFeatureValueActionTest.java
@@ -0,0 +1,956 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class RemoveStructuralFeatureValueActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ removeStructuralFeatureValueAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ removeStructuralFeatureValueAction.getOwnedComments().add(comment);
+ assertSuperset(removeStructuralFeatureValueAction.getOwnedElements()
+ .contains(comment));
+ }
+
+ public void testOwnedElement() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ EList<Element> elements = removeStructuralFeatureValueAction
+ .getOwnedElements();
+ EList<Element> elements2 = removeStructuralFeatureValueAction
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ EList<Dependency> dependencys = removeStructuralFeatureValueAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = removeStructuralFeatureValueAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ removeStructuralFeatureValueAction.setNameExpression(stringExpression);
+ assertSuperset(removeStructuralFeatureValueAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ EList<RedefinableElement> redefinableElements = removeStructuralFeatureValueAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = removeStructuralFeatureValueAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ EList<Classifier> classifiers = removeStructuralFeatureValueAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = removeStructuralFeatureValueAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ EList<ActivityGroup> activityGroups = removeStructuralFeatureValueAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = removeStructuralFeatureValueAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ removeStructuralFeatureValueAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(removeStructuralFeatureValueAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ removeStructuralFeatureValueAction.setInStructuredNode(loopNode);
+ assertSuperset(removeStructuralFeatureValueAction.getInGroups()
+ .contains(loopNode));
+ assertSuperset(
+ removeStructuralFeatureValueAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ removeStructuralFeatureValueAction.setInStructuredNode(expansionRegion);
+ assertSuperset(removeStructuralFeatureValueAction.getInGroups()
+ .contains(expansionRegion));
+ assertSuperset(
+ removeStructuralFeatureValueAction.getOwner() == expansionRegion);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction2 = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ removeStructuralFeatureValueAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(removeStructuralFeatureValueAction2.getInGroups()
+ .contains(sequenceNode));
+ assertSuperset(
+ removeStructuralFeatureValueAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ removeStructuralFeatureValueAction2
+ .setInStructuredNode(structuredActivityNode);
+ assertSuperset(removeStructuralFeatureValueAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(removeStructuralFeatureValueAction2
+ .getOwner() == structuredActivityNode);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction3 = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ removeStructuralFeatureValueAction3
+ .setInStructuredNode(conditionalNode);
+ assertSuperset(removeStructuralFeatureValueAction3.getInGroups()
+ .contains(conditionalNode));
+ assertSuperset(
+ removeStructuralFeatureValueAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ removeStructuralFeatureValueAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ removeStructuralFeatureValueAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ removeStructuralFeatureValueAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ removeStructuralFeatureValueAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readSelfAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ removeStructuralFeatureValueAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(createLinkObjectAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(sendSignalAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readLinkAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(clearAssociationAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(flowFinalNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(expansionRegion);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(structuredActivityNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ removeStructuralFeatureValueAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(decisionNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(callBehaviorAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(conditionalNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readExtentAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(actionInputPin);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(activityParameterNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readVariableAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(clearVariableAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction2 = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction2);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction2);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction2));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(createLinkAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(reclassifyObjectAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(dataStoreNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(sendObjectAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(reduceAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(acceptEventAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(destroyLinkAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(expansionNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(testIdentityAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ removeStructuralFeatureValueAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(centralBufferNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(broadcastSignalAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(raiseExceptionAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(activityFinalNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(callOperationAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(acceptCallAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(addVariableValueAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readLinkObjectEndAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(unmarshallAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(opaqueAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(sequenceNode);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(createObjectAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(destroyObjectAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ removeStructuralFeatureValueAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(removeStructuralFeatureValueAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ removeStructuralFeatureValueAction.getInPartitions()
+ .add(activityPartition);
+ assertSuperset(removeStructuralFeatureValueAction.getInGroups()
+ .contains(activityPartition));
+ }
+
+ public void testHandler() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ removeStructuralFeatureValueAction.getHandlers().add(exceptionHandler);
+ assertSuperset(removeStructuralFeatureValueAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ EList<InputPin> inputPins = removeStructuralFeatureValueAction
+ .getInputs();
+ EList<InputPin> inputPins2 = removeStructuralFeatureValueAction
+ .getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ removeStructuralFeatureValueAction.getLocalPostconditions()
+ .add(intervalConstraint);
+ assertSuperset(removeStructuralFeatureValueAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ removeStructuralFeatureValueAction.getLocalPostconditions()
+ .add(timeConstraint);
+ assertSuperset(removeStructuralFeatureValueAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ removeStructuralFeatureValueAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(removeStructuralFeatureValueAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ removeStructuralFeatureValueAction.getLocalPostconditions()
+ .add(constraint);
+ assertSuperset(removeStructuralFeatureValueAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ removeStructuralFeatureValueAction.getLocalPostconditions()
+ .add(durationConstraint);
+ assertSuperset(removeStructuralFeatureValueAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ removeStructuralFeatureValueAction.getLocalPreconditions()
+ .add(intervalConstraint);
+ assertSuperset(removeStructuralFeatureValueAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ removeStructuralFeatureValueAction.getLocalPreconditions()
+ .add(timeConstraint);
+ assertSuperset(removeStructuralFeatureValueAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ removeStructuralFeatureValueAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(removeStructuralFeatureValueAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ removeStructuralFeatureValueAction.getLocalPreconditions()
+ .add(constraint);
+ assertSuperset(removeStructuralFeatureValueAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ removeStructuralFeatureValueAction.getLocalPreconditions()
+ .add(durationConstraint);
+ assertSuperset(removeStructuralFeatureValueAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ EList<OutputPin> outputPins = removeStructuralFeatureValueAction
+ .getOutputs();
+ EList<OutputPin> outputPins2 = removeStructuralFeatureValueAction
+ .getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testObject() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ removeStructuralFeatureValueAction.setObject(inputPin);
+ assertSuperset(
+ removeStructuralFeatureValueAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ removeStructuralFeatureValueAction.setObject(valuePin);
+ assertSuperset(
+ removeStructuralFeatureValueAction.getInputs().contains(valuePin));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction2 = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ removeStructuralFeatureValueAction2.setObject(actionInputPin);
+ assertSuperset(removeStructuralFeatureValueAction2.getInputs()
+ .contains(actionInputPin));
+ }
+
+ public void testStructuralFeature() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ removeStructuralFeatureValueAction.setStructuralFeature(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ removeStructuralFeatureValueAction.setStructuralFeature(extensionEnd);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction2 = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ removeStructuralFeatureValueAction2.setStructuralFeature(property);
+ }
+
+ public void testResult() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ removeStructuralFeatureValueAction.setResult(outputPin);
+ assertSuperset(removeStructuralFeatureValueAction.getOutputs()
+ .contains(outputPin));
+ }
+
+ public void testValue() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ removeStructuralFeatureValueAction.setValue(inputPin);
+ assertSuperset(
+ removeStructuralFeatureValueAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ removeStructuralFeatureValueAction.setValue(valuePin);
+ assertSuperset(
+ removeStructuralFeatureValueAction.getInputs().contains(valuePin));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction2 = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ removeStructuralFeatureValueAction2.setValue(actionInputPin);
+ assertSuperset(removeStructuralFeatureValueAction2.getInputs()
+ .contains(actionInputPin));
+ }
+
+ public void testRemoveAt() {
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ removeStructuralFeatureValueAction.setRemoveAt(inputPin);
+ assertSuperset(
+ removeStructuralFeatureValueAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ removeStructuralFeatureValueAction.setRemoveAt(valuePin);
+ assertSuperset(
+ removeStructuralFeatureValueAction.getInputs().contains(valuePin));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction2 = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ removeStructuralFeatureValueAction2.setRemoveAt(actionInputPin);
+ assertSuperset(removeStructuralFeatureValueAction2.getInputs()
+ .contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RemoveVariableValueActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RemoveVariableValueActionTest.java
new file mode 100755
index 00000000..12b894fc
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/RemoveVariableValueActionTest.java
@@ -0,0 +1,856 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class RemoveVariableValueActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ removeVariableValueAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ removeVariableValueAction.getOwnedComments().add(comment);
+ assertSuperset(
+ removeVariableValueAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ EList<Element> elements = removeVariableValueAction.getOwnedElements();
+ EList<Element> elements2 = removeVariableValueAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ EList<Dependency> dependencys = removeVariableValueAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = removeVariableValueAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ removeVariableValueAction.setNameExpression(stringExpression);
+ assertSuperset(removeVariableValueAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ EList<RedefinableElement> redefinableElements = removeVariableValueAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = removeVariableValueAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ EList<Classifier> classifiers = removeVariableValueAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = removeVariableValueAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ EList<ActivityGroup> activityGroups = removeVariableValueAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = removeVariableValueAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ removeVariableValueAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(removeVariableValueAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ removeVariableValueAction.setInStructuredNode(loopNode);
+ assertSuperset(
+ removeVariableValueAction.getInGroups().contains(loopNode));
+ assertSuperset(removeVariableValueAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ removeVariableValueAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ removeVariableValueAction.getInGroups().contains(expansionRegion));
+ assertSuperset(removeVariableValueAction.getOwner() == expansionRegion);
+
+ RemoveVariableValueAction removeVariableValueAction2 = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ removeVariableValueAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ removeVariableValueAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(removeVariableValueAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ removeVariableValueAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(removeVariableValueAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ removeVariableValueAction2.getOwner() == structuredActivityNode);
+
+ RemoveVariableValueAction removeVariableValueAction3 = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ removeVariableValueAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ removeVariableValueAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(
+ removeVariableValueAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ removeVariableValueAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ removeVariableValueAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ removeVariableValueAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ removeVariableValueAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction2 = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction2);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(removeVariableValueAction2);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(removeVariableValueAction2));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ removeVariableValueAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ removeVariableValueAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ removeVariableValueAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(createLinkObjectAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ removeVariableValueAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ removeVariableValueAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ removeVariableValueAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(clearAssociationAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ removeVariableValueAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ removeVariableValueAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(structuredActivityNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ removeVariableValueAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ removeVariableValueAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ removeVariableValueAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ removeVariableValueAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ removeVariableValueAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ removeVariableValueAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ removeVariableValueAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(activityParameterNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ removeVariableValueAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ removeVariableValueAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ removeVariableValueAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(reclassifyObjectAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ removeVariableValueAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ removeVariableValueAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ removeVariableValueAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ removeVariableValueAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ removeVariableValueAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ removeVariableValueAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ removeVariableValueAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ removeVariableValueAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ removeVariableValueAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ removeVariableValueAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(broadcastSignalAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ removeVariableValueAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ removeVariableValueAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ removeVariableValueAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ removeVariableValueAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ removeVariableValueAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(addVariableValueAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(readLinkObjectEndAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ removeVariableValueAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ removeVariableValueAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ removeVariableValueAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ removeVariableValueAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ removeVariableValueAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ removeVariableValueAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ removeVariableValueAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(removeVariableValueAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ removeVariableValueAction.getInPartitions().add(activityPartition);
+ assertSuperset(removeVariableValueAction.getInGroups()
+ .contains(activityPartition));
+ }
+
+ public void testHandler() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ removeVariableValueAction.getHandlers().add(exceptionHandler);
+ assertSuperset(removeVariableValueAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ EList<InputPin> inputPins = removeVariableValueAction.getInputs();
+ EList<InputPin> inputPins2 = removeVariableValueAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ removeVariableValueAction.getLocalPostconditions()
+ .add(intervalConstraint);
+ assertSuperset(removeVariableValueAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ removeVariableValueAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(removeVariableValueAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ removeVariableValueAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(removeVariableValueAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ removeVariableValueAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ removeVariableValueAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ removeVariableValueAction.getLocalPostconditions()
+ .add(durationConstraint);
+ assertSuperset(removeVariableValueAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ removeVariableValueAction.getLocalPreconditions()
+ .add(intervalConstraint);
+ assertSuperset(removeVariableValueAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ removeVariableValueAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(removeVariableValueAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ removeVariableValueAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(removeVariableValueAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ removeVariableValueAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ removeVariableValueAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ removeVariableValueAction.getLocalPreconditions()
+ .add(durationConstraint);
+ assertSuperset(removeVariableValueAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ EList<OutputPin> outputPins = removeVariableValueAction.getOutputs();
+ EList<OutputPin> outputPins2 = removeVariableValueAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testVariable() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ removeVariableValueAction.setVariable(variable);
+ }
+
+ public void testValue() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ removeVariableValueAction.setValue(inputPin);
+ assertSuperset(
+ removeVariableValueAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ removeVariableValueAction.setValue(valuePin);
+ assertSuperset(
+ removeVariableValueAction.getInputs().contains(valuePin));
+
+ RemoveVariableValueAction removeVariableValueAction2 = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ removeVariableValueAction2.setValue(actionInputPin);
+ assertSuperset(
+ removeVariableValueAction2.getInputs().contains(actionInputPin));
+ }
+
+ public void testRemoveAt() {
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ removeVariableValueAction.setRemoveAt(inputPin);
+ assertSuperset(
+ removeVariableValueAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ removeVariableValueAction.setRemoveAt(valuePin);
+ assertSuperset(
+ removeVariableValueAction.getInputs().contains(valuePin));
+
+ RemoveVariableValueAction removeVariableValueAction2 = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ removeVariableValueAction2.setRemoveAt(actionInputPin);
+ assertSuperset(
+ removeVariableValueAction2.getInputs().contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReplyActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReplyActionTest.java
new file mode 100755
index 00000000..d20a0b9d
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ReplyActionTest.java
@@ -0,0 +1,772 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ReplyActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ replyAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ replyAction.getOwnedComments().add(comment);
+ assertSuperset(replyAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ EList<Element> elements = replyAction.getOwnedElements();
+ EList<Element> elements2 = replyAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ EList<Dependency> dependencys = replyAction.getClientDependencies();
+ EList<Dependency> dependencys2 = replyAction.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ replyAction.setNameExpression(stringExpression);
+ assertSuperset(
+ replyAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ EList<RedefinableElement> redefinableElements = replyAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = replyAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ EList<Classifier> classifiers = replyAction.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = replyAction.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ EList<ActivityGroup> activityGroups = replyAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = replyAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ replyAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ replyAction.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ replyAction.setInStructuredNode(loopNode);
+ assertSuperset(replyAction.getInGroups().contains(loopNode));
+ assertSuperset(replyAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ replyAction.setInStructuredNode(expansionRegion);
+ assertSuperset(replyAction.getInGroups().contains(expansionRegion));
+ assertSuperset(replyAction.getOwner() == expansionRegion);
+
+ ReplyAction replyAction2 = UML.createReplyAction();
+ assertValid(replyAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ replyAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(replyAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(replyAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ replyAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ replyAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(replyAction2.getOwner() == structuredActivityNode);
+
+ ReplyAction replyAction3 = UML.createReplyAction();
+ assertValid(replyAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ replyAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(replyAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(replyAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ replyAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ replyAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ replyAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ replyAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ replyAction.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ replyAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ replyAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ replyAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(replyAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ replyAction.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ replyAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(replyAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ replyAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ replyAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ replyAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction2 = UML.createReplyAction();
+ assertValid(replyAction2);
+ replyAction.getRedefinedNodes().add(replyAction2);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(replyAction2));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ replyAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ replyAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ replyAction.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ replyAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ replyAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ replyAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(replyAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ replyAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ replyAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(replyAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ replyAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ replyAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ replyAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ replyAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ replyAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ replyAction.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ replyAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ replyAction.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ replyAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ replyAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ replyAction.getRedefinedNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ replyAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ replyAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ replyAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ replyAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ replyAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ replyAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ replyAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ replyAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ replyAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ replyAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ replyAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(replyAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ replyAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ replyAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ replyAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ replyAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ replyAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ replyAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(replyAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ replyAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ replyAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ replyAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ replyAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ replyAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ replyAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ replyAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(replyAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ replyAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ replyAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ replyAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ replyAction.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ replyAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(replyAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ replyAction.getInPartitions().add(activityPartition);
+ assertSuperset(replyAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ replyAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ replyAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ EList<InputPin> inputPins = replyAction.getInputs();
+ EList<InputPin> inputPins2 = replyAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ replyAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ replyAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ replyAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(replyAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ replyAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(
+ replyAction.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ replyAction.getLocalPostconditions().add(constraint);
+ assertSuperset(replyAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ replyAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ replyAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ replyAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ replyAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ replyAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(replyAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ replyAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(
+ replyAction.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ replyAction.getLocalPreconditions().add(constraint);
+ assertSuperset(replyAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ replyAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ replyAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ EList<OutputPin> outputPins = replyAction.getOutputs();
+ EList<OutputPin> outputPins2 = replyAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testReplyToCall() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ replyAction.setReplyToCall(trigger);
+ }
+
+ public void testReplyValue() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ replyAction.getReplyValues().add(inputPin);
+ assertSuperset(replyAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ replyAction.getReplyValues().add(valuePin);
+ assertSuperset(replyAction.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ replyAction.getReplyValues().add(actionInputPin);
+ assertSuperset(replyAction.getInputs().contains(actionInputPin));
+ }
+
+ public void testReturnInformation() {
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ replyAction.setReturnInformation(inputPin);
+ assertSuperset(replyAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ replyAction.setReturnInformation(valuePin);
+ assertSuperset(replyAction.getInputs().contains(valuePin));
+
+ ReplyAction replyAction2 = UML.createReplyAction();
+ assertValid(replyAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ replyAction2.setReturnInformation(actionInputPin);
+ assertSuperset(replyAction2.getInputs().contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SendObjectActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SendObjectActionTest.java
new file mode 100755
index 00000000..87450c2a
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SendObjectActionTest.java
@@ -0,0 +1,802 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class SendObjectActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ sendObjectAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ sendObjectAction.getOwnedComments().add(comment);
+ assertSuperset(sendObjectAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ EList<Element> elements = sendObjectAction.getOwnedElements();
+ EList<Element> elements2 = sendObjectAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ EList<Dependency> dependencys = sendObjectAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = sendObjectAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ sendObjectAction.setNameExpression(stringExpression);
+ assertSuperset(
+ sendObjectAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ EList<RedefinableElement> redefinableElements = sendObjectAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = sendObjectAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ EList<Classifier> classifiers = sendObjectAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = sendObjectAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ EList<ActivityGroup> activityGroups = sendObjectAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = sendObjectAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ sendObjectAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(sendObjectAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ sendObjectAction.setInStructuredNode(loopNode);
+ assertSuperset(sendObjectAction.getInGroups().contains(loopNode));
+ assertSuperset(sendObjectAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ sendObjectAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ sendObjectAction.getInGroups().contains(expansionRegion));
+ assertSuperset(sendObjectAction.getOwner() == expansionRegion);
+
+ SendObjectAction sendObjectAction2 = UML.createSendObjectAction();
+ assertValid(sendObjectAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ sendObjectAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(sendObjectAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(sendObjectAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ sendObjectAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ sendObjectAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(sendObjectAction2.getOwner() == structuredActivityNode);
+
+ SendObjectAction sendObjectAction3 = UML.createSendObjectAction();
+ assertValid(sendObjectAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ sendObjectAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ sendObjectAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(sendObjectAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ sendObjectAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ sendObjectAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ sendObjectAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ sendObjectAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ sendObjectAction.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ sendObjectAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ sendObjectAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ sendObjectAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ sendObjectAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ sendObjectAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ sendObjectAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ sendObjectAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ sendObjectAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ sendObjectAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ sendObjectAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ sendObjectAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ sendObjectAction.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ sendObjectAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ sendObjectAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ sendObjectAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ sendObjectAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ sendObjectAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ sendObjectAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ sendObjectAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ sendObjectAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ sendObjectAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ sendObjectAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ sendObjectAction.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ sendObjectAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ sendObjectAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ sendObjectAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ sendObjectAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ sendObjectAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ sendObjectAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ sendObjectAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ sendObjectAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction2 = UML.createSendObjectAction();
+ assertValid(sendObjectAction2);
+ sendObjectAction.getRedefinedNodes().add(sendObjectAction2);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(sendObjectAction2));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ sendObjectAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ sendObjectAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ sendObjectAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ sendObjectAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ sendObjectAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ sendObjectAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ sendObjectAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ sendObjectAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ sendObjectAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ sendObjectAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ sendObjectAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ sendObjectAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ sendObjectAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ sendObjectAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ sendObjectAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ sendObjectAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ sendObjectAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ sendObjectAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ sendObjectAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ sendObjectAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ sendObjectAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ sendObjectAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ sendObjectAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ sendObjectAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ sendObjectAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(sendObjectAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ sendObjectAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ sendObjectAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ sendObjectAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ sendObjectAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ EList<InputPin> inputPins = sendObjectAction.getInputs();
+ EList<InputPin> inputPins2 = sendObjectAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ sendObjectAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ sendObjectAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ sendObjectAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ sendObjectAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ sendObjectAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(sendObjectAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ sendObjectAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ sendObjectAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ sendObjectAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ sendObjectAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ sendObjectAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ sendObjectAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ sendObjectAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ sendObjectAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ sendObjectAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(sendObjectAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ sendObjectAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ sendObjectAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ sendObjectAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ sendObjectAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ EList<OutputPin> outputPins = sendObjectAction.getOutputs();
+ EList<OutputPin> outputPins2 = sendObjectAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testArgument() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ sendObjectAction.getArguments().add(inputPin);
+ }
+
+ public void testOnPort() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ sendObjectAction.setOnPort(port);
+ }
+
+ public void testRequest() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ sendObjectAction.setRequest(inputPin);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ sendObjectAction.setRequest(valuePin);
+
+ SendObjectAction sendObjectAction2 = UML.createSendObjectAction();
+ assertValid(sendObjectAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ sendObjectAction2.setRequest(actionInputPin);
+ }
+
+ public void testTarget() {
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ sendObjectAction.setTarget(inputPin);
+ assertSuperset(sendObjectAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ sendObjectAction.setTarget(valuePin);
+ assertSuperset(sendObjectAction.getInputs().contains(valuePin));
+
+ SendObjectAction sendObjectAction2 = UML.createSendObjectAction();
+ assertValid(sendObjectAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ sendObjectAction2.setTarget(actionInputPin);
+ assertSuperset(sendObjectAction2.getInputs().contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SendSignalActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SendSignalActionTest.java
new file mode 100755
index 00000000..a4b5f944
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SendSignalActionTest.java
@@ -0,0 +1,803 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class SendSignalActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ sendSignalAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ sendSignalAction.getOwnedComments().add(comment);
+ assertSuperset(sendSignalAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ EList<Element> elements = sendSignalAction.getOwnedElements();
+ EList<Element> elements2 = sendSignalAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ EList<Dependency> dependencys = sendSignalAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = sendSignalAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ sendSignalAction.setNameExpression(stringExpression);
+ assertSuperset(
+ sendSignalAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ EList<RedefinableElement> redefinableElements = sendSignalAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = sendSignalAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ EList<Classifier> classifiers = sendSignalAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = sendSignalAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ EList<ActivityGroup> activityGroups = sendSignalAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = sendSignalAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ sendSignalAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(sendSignalAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ sendSignalAction.setInStructuredNode(loopNode);
+ assertSuperset(sendSignalAction.getInGroups().contains(loopNode));
+ assertSuperset(sendSignalAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ sendSignalAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ sendSignalAction.getInGroups().contains(expansionRegion));
+ assertSuperset(sendSignalAction.getOwner() == expansionRegion);
+
+ SendSignalAction sendSignalAction2 = UML.createSendSignalAction();
+ assertValid(sendSignalAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ sendSignalAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(sendSignalAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(sendSignalAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ sendSignalAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ sendSignalAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(sendSignalAction2.getOwner() == structuredActivityNode);
+
+ SendSignalAction sendSignalAction3 = UML.createSendSignalAction();
+ assertValid(sendSignalAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ sendSignalAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ sendSignalAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(sendSignalAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ sendSignalAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ sendSignalAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ sendSignalAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ sendSignalAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ sendSignalAction.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ sendSignalAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ sendSignalAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ sendSignalAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ sendSignalAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ sendSignalAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ sendSignalAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction2 = UML.createSendSignalAction();
+ assertValid(sendSignalAction2);
+ sendSignalAction.getRedefinedNodes().add(sendSignalAction2);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(sendSignalAction2));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ sendSignalAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ sendSignalAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ sendSignalAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ sendSignalAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ sendSignalAction.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ sendSignalAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ sendSignalAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ sendSignalAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ sendSignalAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ sendSignalAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ sendSignalAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ sendSignalAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ sendSignalAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ sendSignalAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ sendSignalAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ sendSignalAction.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ sendSignalAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ sendSignalAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ sendSignalAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ sendSignalAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ sendSignalAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ sendSignalAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ sendSignalAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ sendSignalAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ sendSignalAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ sendSignalAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ sendSignalAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ sendSignalAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ sendSignalAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ sendSignalAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ sendSignalAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ sendSignalAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ sendSignalAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ sendSignalAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ sendSignalAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ sendSignalAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ sendSignalAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ sendSignalAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ sendSignalAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ sendSignalAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ sendSignalAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ sendSignalAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ sendSignalAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ sendSignalAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ sendSignalAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ sendSignalAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ sendSignalAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ sendSignalAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ sendSignalAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ sendSignalAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(sendSignalAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ sendSignalAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ sendSignalAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ sendSignalAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ sendSignalAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ EList<InputPin> inputPins = sendSignalAction.getInputs();
+ EList<InputPin> inputPins2 = sendSignalAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ sendSignalAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ sendSignalAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ sendSignalAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ sendSignalAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ sendSignalAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(sendSignalAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ sendSignalAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ sendSignalAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ sendSignalAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ sendSignalAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ sendSignalAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ sendSignalAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ sendSignalAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ sendSignalAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ sendSignalAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(sendSignalAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ sendSignalAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ sendSignalAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ sendSignalAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ sendSignalAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ EList<OutputPin> outputPins = sendSignalAction.getOutputs();
+ EList<OutputPin> outputPins2 = sendSignalAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testArgument() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ sendSignalAction.getArguments().add(inputPin);
+ assertSuperset(sendSignalAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ sendSignalAction.getArguments().add(valuePin);
+ assertSuperset(sendSignalAction.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ sendSignalAction.getArguments().add(actionInputPin);
+ assertSuperset(sendSignalAction.getInputs().contains(actionInputPin));
+ }
+
+ public void testOnPort() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ sendSignalAction.setOnPort(port);
+ }
+
+ public void testSignal() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ sendSignalAction.setSignal(signal);
+ }
+
+ public void testTarget() {
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ sendSignalAction.setTarget(inputPin);
+ assertSuperset(sendSignalAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ sendSignalAction.setTarget(valuePin);
+ assertSuperset(sendSignalAction.getInputs().contains(valuePin));
+
+ SendSignalAction sendSignalAction2 = UML.createSendSignalAction();
+ assertValid(sendSignalAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ sendSignalAction2.setTarget(actionInputPin);
+ assertSuperset(sendSignalAction2.getInputs().contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SequenceNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SequenceNodeTest.java
new file mode 100755
index 00000000..e024ce99
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SequenceNodeTest.java
@@ -0,0 +1,1085 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class SequenceNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ sequenceNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ sequenceNode.getOwnedComments().add(comment);
+ assertSuperset(sequenceNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ EList<Element> elements = sequenceNode.getOwnedElements();
+ EList<Element> elements2 = sequenceNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ EList<Dependency> dependencys = sequenceNode.getClientDependencies();
+ EList<Dependency> dependencys2 = sequenceNode.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ sequenceNode.setNameExpression(stringExpression);
+ assertSuperset(
+ sequenceNode.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ EList<RedefinableElement> redefinableElements = sequenceNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = sequenceNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ EList<Classifier> classifiers = sequenceNode.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = sequenceNode.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ EList<ActivityGroup> activityGroups = sequenceNode.getInGroups();
+ EList<ActivityGroup> activityGroups2 = sequenceNode.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ sequenceNode.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(
+ sequenceNode.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ sequenceNode.setInStructuredNode(loopNode);
+ assertSuperset(sequenceNode.getInGroups().contains(loopNode));
+ assertSuperset(sequenceNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ sequenceNode.setInStructuredNode(expansionRegion);
+ assertSuperset(sequenceNode.getInGroups().contains(expansionRegion));
+ assertSuperset(sequenceNode.getOwner() == expansionRegion);
+
+ SequenceNode sequenceNode2 = UML.createSequenceNode();
+ assertValid(sequenceNode2);
+
+ SequenceNode sequenceNode3 = UML.createSequenceNode();
+ assertValid(sequenceNode3);
+ sequenceNode2.setInStructuredNode(sequenceNode3);
+ assertSuperset(sequenceNode2.getInGroups().contains(sequenceNode3));
+ assertSuperset(sequenceNode2.getOwner() == sequenceNode3);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ sequenceNode2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ sequenceNode2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(sequenceNode2.getOwner() == structuredActivityNode);
+
+ SequenceNode sequenceNode4 = UML.createSequenceNode();
+ assertValid(sequenceNode4);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ sequenceNode4.setInStructuredNode(conditionalNode);
+ assertSuperset(sequenceNode4.getInGroups().contains(conditionalNode));
+ assertSuperset(sequenceNode4.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ sequenceNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ sequenceNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ sequenceNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ sequenceNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ sequenceNode.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ sequenceNode.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ sequenceNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ sequenceNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(sequenceNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ sequenceNode.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ sequenceNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(sequenceNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ sequenceNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ sequenceNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ sequenceNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ sequenceNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ sequenceNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ sequenceNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ sequenceNode.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ sequenceNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ sequenceNode.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ sequenceNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(sequenceNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ sequenceNode.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ sequenceNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(sequenceNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ sequenceNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ sequenceNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ sequenceNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ sequenceNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ sequenceNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ sequenceNode.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ sequenceNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ sequenceNode.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ sequenceNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ sequenceNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ sequenceNode.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ sequenceNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ sequenceNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ sequenceNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ sequenceNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ sequenceNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ sequenceNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ sequenceNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ sequenceNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ sequenceNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ sequenceNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ sequenceNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(sequenceNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ sequenceNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ sequenceNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ sequenceNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ sequenceNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ sequenceNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ sequenceNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(sequenceNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ sequenceNode.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ sequenceNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ sequenceNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ sequenceNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ sequenceNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ sequenceNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ sequenceNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(sequenceNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode2 = UML.createSequenceNode();
+ assertValid(sequenceNode2);
+ sequenceNode.getRedefinedNodes().add(sequenceNode2);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(sequenceNode2));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ sequenceNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ sequenceNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ sequenceNode.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ sequenceNode.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(sequenceNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ sequenceNode.getInPartitions().add(activityPartition);
+ assertSuperset(sequenceNode.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ sequenceNode.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ sequenceNode.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ EList<InputPin> inputPins = sequenceNode.getInputs();
+ EList<InputPin> inputPins2 = sequenceNode.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ sequenceNode.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ sequenceNode.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ sequenceNode.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ sequenceNode.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ sequenceNode.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(
+ sequenceNode.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ sequenceNode.getLocalPostconditions().add(constraint);
+ assertSuperset(sequenceNode.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ sequenceNode.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ sequenceNode.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ sequenceNode.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ sequenceNode.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ sequenceNode.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ sequenceNode.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ sequenceNode.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(
+ sequenceNode.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ sequenceNode.getLocalPreconditions().add(constraint);
+ assertSuperset(sequenceNode.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ sequenceNode.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ sequenceNode.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ EList<OutputPin> outputPins = sequenceNode.getOutputs();
+ EList<OutputPin> outputPins2 = sequenceNode.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testOwnedRule() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ sequenceNode.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ sequenceNode.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ sequenceNode.getOwnedRules().add(timeConstraint);
+ assertSuperset(sequenceNode.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ sequenceNode.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ sequenceNode.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ sequenceNode.getOwnedRules().add(constraint);
+ assertSuperset(sequenceNode.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ sequenceNode.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ sequenceNode.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ sequenceNode.getElementImports().add(elementImport);
+ assertSuperset(sequenceNode.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ sequenceNode.getPackageImports().add(packageImport);
+ assertSuperset(sequenceNode.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ EList<NamedElement> namedElements = sequenceNode.getOwnedMembers();
+ EList<NamedElement> namedElements2 = sequenceNode.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ EList<PackageableElement> packageableElements = sequenceNode
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = sequenceNode
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ EList<NamedElement> namedElements = sequenceNode.getMembers();
+ EList<NamedElement> namedElements2 = sequenceNode.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testContainedEdge() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ EList<ActivityEdge> activityEdges = sequenceNode.getContainedEdges();
+ EList<ActivityEdge> activityEdges2 = sequenceNode.getContainedEdges();
+ assertSame(activityEdges, activityEdges2);
+ }
+
+ public void testContainedNode() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ EList<ActivityNode> activityNodes = sequenceNode.getContainedNodes();
+ EList<ActivityNode> activityNodes2 = sequenceNode.getContainedNodes();
+ assertSame(activityNodes, activityNodes2);
+ }
+
+ public void testSubgroup() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ EList<ActivityGroup> activityGroups = sequenceNode.getSubgroups();
+ EList<ActivityGroup> activityGroups2 = sequenceNode.getSubgroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testEdge() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ sequenceNode.getEdges().add(controlFlow);
+ assertSuperset(sequenceNode.getContainedEdges().contains(controlFlow));
+ assertSuperset(sequenceNode.getOwnedElements().contains(controlFlow));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ sequenceNode.getEdges().add(objectFlow);
+ assertSuperset(sequenceNode.getContainedEdges().contains(objectFlow));
+ assertSuperset(sequenceNode.getOwnedElements().contains(objectFlow));
+ }
+
+ public void testStructuredNodeInput() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ sequenceNode.getStructuredNodeInputs().add(inputPin);
+ assertSuperset(sequenceNode.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ sequenceNode.getStructuredNodeInputs().add(valuePin);
+ assertSuperset(sequenceNode.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ sequenceNode.getStructuredNodeInputs().add(actionInputPin);
+ assertSuperset(sequenceNode.getInputs().contains(actionInputPin));
+ }
+
+ public void testStructuredNodeOutput() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ sequenceNode.getStructuredNodeOutputs().add(outputPin);
+ assertSuperset(sequenceNode.getOutputs().contains(outputPin));
+ }
+
+ public void testVariable() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ sequenceNode.getVariables().add(variable);
+ assertSuperset(sequenceNode.getOwnedMembers().contains(variable));
+ }
+
+ public void testExecutableNode() {
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ sequenceNode.getExecutableNodes().add(readIsClassifiedObjectAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ sequenceNode.getExecutableNodes().add(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ sequenceNode.getExecutableNodes().add(removeVariableValueAction);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ sequenceNode.getExecutableNodes().add(addStructuralFeatureValueAction);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ sequenceNode.getExecutableNodes().add(readVariableAction);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ sequenceNode.getExecutableNodes().add(clearVariableAction);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ sequenceNode.getExecutableNodes()
+ .add(removeStructuralFeatureValueAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ sequenceNode.getExecutableNodes().add(createLinkAction);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ sequenceNode.getExecutableNodes().add(readSelfAction);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ sequenceNode.getExecutableNodes().add(reclassifyObjectAction);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ sequenceNode.getExecutableNodes().add(readLinkObjectEndQualifierAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ sequenceNode.getExecutableNodes().add(sendObjectAction);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ sequenceNode.getExecutableNodes().add(reduceAction);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ sequenceNode.getExecutableNodes().add(createLinkObjectAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ sequenceNode.getExecutableNodes().add(acceptEventAction);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ sequenceNode.getExecutableNodes().add(destroyLinkAction);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ sequenceNode.getExecutableNodes().add(sendSignalAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ sequenceNode.getExecutableNodes().add(readLinkAction);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ sequenceNode.getExecutableNodes().add(replyAction);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ sequenceNode.getExecutableNodes().add(testIdentityAction);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ sequenceNode.getExecutableNodes().add(clearAssociationAction);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ sequenceNode.getExecutableNodes().add(broadcastSignalAction);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ sequenceNode.getExecutableNodes().add(clearStructuralFeatureAction);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ sequenceNode.getExecutableNodes().add(expansionRegion);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ sequenceNode.getExecutableNodes().add(structuredActivityNode);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ sequenceNode.getExecutableNodes().add(raiseExceptionAction);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ sequenceNode.getExecutableNodes().add(startObjectBehaviorAction);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ sequenceNode.getExecutableNodes().add(callOperationAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ sequenceNode.getExecutableNodes().add(loopNode);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ sequenceNode.getExecutableNodes().add(valueSpecificationAction);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ sequenceNode.getExecutableNodes().add(acceptCallAction);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ sequenceNode.getExecutableNodes().add(addVariableValueAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ sequenceNode.getExecutableNodes().add(readLinkObjectEndAction);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ sequenceNode.getExecutableNodes().add(unmarshallAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ sequenceNode.getExecutableNodes().add(opaqueAction);
+
+ SequenceNode sequenceNode2 = UML.createSequenceNode();
+ assertValid(sequenceNode2);
+ sequenceNode.getExecutableNodes().add(sequenceNode2);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ sequenceNode.getExecutableNodes().add(createObjectAction);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ sequenceNode.getExecutableNodes().add(destroyObjectAction);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ sequenceNode.getExecutableNodes().add(callBehaviorAction);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ sequenceNode.getExecutableNodes().add(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ sequenceNode.getExecutableNodes().add(readExtentAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ sequenceNode.getExecutableNodes().add(readStructuralFeatureAction);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SignalEventTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SignalEventTest.java
new file mode 100755
index 00000000..a475b5cc
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SignalEventTest.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+
+/**
+ * @author Eike Stepper
+ */
+public class SignalEventTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ signalEvent.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ signalEvent.getOwnedComments().add(comment);
+ assertSuperset(signalEvent.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ EList<Element> elements = signalEvent.getOwnedElements();
+ EList<Element> elements2 = signalEvent.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ EList<Dependency> dependencys = signalEvent.getClientDependencies();
+ EList<Dependency> dependencys2 = signalEvent.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ signalEvent.setNameExpression(stringExpression);
+ assertSuperset(
+ signalEvent.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ signalEvent.setOwningTemplateParameter(templateParameter);
+ assertSuperset(signalEvent.getOwner() == templateParameter);
+ assertSuperset(signalEvent.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ signalEvent.setTemplateParameter(templateParameter);
+ }
+
+ public void testSignal() {
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ signalEvent.setSignal(signal);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SignalTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SignalTest.java
new file mode 100755
index 00000000..e3fe11e6
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SignalTest.java
@@ -0,0 +1,536 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class SignalTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ signal.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ signal.getOwnedComments().add(comment);
+ assertSuperset(signal.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ EList<Element> elements = signal.getOwnedElements();
+ EList<Element> elements2 = signal.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ EList<Dependency> dependencys = signal.getClientDependencies();
+ EList<Dependency> dependencys2 = signal.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ signal.setNameExpression(stringExpression);
+ assertSuperset(signal.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ signal.getOwnedRules().add(intervalConstraint);
+ assertSuperset(signal.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ signal.getOwnedRules().add(timeConstraint);
+ assertSuperset(signal.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ signal.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ signal.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ signal.getOwnedRules().add(constraint);
+ assertSuperset(signal.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ signal.getOwnedRules().add(durationConstraint);
+ assertSuperset(signal.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ signal.getElementImports().add(elementImport);
+ assertSuperset(signal.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ signal.getPackageImports().add(packageImport);
+ assertSuperset(signal.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ EList<NamedElement> namedElements = signal.getOwnedMembers();
+ EList<NamedElement> namedElements2 = signal.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ EList<PackageableElement> packageableElements = signal
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = signal
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ EList<NamedElement> namedElements = signal.getMembers();
+ EList<NamedElement> namedElements2 = signal.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ EList<RedefinableElement> redefinableElements = signal
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = signal
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ EList<Classifier> classifiers = signal.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = signal.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ signal.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(signal.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ signal.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ signal.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ signal.getTemplateBindings().add(templateBinding);
+ assertSuperset(signal.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ signal.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(
+ signal.getOwnedElements().contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ EList<Feature> features = signal.getFeatures();
+ EList<Feature> features2 = signal.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ EList<Property> propertys = signal.getAttributes();
+ EList<Property> propertys2 = signal.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ signal.getCollaborationUses().add(collaborationUse);
+ assertSuperset(signal.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ EList<Classifier> classifiers = signal.getGenerals();
+ EList<Classifier> classifiers2 = signal.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ signal.getGeneralizations().add(generalization);
+ assertSuperset(signal.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ signal.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ EList<NamedElement> namedElements = signal.getInheritedMembers();
+ EList<NamedElement> namedElements2 = signal.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ signal.getOwnedUseCases().add(useCase);
+ assertSuperset(signal.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ signal.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ signal.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ signal.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ signal.getRedefinedClassifiers().add(activity);
+ assertSuperset(signal.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ signal.getRedefinedClassifiers().add(interface_);
+ assertSuperset(signal.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ signal.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(signal.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ signal.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ signal.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ signal.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ signal.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ signal.getRedefinedClassifiers().add(component);
+ assertSuperset(signal.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ signal.getRedefinedClassifiers().add(interaction);
+ assertSuperset(signal.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ signal.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ signal.getRedefinedElements().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ signal.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(signal.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ signal.getRedefinedClassifiers().add(association);
+ assertSuperset(signal.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ signal.getRedefinedClassifiers().add(dataType);
+ assertSuperset(signal.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ signal.getRedefinedClassifiers().add(device);
+ assertSuperset(signal.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ signal.getRedefinedClassifiers().add(extension);
+ assertSuperset(signal.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ signal.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ signal.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ signal.getRedefinedClassifiers().add(class_);
+ assertSuperset(signal.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ signal.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(signal.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ signal.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(signal.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ signal.getRedefinedClassifiers().add(actor);
+ assertSuperset(signal.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ signal.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ signal.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ signal.getRedefinedClassifiers().add(useCase);
+ assertSuperset(signal.getRedefinedElements().contains(useCase));
+
+ Signal signal2 = UML.createSignal();
+ assertValid(signal2);
+ signal.getRedefinedClassifiers().add(signal2);
+ assertSuperset(signal.getRedefinedElements().contains(signal2));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ signal.getRedefinedClassifiers().add(node);
+ assertSuperset(signal.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ signal.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(signal.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ signal.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(signal.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ signal.getRedefinedClassifiers().add(artifact);
+ assertSuperset(signal.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ signal.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(signal.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ signal.setRepresentation(collaborationUse);
+ assertSuperset(
+ signal.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ signal.getSubstitutions().add(substitution);
+ assertSuperset(signal.getOwnedElements().contains(substitution));
+ assertSuperset(signal.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ signal.getOwnedAttributes().add(port);
+ assertSuperset(signal.getAttributes().contains(port));
+ assertSuperset(signal.getOwnedMembers().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ signal.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(signal.getAttributes().contains(extensionEnd));
+ assertSuperset(signal.getOwnedMembers().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ signal.getOwnedAttributes().add(property);
+ assertSuperset(signal.getAttributes().contains(property));
+ assertSuperset(signal.getOwnedMembers().contains(property));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SlotTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SlotTest.java
new file mode 100755
index 00000000..76b08f2a
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SlotTest.java
@@ -0,0 +1,192 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+
+/**
+ * @author Eike Stepper
+ */
+public class SlotTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ slot.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ slot.getOwnedComments().add(comment);
+ assertSuperset(slot.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+ EList<Element> elements = slot.getOwnedElements();
+ EList<Element> elements2 = slot.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testDefiningFeature() {
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ slot.setDefiningFeature(port);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ slot.setDefiningFeature(extensionEnd);
+
+ Slot slot2 = UML.createSlot();
+ assertValid(slot2);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ slot2.setDefiningFeature(property);
+ }
+
+ public void testValue() {
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ slot.getValues().add(literalBoolean);
+ assertSuperset(slot.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ slot.getValues().add(interval);
+ assertSuperset(slot.getOwnedElements().contains(interval));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ slot.getValues().add(opaqueExpression);
+ assertSuperset(slot.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ slot.getValues().add(expression);
+ assertSuperset(slot.getOwnedElements().contains(expression));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ slot.getValues().add(literalReal);
+ assertSuperset(slot.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ slot.getValues().add(literalString);
+ assertSuperset(slot.getOwnedElements().contains(literalString));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ slot.getValues().add(literalNull);
+ assertSuperset(slot.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ slot.getValues().add(duration);
+ assertSuperset(slot.getOwnedElements().contains(duration));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ slot.getValues().add(literalInteger);
+ assertSuperset(slot.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ slot.getValues().add(durationInterval);
+ assertSuperset(slot.getOwnedElements().contains(durationInterval));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ slot.getValues().add(stringExpression);
+ assertSuperset(slot.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ slot.getValues().add(literalUnlimitedNatural);
+ assertSuperset(
+ slot.getOwnedElements().contains(literalUnlimitedNatural));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ slot.getValues().add(timeInterval);
+ assertSuperset(slot.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ slot.getValues().add(timeExpression);
+ assertSuperset(slot.getOwnedElements().contains(timeExpression));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ slot.getValues().add(instanceValue);
+ assertSuperset(slot.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testOwningInstance() {
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ slot.setOwningInstance(instanceSpecification);
+ assertSuperset(slot.getOwner() == instanceSpecification);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ slot.setOwningInstance(enumerationLiteral);
+ assertSuperset(slot.getOwner() == enumerationLiteral);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StartClassifierBehaviorActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StartClassifierBehaviorActionTest.java
new file mode 100755
index 00000000..c1cf6f23
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StartClassifierBehaviorActionTest.java
@@ -0,0 +1,838 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class StartClassifierBehaviorActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ startClassifierBehaviorAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ startClassifierBehaviorAction.getOwnedComments().add(comment);
+ assertSuperset(
+ startClassifierBehaviorAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ EList<Element> elements = startClassifierBehaviorAction
+ .getOwnedElements();
+ EList<Element> elements2 = startClassifierBehaviorAction
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ EList<Dependency> dependencys = startClassifierBehaviorAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = startClassifierBehaviorAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ startClassifierBehaviorAction.setNameExpression(stringExpression);
+ assertSuperset(startClassifierBehaviorAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ EList<RedefinableElement> redefinableElements = startClassifierBehaviorAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = startClassifierBehaviorAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ EList<Classifier> classifiers = startClassifierBehaviorAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = startClassifierBehaviorAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ EList<ActivityGroup> activityGroups = startClassifierBehaviorAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = startClassifierBehaviorAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ startClassifierBehaviorAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(startClassifierBehaviorAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ startClassifierBehaviorAction.setInStructuredNode(loopNode);
+ assertSuperset(
+ startClassifierBehaviorAction.getInGroups().contains(loopNode));
+ assertSuperset(startClassifierBehaviorAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ startClassifierBehaviorAction.setInStructuredNode(expansionRegion);
+ assertSuperset(startClassifierBehaviorAction.getInGroups()
+ .contains(expansionRegion));
+ assertSuperset(
+ startClassifierBehaviorAction.getOwner() == expansionRegion);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction2 = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ startClassifierBehaviorAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(startClassifierBehaviorAction2.getInGroups()
+ .contains(sequenceNode));
+ assertSuperset(
+ startClassifierBehaviorAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ startClassifierBehaviorAction2
+ .setInStructuredNode(structuredActivityNode);
+ assertSuperset(startClassifierBehaviorAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(startClassifierBehaviorAction2
+ .getOwner() == structuredActivityNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction3 = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ startClassifierBehaviorAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(startClassifierBehaviorAction3.getInGroups()
+ .contains(conditionalNode));
+ assertSuperset(
+ startClassifierBehaviorAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ startClassifierBehaviorAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ startClassifierBehaviorAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ startClassifierBehaviorAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ startClassifierBehaviorAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction2 = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction2);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction2);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction2));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ startClassifierBehaviorAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ startClassifierBehaviorAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ startClassifierBehaviorAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(createLinkObjectAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ startClassifierBehaviorAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ startClassifierBehaviorAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ startClassifierBehaviorAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(clearAssociationAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ startClassifierBehaviorAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ startClassifierBehaviorAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(structuredActivityNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ startClassifierBehaviorAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ startClassifierBehaviorAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ startClassifierBehaviorAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(callBehaviorAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ startClassifierBehaviorAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ startClassifierBehaviorAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ startClassifierBehaviorAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(activityParameterNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(readVariableAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(clearVariableAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ startClassifierBehaviorAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(reclassifyObjectAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ startClassifierBehaviorAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ startClassifierBehaviorAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ startClassifierBehaviorAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(acceptEventAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(destroyLinkAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ startClassifierBehaviorAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ startClassifierBehaviorAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(testIdentityAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ startClassifierBehaviorAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(centralBufferNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(broadcastSignalAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(raiseExceptionAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(activityFinalNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(callOperationAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ startClassifierBehaviorAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ startClassifierBehaviorAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(addVariableValueAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(readLinkObjectEndAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ startClassifierBehaviorAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ startClassifierBehaviorAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ startClassifierBehaviorAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ startClassifierBehaviorAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(createObjectAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(destroyObjectAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ startClassifierBehaviorAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(startClassifierBehaviorAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ startClassifierBehaviorAction.getInPartitions().add(activityPartition);
+ assertSuperset(startClassifierBehaviorAction.getInGroups()
+ .contains(activityPartition));
+ }
+
+ public void testHandler() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ startClassifierBehaviorAction.getHandlers().add(exceptionHandler);
+ assertSuperset(startClassifierBehaviorAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ EList<InputPin> inputPins = startClassifierBehaviorAction.getInputs();
+ EList<InputPin> inputPins2 = startClassifierBehaviorAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ startClassifierBehaviorAction.getLocalPostconditions()
+ .add(intervalConstraint);
+ assertSuperset(startClassifierBehaviorAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ startClassifierBehaviorAction.getLocalPostconditions()
+ .add(timeConstraint);
+ assertSuperset(startClassifierBehaviorAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ startClassifierBehaviorAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(startClassifierBehaviorAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ startClassifierBehaviorAction.getLocalPostconditions().add(constraint);
+ assertSuperset(startClassifierBehaviorAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ startClassifierBehaviorAction.getLocalPostconditions()
+ .add(durationConstraint);
+ assertSuperset(startClassifierBehaviorAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ startClassifierBehaviorAction.getLocalPreconditions()
+ .add(intervalConstraint);
+ assertSuperset(startClassifierBehaviorAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ startClassifierBehaviorAction.getLocalPreconditions()
+ .add(timeConstraint);
+ assertSuperset(startClassifierBehaviorAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ startClassifierBehaviorAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(startClassifierBehaviorAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ startClassifierBehaviorAction.getLocalPreconditions().add(constraint);
+ assertSuperset(startClassifierBehaviorAction.getOwnedElements()
+ .contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ startClassifierBehaviorAction.getLocalPreconditions()
+ .add(durationConstraint);
+ assertSuperset(startClassifierBehaviorAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ EList<OutputPin> outputPins = startClassifierBehaviorAction
+ .getOutputs();
+ EList<OutputPin> outputPins2 = startClassifierBehaviorAction
+ .getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testObject() {
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ startClassifierBehaviorAction.setObject(inputPin);
+ assertSuperset(
+ startClassifierBehaviorAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ startClassifierBehaviorAction.setObject(valuePin);
+ assertSuperset(
+ startClassifierBehaviorAction.getInputs().contains(valuePin));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction2 = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ startClassifierBehaviorAction2.setObject(actionInputPin);
+ assertSuperset(startClassifierBehaviorAction2.getInputs()
+ .contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StartObjectBehaviorActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StartObjectBehaviorActionTest.java
new file mode 100755
index 00000000..dafe5a25
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StartObjectBehaviorActionTest.java
@@ -0,0 +1,864 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class StartObjectBehaviorActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ startObjectBehaviorAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ startObjectBehaviorAction.getOwnedComments().add(comment);
+ assertSuperset(
+ startObjectBehaviorAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ EList<Element> elements = startObjectBehaviorAction.getOwnedElements();
+ EList<Element> elements2 = startObjectBehaviorAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ EList<Dependency> dependencys = startObjectBehaviorAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = startObjectBehaviorAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ startObjectBehaviorAction.setNameExpression(stringExpression);
+ assertSuperset(startObjectBehaviorAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ EList<RedefinableElement> redefinableElements = startObjectBehaviorAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = startObjectBehaviorAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ EList<Classifier> classifiers = startObjectBehaviorAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = startObjectBehaviorAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ EList<ActivityGroup> activityGroups = startObjectBehaviorAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = startObjectBehaviorAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ startObjectBehaviorAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(startObjectBehaviorAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ startObjectBehaviorAction.setInStructuredNode(loopNode);
+ assertSuperset(
+ startObjectBehaviorAction.getInGroups().contains(loopNode));
+ assertSuperset(startObjectBehaviorAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ startObjectBehaviorAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ startObjectBehaviorAction.getInGroups().contains(expansionRegion));
+ assertSuperset(startObjectBehaviorAction.getOwner() == expansionRegion);
+
+ StartObjectBehaviorAction startObjectBehaviorAction2 = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ startObjectBehaviorAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ startObjectBehaviorAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(startObjectBehaviorAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ startObjectBehaviorAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(startObjectBehaviorAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ startObjectBehaviorAction2.getOwner() == structuredActivityNode);
+
+ StartObjectBehaviorAction startObjectBehaviorAction3 = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ startObjectBehaviorAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ startObjectBehaviorAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(
+ startObjectBehaviorAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ startObjectBehaviorAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ startObjectBehaviorAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ startObjectBehaviorAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ startObjectBehaviorAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ startObjectBehaviorAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ startObjectBehaviorAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(createLinkObjectAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(clearAssociationAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ startObjectBehaviorAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ startObjectBehaviorAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(structuredActivityNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ startObjectBehaviorAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction2 = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction2);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction2);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction2));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ startObjectBehaviorAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ startObjectBehaviorAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ startObjectBehaviorAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ startObjectBehaviorAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(activityParameterNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(reclassifyObjectAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ startObjectBehaviorAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ startObjectBehaviorAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ startObjectBehaviorAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ startObjectBehaviorAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ startObjectBehaviorAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(broadcastSignalAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ startObjectBehaviorAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ startObjectBehaviorAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(addVariableValueAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(readLinkObjectEndAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ startObjectBehaviorAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ startObjectBehaviorAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ startObjectBehaviorAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ startObjectBehaviorAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(startObjectBehaviorAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ startObjectBehaviorAction.getInPartitions().add(activityPartition);
+ assertSuperset(startObjectBehaviorAction.getInGroups()
+ .contains(activityPartition));
+ }
+
+ public void testHandler() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ startObjectBehaviorAction.getHandlers().add(exceptionHandler);
+ assertSuperset(startObjectBehaviorAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ EList<InputPin> inputPins = startObjectBehaviorAction.getInputs();
+ EList<InputPin> inputPins2 = startObjectBehaviorAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ startObjectBehaviorAction.getLocalPostconditions()
+ .add(intervalConstraint);
+ assertSuperset(startObjectBehaviorAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ startObjectBehaviorAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(startObjectBehaviorAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ startObjectBehaviorAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(startObjectBehaviorAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ startObjectBehaviorAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ startObjectBehaviorAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ startObjectBehaviorAction.getLocalPostconditions()
+ .add(durationConstraint);
+ assertSuperset(startObjectBehaviorAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ startObjectBehaviorAction.getLocalPreconditions()
+ .add(intervalConstraint);
+ assertSuperset(startObjectBehaviorAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ startObjectBehaviorAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(startObjectBehaviorAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ startObjectBehaviorAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(startObjectBehaviorAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ startObjectBehaviorAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ startObjectBehaviorAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ startObjectBehaviorAction.getLocalPreconditions()
+ .add(durationConstraint);
+ assertSuperset(startObjectBehaviorAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ EList<OutputPin> outputPins = startObjectBehaviorAction.getOutputs();
+ EList<OutputPin> outputPins2 = startObjectBehaviorAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testArgument() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ startObjectBehaviorAction.getArguments().add(inputPin);
+ assertSuperset(
+ startObjectBehaviorAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ startObjectBehaviorAction.getArguments().add(valuePin);
+ assertSuperset(
+ startObjectBehaviorAction.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ startObjectBehaviorAction.getArguments().add(actionInputPin);
+ assertSuperset(
+ startObjectBehaviorAction.getInputs().contains(actionInputPin));
+ }
+
+ public void testOnPort() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ startObjectBehaviorAction.setOnPort(port);
+ }
+
+ public void testResult() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ startObjectBehaviorAction.getResults().add(outputPin);
+ assertSuperset(
+ startObjectBehaviorAction.getOutputs().contains(outputPin));
+ }
+
+ public void testObject() {
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ startObjectBehaviorAction.setObject(inputPin);
+ assertSuperset(
+ startObjectBehaviorAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ startObjectBehaviorAction.setObject(valuePin);
+ assertSuperset(
+ startObjectBehaviorAction.getInputs().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction2 = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ startObjectBehaviorAction2.setObject(actionInputPin);
+ assertSuperset(
+ startObjectBehaviorAction2.getInputs().contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StateInvariantTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StateInvariantTest.java
new file mode 100755
index 00000000..e210f55c
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StateInvariantTest.java
@@ -0,0 +1,165 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeConstraint;
+
+/**
+ * @author Eike Stepper
+ */
+public class StateInvariantTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ stateInvariant.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ stateInvariant.getOwnedComments().add(comment);
+ assertSuperset(stateInvariant.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ EList<Element> elements = stateInvariant.getOwnedElements();
+ EList<Element> elements2 = stateInvariant.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ EList<Dependency> dependencys = stateInvariant.getClientDependencies();
+ EList<Dependency> dependencys2 = stateInvariant.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ stateInvariant.setNameExpression(stringExpression);
+ assertSuperset(
+ stateInvariant.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testCovered() {
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ stateInvariant.getCovereds().add(lifeline);
+ }
+
+ public void testEnclosingOperand() {
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ stateInvariant.setEnclosingOperand(interactionOperand);
+ assertSuperset(stateInvariant.getNamespace() == interactionOperand);
+ }
+
+ public void testEnclosingInteraction() {
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ stateInvariant.setEnclosingInteraction(interaction);
+ assertSuperset(stateInvariant.getNamespace() == interaction);
+ }
+
+ public void testGeneralOrdering() {
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ stateInvariant.getGeneralOrderings().add(generalOrdering);
+ assertSuperset(
+ stateInvariant.getOwnedElements().contains(generalOrdering));
+ }
+
+ public void testInvariant() {
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ stateInvariant.setInvariant(intervalConstraint);
+ assertSuperset(
+ stateInvariant.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ stateInvariant.setInvariant(timeConstraint);
+ assertSuperset(
+ stateInvariant.getOwnedElements().contains(timeConstraint));
+
+ StateInvariant stateInvariant2 = UML.createStateInvariant();
+ assertValid(stateInvariant2);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ stateInvariant2.setInvariant(interactionConstraint);
+ assertSuperset(
+ stateInvariant2.getOwnedElements().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ stateInvariant2.setInvariant(constraint);
+ assertSuperset(stateInvariant2.getOwnedElements().contains(constraint));
+
+ StateInvariant stateInvariant3 = UML.createStateInvariant();
+ assertValid(stateInvariant3);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ stateInvariant3.setInvariant(durationConstraint);
+ assertSuperset(
+ stateInvariant3.getOwnedElements().contains(durationConstraint));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StateMachineTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StateMachineTest.java
new file mode 100755
index 00000000..83142b19
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StateMachineTest.java
@@ -0,0 +1,994 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class StateMachineTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ stateMachine.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ stateMachine.getOwnedComments().add(comment);
+ assertSuperset(stateMachine.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<Element> elements = stateMachine.getOwnedElements();
+ EList<Element> elements2 = stateMachine.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<Dependency> dependencys = stateMachine.getClientDependencies();
+ EList<Dependency> dependencys2 = stateMachine.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ stateMachine.setNameExpression(stringExpression);
+ assertSuperset(
+ stateMachine.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ stateMachine.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ stateMachine.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ stateMachine.getOwnedRules().add(timeConstraint);
+ assertSuperset(stateMachine.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ stateMachine.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ stateMachine.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ stateMachine.getOwnedRules().add(constraint);
+ assertSuperset(stateMachine.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ stateMachine.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ stateMachine.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ stateMachine.getElementImports().add(elementImport);
+ assertSuperset(stateMachine.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ stateMachine.getPackageImports().add(packageImport);
+ assertSuperset(stateMachine.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<NamedElement> namedElements = stateMachine.getOwnedMembers();
+ EList<NamedElement> namedElements2 = stateMachine.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<PackageableElement> packageableElements = stateMachine
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = stateMachine
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<NamedElement> namedElements = stateMachine.getMembers();
+ EList<NamedElement> namedElements2 = stateMachine.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<RedefinableElement> redefinableElements = stateMachine
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = stateMachine
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<Classifier> classifiers = stateMachine.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = stateMachine.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ stateMachine.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(stateMachine.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ stateMachine.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ stateMachine.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ stateMachine.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ stateMachine.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ stateMachine.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(stateMachine.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<Feature> features = stateMachine.getFeatures();
+ EList<Feature> features2 = stateMachine.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<Property> propertys = stateMachine.getAttributes();
+ EList<Property> propertys2 = stateMachine.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ stateMachine.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ stateMachine.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<Classifier> classifiers = stateMachine.getGenerals();
+ EList<Classifier> classifiers2 = stateMachine.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ stateMachine.getGeneralizations().add(generalization);
+ assertSuperset(
+ stateMachine.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ stateMachine.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<NamedElement> namedElements = stateMachine.getInheritedMembers();
+ EList<NamedElement> namedElements2 = stateMachine.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ stateMachine.getOwnedUseCases().add(useCase);
+ assertSuperset(stateMachine.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ stateMachine.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ stateMachine.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ stateMachine.getRedefinedClassifiers().add(activity);
+ assertSuperset(stateMachine.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ stateMachine.getRedefinedClassifiers().add(interface_);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ stateMachine.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ stateMachine.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ stateMachine.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ stateMachine.getRedefinedClassifiers().add(component);
+ assertSuperset(stateMachine.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ stateMachine.getRedefinedClassifiers().add(interaction);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ stateMachine.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(stateMachine.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ stateMachine.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ stateMachine.getRedefinedClassifiers().add(association);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ stateMachine.getRedefinedClassifiers().add(dataType);
+ assertSuperset(stateMachine.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ stateMachine.getRedefinedClassifiers().add(device);
+ assertSuperset(stateMachine.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ stateMachine.getRedefinedClassifiers().add(extension);
+ assertSuperset(stateMachine.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ stateMachine.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ stateMachine.getRedefinedClassifiers().add(class_);
+ assertSuperset(stateMachine.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ stateMachine.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ stateMachine.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ stateMachine.getRedefinedClassifiers().add(actor);
+ assertSuperset(stateMachine.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ stateMachine.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ stateMachine.getRedefinedClassifiers().add(useCase);
+ assertSuperset(stateMachine.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ stateMachine.getRedefinedClassifiers().add(signal);
+ assertSuperset(stateMachine.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ stateMachine.getRedefinedClassifiers().add(node);
+ assertSuperset(stateMachine.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ stateMachine.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine2 = UML.createStateMachine();
+ assertValid(stateMachine2);
+ stateMachine.getRedefinedClassifiers().add(stateMachine2);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(stateMachine2));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ stateMachine.getRedefinedClassifiers().add(artifact);
+ assertSuperset(stateMachine.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ stateMachine.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ stateMachine.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ stateMachine.setRepresentation(collaborationUse);
+ assertSuperset(
+ stateMachine.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ stateMachine.getSubstitutions().add(substitution);
+ assertSuperset(stateMachine.getOwnedElements().contains(substitution));
+ assertSuperset(
+ stateMachine.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ stateMachine.getOwnedAttributes().add(port);
+ assertSuperset(stateMachine.getAttributes().contains(port));
+ assertSuperset(stateMachine.getOwnedMembers().contains(port));
+ assertSuperset(stateMachine.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ stateMachine.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(stateMachine.getAttributes().contains(extensionEnd));
+ assertSuperset(stateMachine.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(stateMachine.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ stateMachine.getOwnedAttributes().add(property);
+ assertSuperset(stateMachine.getAttributes().contains(property));
+ assertSuperset(stateMachine.getOwnedMembers().contains(property));
+ assertSuperset(stateMachine.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ stateMachine.getOwnedConnectors().add(connector);
+ assertSuperset(stateMachine.getFeatures().contains(connector));
+ assertSuperset(stateMachine.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<Property> propertys = stateMachine.getParts();
+ EList<Property> propertys2 = stateMachine.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<ConnectableElement> connectableElements = stateMachine.getRoles();
+ EList<ConnectableElement> connectableElements2 = stateMachine
+ .getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testOwnedPort() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<Port> ports = stateMachine.getOwnedPorts();
+ EList<Port> ports2 = stateMachine.getOwnedPorts();
+ assertSame(ports, ports2);
+ }
+
+ public void testClassifierBehavior() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ stateMachine.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(
+ stateMachine.getOwnedBehaviors().contains(protocolStateMachine));
+
+ StateMachine stateMachine2 = UML.createStateMachine();
+ assertValid(stateMachine2);
+ stateMachine.setClassifierBehavior(stateMachine2);
+ assertSuperset(
+ stateMachine.getOwnedBehaviors().contains(stateMachine2));
+ }
+
+ public void testInterfaceRealization() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ stateMachine.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(
+ stateMachine.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(stateMachine.getClientDependencies()
+ .contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ stateMachine.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(
+ stateMachine.getOwnedMembers().contains(protocolStateMachine));
+
+ StateMachine stateMachine2 = UML.createStateMachine();
+ assertValid(stateMachine2);
+ stateMachine.getOwnedBehaviors().add(stateMachine2);
+ assertSuperset(stateMachine.getOwnedMembers().contains(stateMachine2));
+ }
+
+ public void testOwnedOperation() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ stateMachine.getOwnedOperations().add(operation);
+ assertSuperset(stateMachine.getFeatures().contains(operation));
+ assertSuperset(stateMachine.getOwnedMembers().contains(operation));
+ }
+
+ public void testExtension() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<Extension> extensions = stateMachine.getExtensions();
+ EList<Extension> extensions2 = stateMachine.getExtensions();
+ assertSame(extensions, extensions2);
+ }
+
+ public void testNestedClassifier() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ stateMachine.getNestedClassifiers().add(functionBehavior);
+ assertSuperset(
+ stateMachine.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ stateMachine.getNestedClassifiers().add(activity);
+ assertSuperset(stateMachine.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ stateMachine.getNestedClassifiers().add(interface_);
+ assertSuperset(stateMachine.getOwnedMembers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ stateMachine.getNestedClassifiers().add(informationItem);
+ assertSuperset(
+ stateMachine.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ stateMachine.getNestedClassifiers().add(communicationPath);
+ assertSuperset(
+ stateMachine.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ stateMachine.getNestedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ stateMachine.getOwnedMembers().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ stateMachine.getNestedClassifiers().add(component);
+ assertSuperset(stateMachine.getOwnedMembers().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ stateMachine.getNestedClassifiers().add(interaction);
+ assertSuperset(stateMachine.getOwnedMembers().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ stateMachine.getNestedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ stateMachine.getOwnedMembers().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ stateMachine.getNestedClassifiers().add(opaqueBehavior);
+ assertSuperset(stateMachine.getOwnedMembers().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ stateMachine.getNestedClassifiers().add(association);
+ assertSuperset(stateMachine.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ stateMachine.getNestedClassifiers().add(dataType);
+ assertSuperset(stateMachine.getOwnedMembers().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ stateMachine.getNestedClassifiers().add(device);
+ assertSuperset(stateMachine.getOwnedMembers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ stateMachine.getNestedClassifiers().add(extension);
+ assertSuperset(stateMachine.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ stateMachine.getNestedClassifiers().add(associationClass);
+ assertSuperset(
+ stateMachine.getOwnedMembers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ stateMachine.getNestedClassifiers().add(class_);
+ assertSuperset(stateMachine.getOwnedMembers().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ stateMachine.getNestedClassifiers().add(enumeration);
+ assertSuperset(stateMachine.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ stateMachine.getNestedClassifiers().add(primitiveType);
+ assertSuperset(stateMachine.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ stateMachine.getNestedClassifiers().add(actor);
+ assertSuperset(stateMachine.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ stateMachine.getNestedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ stateMachine.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ stateMachine.getNestedClassifiers().add(useCase);
+ assertSuperset(stateMachine.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ stateMachine.getNestedClassifiers().add(signal);
+ assertSuperset(stateMachine.getOwnedMembers().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ stateMachine.getNestedClassifiers().add(node);
+ assertSuperset(stateMachine.getOwnedMembers().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ stateMachine.getNestedClassifiers().add(stereotype);
+ assertSuperset(stateMachine.getOwnedMembers().contains(stereotype));
+
+ StateMachine stateMachine2 = UML.createStateMachine();
+ assertValid(stateMachine2);
+ stateMachine.getNestedClassifiers().add(stateMachine2);
+ assertSuperset(stateMachine.getOwnedMembers().contains(stateMachine2));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ stateMachine.getNestedClassifiers().add(artifact);
+ assertSuperset(stateMachine.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ stateMachine.getNestedClassifiers().add(collaboration);
+ assertSuperset(stateMachine.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedReception() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ stateMachine.getOwnedReceptions().add(reception);
+ assertSuperset(stateMachine.getFeatures().contains(reception));
+ assertSuperset(stateMachine.getOwnedMembers().contains(reception));
+ }
+
+ public void testSuperClass() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ EList<org.eclipse.uml2.uml.Class> class_s = stateMachine
+ .getSuperClasses();
+ EList<org.eclipse.uml2.uml.Class> class_s2 = stateMachine
+ .getSuperClasses();
+ assertSame(class_s, class_s2);
+ }
+
+ public void testSpecification() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ stateMachine.setSpecification(reception);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ stateMachine.setSpecification(operation);
+ }
+
+ public void testOwnedParameter() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ stateMachine.getOwnedParameters().add(parameter);
+ assertSuperset(stateMachine.getOwnedMembers().contains(parameter));
+ }
+
+ public void testOwnedParameterSet() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ stateMachine.getOwnedParameterSets().add(parameterSet);
+ assertSuperset(stateMachine.getOwnedMembers().contains(parameterSet));
+ }
+
+ public void testPostcondition() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ stateMachine.getPostconditions().add(intervalConstraint);
+ assertSuperset(
+ stateMachine.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ stateMachine.getPostconditions().add(timeConstraint);
+ assertSuperset(stateMachine.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ stateMachine.getPostconditions().add(interactionConstraint);
+ assertSuperset(
+ stateMachine.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ stateMachine.getPostconditions().add(constraint);
+ assertSuperset(stateMachine.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ stateMachine.getPostconditions().add(durationConstraint);
+ assertSuperset(
+ stateMachine.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testPrecondition() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ stateMachine.getPreconditions().add(intervalConstraint);
+ assertSuperset(
+ stateMachine.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ stateMachine.getPreconditions().add(timeConstraint);
+ assertSuperset(stateMachine.getOwnedRules().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ stateMachine.getPreconditions().add(interactionConstraint);
+ assertSuperset(
+ stateMachine.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ stateMachine.getPreconditions().add(constraint);
+ assertSuperset(stateMachine.getOwnedRules().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ stateMachine.getPreconditions().add(durationConstraint);
+ assertSuperset(
+ stateMachine.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testConnectionPoint() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ stateMachine.getConnectionPoints().add(pseudostate);
+ assertSuperset(stateMachine.getOwnedMembers().contains(pseudostate));
+ }
+
+ public void testSubmachineState() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ stateMachine.getSubmachineStates().add(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ stateMachine.getSubmachineStates().add(state);
+ }
+
+ public void testRegion() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ stateMachine.getRegions().add(region);
+ assertSuperset(stateMachine.getOwnedMembers().contains(region));
+ }
+
+ public void testExtendedStateMachine() {
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ stateMachine.getExtendedStateMachines().add(protocolStateMachine);
+ assertSuperset(stateMachine.getRedefinedClassifiers()
+ .contains(protocolStateMachine));
+
+ StateMachine stateMachine2 = UML.createStateMachine();
+ assertValid(stateMachine2);
+ stateMachine.getExtendedStateMachines().add(stateMachine2);
+ assertSuperset(
+ stateMachine.getRedefinedClassifiers().contains(stateMachine2));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StateTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StateTest.java
new file mode 100755
index 00000000..e9f92432
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StateTest.java
@@ -0,0 +1,353 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.Trigger;
+
+/**
+ * @author Eike Stepper
+ */
+public class StateTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ State state = UML.createState();
+ assertValid(state);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ state.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ State state = UML.createState();
+ assertValid(state);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ state.getOwnedComments().add(comment);
+ assertSuperset(state.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ State state = UML.createState();
+ assertValid(state);
+ EList<Element> elements = state.getOwnedElements();
+ EList<Element> elements2 = state.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ State state = UML.createState();
+ assertValid(state);
+ EList<Dependency> dependencys = state.getClientDependencies();
+ EList<Dependency> dependencys2 = state.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ State state = UML.createState();
+ assertValid(state);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ state.setNameExpression(stringExpression);
+ assertSuperset(state.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ State state = UML.createState();
+ assertValid(state);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ state.getOwnedRules().add(intervalConstraint);
+ assertSuperset(state.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ state.getOwnedRules().add(timeConstraint);
+ assertSuperset(state.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ state.getOwnedRules().add(interactionConstraint);
+ assertSuperset(state.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ state.getOwnedRules().add(constraint);
+ assertSuperset(state.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ state.getOwnedRules().add(durationConstraint);
+ assertSuperset(state.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ State state = UML.createState();
+ assertValid(state);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ state.getElementImports().add(elementImport);
+ assertSuperset(state.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ State state = UML.createState();
+ assertValid(state);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ state.getPackageImports().add(packageImport);
+ assertSuperset(state.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ State state = UML.createState();
+ assertValid(state);
+ EList<NamedElement> namedElements = state.getOwnedMembers();
+ EList<NamedElement> namedElements2 = state.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ State state = UML.createState();
+ assertValid(state);
+ EList<PackageableElement> packageableElements = state
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = state
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ State state = UML.createState();
+ assertValid(state);
+ EList<NamedElement> namedElements = state.getMembers();
+ EList<NamedElement> namedElements2 = state.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ State state = UML.createState();
+ assertValid(state);
+ EList<RedefinableElement> redefinableElements = state
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = state
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ State state = UML.createState();
+ assertValid(state);
+ EList<Classifier> classifiers = state.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = state.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testContainer() {
+ State state = UML.createState();
+ assertValid(state);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ state.setContainer(region);
+ assertSuperset(state.getNamespace() == region);
+ }
+
+ public void testConnection() {
+ State state = UML.createState();
+ assertValid(state);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ state.getConnections().add(connectionPointReference);
+ assertSuperset(
+ state.getOwnedMembers().contains(connectionPointReference));
+ }
+
+ public void testConnectionPoint() {
+ State state = UML.createState();
+ assertValid(state);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ state.getConnectionPoints().add(pseudostate);
+ assertSuperset(state.getOwnedMembers().contains(pseudostate));
+ }
+
+ public void testDeferrableTrigger() {
+ State state = UML.createState();
+ assertValid(state);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ state.getDeferrableTriggers().add(trigger);
+ assertSuperset(state.getOwnedElements().contains(trigger));
+ }
+
+ public void testDoActivity() {
+ State state = UML.createState();
+ assertValid(state);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ state.setDoActivity(protocolStateMachine);
+ assertSuperset(state.getOwnedElements().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ state.setDoActivity(stateMachine);
+ assertSuperset(state.getOwnedElements().contains(stateMachine));
+ }
+
+ public void testEntry() {
+ State state = UML.createState();
+ assertValid(state);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ state.setEntry(protocolStateMachine);
+ assertSuperset(state.getOwnedElements().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ state.setEntry(stateMachine);
+ assertSuperset(state.getOwnedElements().contains(stateMachine));
+ }
+
+ public void testExit() {
+ State state = UML.createState();
+ assertValid(state);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ state.setExit(protocolStateMachine);
+ assertSuperset(state.getOwnedElements().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ state.setExit(stateMachine);
+ assertSuperset(state.getOwnedElements().contains(stateMachine));
+ }
+
+ public void testRedefinedState() {
+ State state = UML.createState();
+ assertValid(state);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ state.setRedefinedState(finalState);
+ assertSuperset(state.getRedefinedElements().contains(finalState));
+
+ State state2 = UML.createState();
+ assertValid(state2);
+ state.setRedefinedState(state2);
+ assertSuperset(state.getRedefinedElements().contains(state2));
+ }
+
+ public void testStateInvariant() {
+ State state = UML.createState();
+ assertValid(state);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ state.setStateInvariant(intervalConstraint);
+ assertSuperset(state.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ state.setStateInvariant(timeConstraint);
+ assertSuperset(state.getOwnedRules().contains(timeConstraint));
+
+ State state2 = UML.createState();
+ assertValid(state2);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ state2.setStateInvariant(interactionConstraint);
+ assertSuperset(state2.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ state2.setStateInvariant(constraint);
+ assertSuperset(state2.getOwnedRules().contains(constraint));
+
+ State state3 = UML.createState();
+ assertValid(state3);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ state3.setStateInvariant(durationConstraint);
+ assertSuperset(state3.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testSubmachine() {
+ State state = UML.createState();
+ assertValid(state);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ state.setSubmachine(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ state.setSubmachine(stateMachine);
+ }
+
+ public void testRegion() {
+ State state = UML.createState();
+ assertValid(state);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ state.getRegions().add(region);
+ assertSuperset(state.getOwnedMembers().contains(region));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StereotypeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StereotypeTest.java
new file mode 100755
index 00000000..a777de57
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StereotypeTest.java
@@ -0,0 +1,883 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class StereotypeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ stereotype.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ stereotype.getOwnedComments().add(comment);
+ assertSuperset(stereotype.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<Element> elements = stereotype.getOwnedElements();
+ EList<Element> elements2 = stereotype.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<Dependency> dependencys = stereotype.getClientDependencies();
+ EList<Dependency> dependencys2 = stereotype.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ stereotype.setNameExpression(stringExpression);
+ assertSuperset(
+ stereotype.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ stereotype.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ stereotype.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ stereotype.getOwnedRules().add(timeConstraint);
+ assertSuperset(stereotype.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ stereotype.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ stereotype.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ stereotype.getOwnedRules().add(constraint);
+ assertSuperset(stereotype.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ stereotype.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ stereotype.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ stereotype.getElementImports().add(elementImport);
+ assertSuperset(stereotype.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ stereotype.getPackageImports().add(packageImport);
+ assertSuperset(stereotype.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<NamedElement> namedElements = stereotype.getOwnedMembers();
+ EList<NamedElement> namedElements2 = stereotype.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<PackageableElement> packageableElements = stereotype
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = stereotype
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<NamedElement> namedElements = stereotype.getMembers();
+ EList<NamedElement> namedElements2 = stereotype.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<RedefinableElement> redefinableElements = stereotype
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = stereotype
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<Classifier> classifiers = stereotype.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = stereotype.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ stereotype.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(stereotype.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ stereotype.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ stereotype.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ stereotype.getTemplateBindings().add(templateBinding);
+ assertSuperset(stereotype.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ stereotype.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(stereotype.getOwnedElements()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<Feature> features = stereotype.getFeatures();
+ EList<Feature> features2 = stereotype.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<Property> propertys = stereotype.getAttributes();
+ EList<Property> propertys2 = stereotype.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ stereotype.getCollaborationUses().add(collaborationUse);
+ assertSuperset(
+ stereotype.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<Classifier> classifiers = stereotype.getGenerals();
+ EList<Classifier> classifiers2 = stereotype.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ stereotype.getGeneralizations().add(generalization);
+ assertSuperset(stereotype.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ stereotype.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<NamedElement> namedElements = stereotype.getInheritedMembers();
+ EList<NamedElement> namedElements2 = stereotype.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ stereotype.getOwnedUseCases().add(useCase);
+ assertSuperset(stereotype.getOwnedMembers().contains(useCase));
+ }
+
+ public void testUseCase() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ stereotype.getUseCases().add(useCase);
+ }
+
+ public void testRedefinedClassifier() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ stereotype.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ stereotype.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ stereotype.getRedefinedClassifiers().add(activity);
+ assertSuperset(stereotype.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ stereotype.getRedefinedClassifiers().add(interface_);
+ assertSuperset(stereotype.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ stereotype.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ stereotype.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ stereotype.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ stereotype.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ stereotype.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ stereotype.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ stereotype.getRedefinedClassifiers().add(component);
+ assertSuperset(stereotype.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ stereotype.getRedefinedClassifiers().add(interaction);
+ assertSuperset(stereotype.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ stereotype.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(stereotype.getRedefinedElements()
+ .contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ stereotype.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(
+ stereotype.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ stereotype.getRedefinedClassifiers().add(association);
+ assertSuperset(stereotype.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ stereotype.getRedefinedClassifiers().add(dataType);
+ assertSuperset(stereotype.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ stereotype.getRedefinedClassifiers().add(device);
+ assertSuperset(stereotype.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ stereotype.getRedefinedClassifiers().add(extension);
+ assertSuperset(stereotype.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ stereotype.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ stereotype.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ stereotype.getRedefinedClassifiers().add(class_);
+ assertSuperset(stereotype.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ stereotype.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(stereotype.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ stereotype.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(
+ stereotype.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ stereotype.getRedefinedClassifiers().add(actor);
+ assertSuperset(stereotype.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ stereotype.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ stereotype.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ stereotype.getRedefinedClassifiers().add(useCase);
+ assertSuperset(stereotype.getRedefinedElements().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ stereotype.getRedefinedClassifiers().add(signal);
+ assertSuperset(stereotype.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ stereotype.getRedefinedClassifiers().add(node);
+ assertSuperset(stereotype.getRedefinedElements().contains(node));
+
+ Stereotype stereotype2 = UML.createStereotype();
+ assertValid(stereotype2);
+ stereotype.getRedefinedClassifiers().add(stereotype2);
+ assertSuperset(stereotype.getRedefinedElements().contains(stereotype2));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ stereotype.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(
+ stereotype.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ stereotype.getRedefinedClassifiers().add(artifact);
+ assertSuperset(stereotype.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ stereotype.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(
+ stereotype.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ stereotype.setRepresentation(collaborationUse);
+ assertSuperset(
+ stereotype.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ stereotype.getSubstitutions().add(substitution);
+ assertSuperset(stereotype.getOwnedElements().contains(substitution));
+ assertSuperset(
+ stereotype.getClientDependencies().contains(substitution));
+ }
+
+ public void testOwnedAttribute() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ stereotype.getOwnedAttributes().add(port);
+ assertSuperset(stereotype.getAttributes().contains(port));
+ assertSuperset(stereotype.getOwnedMembers().contains(port));
+ assertSuperset(stereotype.getRoles().contains(port));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ stereotype.getOwnedAttributes().add(extensionEnd);
+ assertSuperset(stereotype.getAttributes().contains(extensionEnd));
+ assertSuperset(stereotype.getOwnedMembers().contains(extensionEnd));
+ assertSuperset(stereotype.getRoles().contains(extensionEnd));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ stereotype.getOwnedAttributes().add(property);
+ assertSuperset(stereotype.getAttributes().contains(property));
+ assertSuperset(stereotype.getOwnedMembers().contains(property));
+ assertSuperset(stereotype.getRoles().contains(property));
+ }
+
+ public void testOwnedConnector() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ stereotype.getOwnedConnectors().add(connector);
+ assertSuperset(stereotype.getFeatures().contains(connector));
+ assertSuperset(stereotype.getOwnedMembers().contains(connector));
+ }
+
+ public void testPart() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<Property> propertys = stereotype.getParts();
+ EList<Property> propertys2 = stereotype.getParts();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testRole() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<ConnectableElement> connectableElements = stereotype.getRoles();
+ EList<ConnectableElement> connectableElements2 = stereotype.getRoles();
+ assertSame(connectableElements, connectableElements2);
+ }
+
+ public void testOwnedPort() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<Port> ports = stereotype.getOwnedPorts();
+ EList<Port> ports2 = stereotype.getOwnedPorts();
+ assertSame(ports, ports2);
+ }
+
+ public void testClassifierBehavior() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ stereotype.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(
+ stereotype.getOwnedBehaviors().contains(protocolStateMachine));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ stereotype.setClassifierBehavior(functionBehavior);
+ assertSuperset(
+ stereotype.getOwnedBehaviors().contains(functionBehavior));
+
+ Stereotype stereotype2 = UML.createStereotype();
+ assertValid(stereotype2);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ stereotype2.setClassifierBehavior(activity);
+ assertSuperset(stereotype2.getOwnedBehaviors().contains(activity));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ stereotype2.setClassifierBehavior(interaction);
+ assertSuperset(stereotype2.getOwnedBehaviors().contains(interaction));
+
+ Stereotype stereotype3 = UML.createStereotype();
+ assertValid(stereotype3);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ stereotype3.setClassifierBehavior(opaqueBehavior);
+ assertSuperset(
+ stereotype3.getOwnedBehaviors().contains(opaqueBehavior));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ stereotype3.setClassifierBehavior(stateMachine);
+ assertSuperset(stereotype3.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ stereotype.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(
+ stereotype.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(
+ stereotype.getClientDependencies().contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ stereotype.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(
+ stereotype.getOwnedMembers().contains(protocolStateMachine));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ stereotype.getOwnedBehaviors().add(functionBehavior);
+ assertSuperset(stereotype.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ stereotype.getOwnedBehaviors().add(activity);
+ assertSuperset(stereotype.getOwnedMembers().contains(activity));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ stereotype.getOwnedBehaviors().add(interaction);
+ assertSuperset(stereotype.getOwnedMembers().contains(interaction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ stereotype.getOwnedBehaviors().add(opaqueBehavior);
+ assertSuperset(stereotype.getOwnedMembers().contains(opaqueBehavior));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ stereotype.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(stereotype.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testOwnedOperation() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ stereotype.getOwnedOperations().add(operation);
+ assertSuperset(stereotype.getFeatures().contains(operation));
+ assertSuperset(stereotype.getOwnedMembers().contains(operation));
+ }
+
+ public void testExtension() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<Extension> extensions = stereotype.getExtensions();
+ EList<Extension> extensions2 = stereotype.getExtensions();
+ assertSame(extensions, extensions2);
+ }
+
+ public void testNestedClassifier() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ stereotype.getNestedClassifiers().add(functionBehavior);
+ assertSuperset(stereotype.getOwnedMembers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ stereotype.getNestedClassifiers().add(activity);
+ assertSuperset(stereotype.getOwnedMembers().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ stereotype.getNestedClassifiers().add(interface_);
+ assertSuperset(stereotype.getOwnedMembers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ stereotype.getNestedClassifiers().add(informationItem);
+ assertSuperset(stereotype.getOwnedMembers().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ stereotype.getNestedClassifiers().add(communicationPath);
+ assertSuperset(
+ stereotype.getOwnedMembers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ stereotype.getNestedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ stereotype.getOwnedMembers().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ stereotype.getNestedClassifiers().add(component);
+ assertSuperset(stereotype.getOwnedMembers().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ stereotype.getNestedClassifiers().add(interaction);
+ assertSuperset(stereotype.getOwnedMembers().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ stereotype.getNestedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ stereotype.getOwnedMembers().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ stereotype.getNestedClassifiers().add(opaqueBehavior);
+ assertSuperset(stereotype.getOwnedMembers().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ stereotype.getNestedClassifiers().add(association);
+ assertSuperset(stereotype.getOwnedMembers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ stereotype.getNestedClassifiers().add(dataType);
+ assertSuperset(stereotype.getOwnedMembers().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ stereotype.getNestedClassifiers().add(device);
+ assertSuperset(stereotype.getOwnedMembers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ stereotype.getNestedClassifiers().add(extension);
+ assertSuperset(stereotype.getOwnedMembers().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ stereotype.getNestedClassifiers().add(associationClass);
+ assertSuperset(stereotype.getOwnedMembers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ stereotype.getNestedClassifiers().add(class_);
+ assertSuperset(stereotype.getOwnedMembers().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ stereotype.getNestedClassifiers().add(enumeration);
+ assertSuperset(stereotype.getOwnedMembers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ stereotype.getNestedClassifiers().add(primitiveType);
+ assertSuperset(stereotype.getOwnedMembers().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ stereotype.getNestedClassifiers().add(actor);
+ assertSuperset(stereotype.getOwnedMembers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ stereotype.getNestedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ stereotype.getOwnedMembers().contains(protocolStateMachine));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ stereotype.getNestedClassifiers().add(useCase);
+ assertSuperset(stereotype.getOwnedMembers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ stereotype.getNestedClassifiers().add(signal);
+ assertSuperset(stereotype.getOwnedMembers().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ stereotype.getNestedClassifiers().add(node);
+ assertSuperset(stereotype.getOwnedMembers().contains(node));
+
+ Stereotype stereotype2 = UML.createStereotype();
+ assertValid(stereotype2);
+ stereotype.getNestedClassifiers().add(stereotype2);
+ assertSuperset(stereotype.getOwnedMembers().contains(stereotype2));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ stereotype.getNestedClassifiers().add(stateMachine);
+ assertSuperset(stereotype.getOwnedMembers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ stereotype.getNestedClassifiers().add(artifact);
+ assertSuperset(stereotype.getOwnedMembers().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ stereotype.getNestedClassifiers().add(collaboration);
+ assertSuperset(stereotype.getOwnedMembers().contains(collaboration));
+ }
+
+ public void testOwnedReception() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ stereotype.getOwnedReceptions().add(reception);
+ assertSuperset(stereotype.getFeatures().contains(reception));
+ assertSuperset(stereotype.getOwnedMembers().contains(reception));
+ }
+
+ public void testSuperClass() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ EList<org.eclipse.uml2.uml.Class> class_s = stereotype
+ .getSuperClasses();
+ EList<org.eclipse.uml2.uml.Class> class_s2 = stereotype
+ .getSuperClasses();
+ assertSame(class_s, class_s2);
+ }
+
+ public void testIcon() {
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+
+ Image image = UML.createImage();
+ assertValid(image);
+ stereotype.getIcons().add(image);
+ assertSuperset(stereotype.getOwnedElements().contains(image));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StringExpressionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StringExpressionTest.java
new file mode 100755
index 00000000..7c61d937
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StringExpressionTest.java
@@ -0,0 +1,432 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class StringExpressionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ stringExpression.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ stringExpression.getOwnedComments().add(comment);
+ assertSuperset(stringExpression.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ EList<Element> elements = stringExpression.getOwnedElements();
+ EList<Element> elements2 = stringExpression.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ EList<Dependency> dependencys = stringExpression
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = stringExpression
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+
+ StringExpression stringExpression2 = UML.createStringExpression();
+ assertValid(stringExpression2);
+ stringExpression.setNameExpression(stringExpression2);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(stringExpression2));
+ }
+
+ public void testOwningTemplateParameter() {
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ stringExpression.setOwningTemplateParameter(templateParameter);
+ assertSuperset(stringExpression.getOwner() == templateParameter);
+ assertSuperset(
+ stringExpression.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ stringExpression.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ stringExpression.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ stringExpression.setType(activity);
+
+ StringExpression stringExpression2 = UML.createStringExpression();
+ assertValid(stringExpression2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ stringExpression2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ stringExpression2.setType(informationItem);
+
+ StringExpression stringExpression3 = UML.createStringExpression();
+ assertValid(stringExpression3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ stringExpression3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ stringExpression3.setType(executionEnvironment);
+
+ StringExpression stringExpression4 = UML.createStringExpression();
+ assertValid(stringExpression4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ stringExpression4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ stringExpression4.setType(interaction);
+
+ StringExpression stringExpression5 = UML.createStringExpression();
+ assertValid(stringExpression5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ stringExpression5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ stringExpression5.setType(opaqueBehavior);
+
+ StringExpression stringExpression6 = UML.createStringExpression();
+ assertValid(stringExpression6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ stringExpression6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ stringExpression6.setType(dataType);
+
+ StringExpression stringExpression7 = UML.createStringExpression();
+ assertValid(stringExpression7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ stringExpression7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ stringExpression7.setType(extension);
+
+ StringExpression stringExpression8 = UML.createStringExpression();
+ assertValid(stringExpression8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ stringExpression8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ stringExpression8.setType(class_);
+
+ StringExpression stringExpression9 = UML.createStringExpression();
+ assertValid(stringExpression9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ stringExpression9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ stringExpression9.setType(primitiveType);
+
+ StringExpression stringExpression10 = UML.createStringExpression();
+ assertValid(stringExpression10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ stringExpression10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ stringExpression10.setType(protocolStateMachine);
+
+ StringExpression stringExpression11 = UML.createStringExpression();
+ assertValid(stringExpression11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ stringExpression11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ stringExpression11.setType(signal);
+
+ StringExpression stringExpression12 = UML.createStringExpression();
+ assertValid(stringExpression12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ stringExpression12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ stringExpression12.setType(stereotype);
+
+ StringExpression stringExpression13 = UML.createStringExpression();
+ assertValid(stringExpression13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ stringExpression13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ stringExpression13.setType(artifact);
+
+ StringExpression stringExpression14 = UML.createStringExpression();
+ assertValid(stringExpression14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ stringExpression14.setType(collaboration);
+ }
+
+ public void testOperand() {
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ stringExpression.getOperands().add(literalBoolean);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ stringExpression.getOperands().add(interval);
+ assertSuperset(stringExpression.getOwnedElements().contains(interval));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ stringExpression.getOperands().add(opaqueExpression);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ stringExpression.getOperands().add(expression);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(expression));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ stringExpression.getOperands().add(literalReal);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ stringExpression.getOperands().add(literalString);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(literalString));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ stringExpression.getOperands().add(literalNull);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ stringExpression.getOperands().add(duration);
+ assertSuperset(stringExpression.getOwnedElements().contains(duration));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ stringExpression.getOperands().add(literalInteger);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ stringExpression.getOperands().add(durationInterval);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(durationInterval));
+
+ StringExpression stringExpression2 = UML.createStringExpression();
+ assertValid(stringExpression2);
+ stringExpression.getOperands().add(stringExpression2);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(stringExpression2));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ stringExpression.getOperands().add(literalUnlimitedNatural);
+ assertSuperset(stringExpression.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ stringExpression.getOperands().add(timeInterval);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ stringExpression.getOperands().add(timeExpression);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(timeExpression));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ stringExpression.getOperands().add(instanceValue);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testTemplateBinding() {
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ stringExpression.getTemplateBindings().add(templateBinding);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ stringExpression.setOwnedTemplateSignature(templateSignature);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(templateSignature));
+ }
+
+ public void testOwningExpression() {
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+
+ StringExpression stringExpression2 = UML.createStringExpression();
+ assertValid(stringExpression2);
+ stringExpression.setOwningExpression(stringExpression2);
+ assertSuperset(stringExpression.getOwner() == stringExpression2);
+ }
+
+ public void testSubExpression() {
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+
+ StringExpression stringExpression2 = UML.createStringExpression();
+ assertValid(stringExpression2);
+ stringExpression.getSubExpressions().add(stringExpression2);
+ assertSuperset(
+ stringExpression.getOwnedElements().contains(stringExpression2));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StructuredActivityNodeTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StructuredActivityNodeTest.java
new file mode 100755
index 00000000..2e8fb829
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/StructuredActivityNodeTest.java
@@ -0,0 +1,1460 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class StructuredActivityNodeTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ structuredActivityNode.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ structuredActivityNode.getOwnedComments().add(comment);
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ EList<Element> elements = structuredActivityNode.getOwnedElements();
+ EList<Element> elements2 = structuredActivityNode.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ EList<Dependency> dependencys = structuredActivityNode
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = structuredActivityNode
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ structuredActivityNode.setNameExpression(stringExpression);
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ EList<RedefinableElement> redefinableElements = structuredActivityNode
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = structuredActivityNode
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ EList<Classifier> classifiers = structuredActivityNode
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = structuredActivityNode
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ EList<ActivityGroup> activityGroups = structuredActivityNode
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = structuredActivityNode
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ structuredActivityNode.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(structuredActivityNode.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ structuredActivityNode.setInStructuredNode(loopNode);
+ assertSuperset(structuredActivityNode.getInGroups().contains(loopNode));
+ assertSuperset(structuredActivityNode.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ structuredActivityNode.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ structuredActivityNode.getInGroups().contains(expansionRegion));
+ assertSuperset(structuredActivityNode.getOwner() == expansionRegion);
+
+ StructuredActivityNode structuredActivityNode2 = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ structuredActivityNode2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ structuredActivityNode2.getInGroups().contains(sequenceNode));
+ assertSuperset(structuredActivityNode2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode3 = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode3);
+ structuredActivityNode2.setInStructuredNode(structuredActivityNode3);
+ assertSuperset(structuredActivityNode2.getInGroups()
+ .contains(structuredActivityNode3));
+ assertSuperset(
+ structuredActivityNode2.getOwner() == structuredActivityNode3);
+
+ StructuredActivityNode structuredActivityNode4 = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode4);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ structuredActivityNode4.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ structuredActivityNode4.getInGroups().contains(conditionalNode));
+ assertSuperset(structuredActivityNode4.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ structuredActivityNode.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ structuredActivityNode.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ structuredActivityNode.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ structuredActivityNode.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ structuredActivityNode.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ structuredActivityNode.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ structuredActivityNode.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ structuredActivityNode.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ structuredActivityNode.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ structuredActivityNode.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ structuredActivityNode.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ structuredActivityNode.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ structuredActivityNode.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ structuredActivityNode.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ structuredActivityNode.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ structuredActivityNode.getRedefinedNodes().add(replyAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ structuredActivityNode.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ structuredActivityNode.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ structuredActivityNode.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ structuredActivityNode.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode2 = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode2);
+ structuredActivityNode.getRedefinedNodes().add(structuredActivityNode2);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(structuredActivityNode2));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ structuredActivityNode.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ structuredActivityNode.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ structuredActivityNode.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ structuredActivityNode.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ structuredActivityNode.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ structuredActivityNode.getRedefinedNodes().add(decisionNode);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ structuredActivityNode.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ structuredActivityNode.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ structuredActivityNode.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ structuredActivityNode.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ structuredActivityNode.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ structuredActivityNode.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ structuredActivityNode.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ structuredActivityNode.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ structuredActivityNode.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ structuredActivityNode.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ structuredActivityNode.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ structuredActivityNode.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ structuredActivityNode.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ structuredActivityNode.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ structuredActivityNode.getRedefinedNodes().add(reduceAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ structuredActivityNode.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ structuredActivityNode.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ structuredActivityNode.getRedefinedNodes().add(expansionNode);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ structuredActivityNode.getRedefinedNodes().add(initialNode);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ structuredActivityNode.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ structuredActivityNode.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ structuredActivityNode.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ structuredActivityNode.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ structuredActivityNode.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ structuredActivityNode.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ structuredActivityNode.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ structuredActivityNode.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ structuredActivityNode.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ structuredActivityNode.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ structuredActivityNode.getRedefinedNodes()
+ .add(valueSpecificationAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ structuredActivityNode.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ structuredActivityNode.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ structuredActivityNode.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ structuredActivityNode.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ structuredActivityNode.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ structuredActivityNode.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ structuredActivityNode.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ structuredActivityNode.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ structuredActivityNode.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ structuredActivityNode.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ structuredActivityNode.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(structuredActivityNode.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ structuredActivityNode.getInPartitions().add(activityPartition);
+ assertSuperset(
+ structuredActivityNode.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ structuredActivityNode.getHandlers().add(exceptionHandler);
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ EList<InputPin> inputPins = structuredActivityNode.getInputs();
+ EList<InputPin> inputPins2 = structuredActivityNode.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ structuredActivityNode.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ structuredActivityNode.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ structuredActivityNode.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ structuredActivityNode.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ structuredActivityNode.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ structuredActivityNode.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ structuredActivityNode.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ structuredActivityNode.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ structuredActivityNode.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ structuredActivityNode.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ EList<OutputPin> outputPins = structuredActivityNode.getOutputs();
+ EList<OutputPin> outputPins2 = structuredActivityNode.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testOwnedRule() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ structuredActivityNode.getOwnedRules().add(intervalConstraint);
+ assertSuperset(structuredActivityNode.getOwnedMembers()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ structuredActivityNode.getOwnedRules().add(timeConstraint);
+ assertSuperset(
+ structuredActivityNode.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ structuredActivityNode.getOwnedRules().add(interactionConstraint);
+ assertSuperset(structuredActivityNode.getOwnedMembers()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ structuredActivityNode.getOwnedRules().add(constraint);
+ assertSuperset(
+ structuredActivityNode.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ structuredActivityNode.getOwnedRules().add(durationConstraint);
+ assertSuperset(structuredActivityNode.getOwnedMembers()
+ .contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ structuredActivityNode.getElementImports().add(elementImport);
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ structuredActivityNode.getPackageImports().add(packageImport);
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ EList<NamedElement> namedElements = structuredActivityNode
+ .getOwnedMembers();
+ EList<NamedElement> namedElements2 = structuredActivityNode
+ .getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ EList<PackageableElement> packageableElements = structuredActivityNode
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = structuredActivityNode
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ EList<NamedElement> namedElements = structuredActivityNode.getMembers();
+ EList<NamedElement> namedElements2 = structuredActivityNode
+ .getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testContainedEdge() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ EList<ActivityEdge> activityEdges = structuredActivityNode
+ .getContainedEdges();
+ EList<ActivityEdge> activityEdges2 = structuredActivityNode
+ .getContainedEdges();
+ assertSame(activityEdges, activityEdges2);
+ }
+
+ public void testContainedNode() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ EList<ActivityNode> activityNodes = structuredActivityNode
+ .getContainedNodes();
+ EList<ActivityNode> activityNodes2 = structuredActivityNode
+ .getContainedNodes();
+ assertSame(activityNodes, activityNodes2);
+ }
+
+ public void testSubgroup() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ EList<ActivityGroup> activityGroups = structuredActivityNode
+ .getSubgroups();
+ EList<ActivityGroup> activityGroups2 = structuredActivityNode
+ .getSubgroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testEdge() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ structuredActivityNode.getEdges().add(controlFlow);
+ assertSuperset(
+ structuredActivityNode.getContainedEdges().contains(controlFlow));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(controlFlow));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ structuredActivityNode.getEdges().add(objectFlow);
+ assertSuperset(
+ structuredActivityNode.getContainedEdges().contains(objectFlow));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(objectFlow));
+ }
+
+ public void testStructuredNodeInput() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ structuredActivityNode.getStructuredNodeInputs().add(inputPin);
+ assertSuperset(structuredActivityNode.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ structuredActivityNode.getStructuredNodeInputs().add(valuePin);
+ assertSuperset(structuredActivityNode.getInputs().contains(valuePin));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ structuredActivityNode.getStructuredNodeInputs().add(actionInputPin);
+ assertSuperset(
+ structuredActivityNode.getInputs().contains(actionInputPin));
+ }
+
+ public void testStructuredNodeOutput() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ structuredActivityNode.getStructuredNodeOutputs().add(outputPin);
+ assertSuperset(structuredActivityNode.getOutputs().contains(outputPin));
+ }
+
+ public void testVariable() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ structuredActivityNode.getVariables().add(variable);
+ assertSuperset(
+ structuredActivityNode.getOwnedMembers().contains(variable));
+ }
+
+ public void testNode() {
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ structuredActivityNode.getNodes().add(startClassifierBehaviorAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(startClassifierBehaviorAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ structuredActivityNode.getNodes().add(removeVariableValueAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(removeVariableValueAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ structuredActivityNode.getNodes().add(readSelfAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(readSelfAction));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ structuredActivityNode.getNodes().add(inputPin);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(inputPin));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ structuredActivityNode.getNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(readLinkObjectEndQualifierAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ structuredActivityNode.getNodes().add(joinNode);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(joinNode));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ structuredActivityNode.getNodes().add(createLinkObjectAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(createLinkObjectAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ structuredActivityNode.getNodes().add(sendSignalAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(sendSignalAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ structuredActivityNode.getNodes().add(readLinkAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(readLinkAction));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ structuredActivityNode.getNodes().add(replyAction);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(replyAction));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ structuredActivityNode.getNodes().add(clearAssociationAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(clearAssociationAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ structuredActivityNode.getNodes().add(flowFinalNode);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(flowFinalNode));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ structuredActivityNode.getNodes().add(clearStructuralFeatureAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(clearStructuralFeatureAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ structuredActivityNode.getNodes().add(expansionRegion);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(expansionRegion));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode2 = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode2);
+ structuredActivityNode.getNodes().add(structuredActivityNode2);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(structuredActivityNode2));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(structuredActivityNode2));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ structuredActivityNode.getNodes().add(valuePin);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(valuePin));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ structuredActivityNode.getNodes().add(startObjectBehaviorAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(startObjectBehaviorAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ structuredActivityNode.getNodes().add(forkNode);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(forkNode));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ structuredActivityNode.getNodes().add(decisionNode);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(decisionNode));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ structuredActivityNode.getNodes().add(callBehaviorAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(callBehaviorAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ structuredActivityNode.getNodes().add(conditionalNode);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(conditionalNode));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ structuredActivityNode.getNodes().add(readExtentAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(readExtentAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ structuredActivityNode.getNodes().add(actionInputPin);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(actionInputPin));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ structuredActivityNode.getNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(readIsClassifiedObjectAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ structuredActivityNode.getNodes().add(activityParameterNode);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(activityParameterNode));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ structuredActivityNode.getNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(addStructuralFeatureValueAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ structuredActivityNode.getNodes().add(readVariableAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(readVariableAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ structuredActivityNode.getNodes().add(clearVariableAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(clearVariableAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ structuredActivityNode.getNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(removeStructuralFeatureValueAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ structuredActivityNode.getNodes().add(createLinkAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(createLinkAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ structuredActivityNode.getNodes().add(reclassifyObjectAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(reclassifyObjectAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ structuredActivityNode.getNodes().add(dataStoreNode);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(dataStoreNode));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ structuredActivityNode.getNodes().add(sendObjectAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(sendObjectAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ structuredActivityNode.getNodes().add(reduceAction);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(reduceAction));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ structuredActivityNode.getNodes().add(acceptEventAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(acceptEventAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ structuredActivityNode.getNodes().add(destroyLinkAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(destroyLinkAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ structuredActivityNode.getNodes().add(expansionNode);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(expansionNode));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ structuredActivityNode.getNodes().add(initialNode);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(initialNode));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ structuredActivityNode.getNodes().add(testIdentityAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(testIdentityAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ structuredActivityNode.getNodes().add(outputPin);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(outputPin));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ structuredActivityNode.getNodes().add(centralBufferNode);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(centralBufferNode));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ structuredActivityNode.getNodes().add(broadcastSignalAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(broadcastSignalAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ structuredActivityNode.getNodes().add(raiseExceptionAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(raiseExceptionAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ structuredActivityNode.getNodes().add(activityFinalNode);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(activityFinalNode));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ structuredActivityNode.getNodes().add(callOperationAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(callOperationAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ structuredActivityNode.getNodes().add(loopNode);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(loopNode));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ structuredActivityNode.getNodes().add(valueSpecificationAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(valueSpecificationAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ structuredActivityNode.getNodes().add(acceptCallAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(acceptCallAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ structuredActivityNode.getNodes().add(addVariableValueAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(addVariableValueAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ structuredActivityNode.getNodes().add(readLinkObjectEndAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(readLinkObjectEndAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ structuredActivityNode.getNodes().add(unmarshallAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(unmarshallAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ structuredActivityNode.getNodes().add(opaqueAction);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(opaqueAction));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ structuredActivityNode.getNodes().add(mergeNode);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(mergeNode));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ structuredActivityNode.getNodes().add(sequenceNode);
+ assertSuperset(
+ structuredActivityNode.getContainedNodes().contains(sequenceNode));
+ assertSuperset(
+ structuredActivityNode.getOwnedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ structuredActivityNode.getNodes().add(createObjectAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(createObjectAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ structuredActivityNode.getNodes().add(destroyObjectAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(destroyObjectAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ structuredActivityNode.getNodes().add(readStructuralFeatureAction);
+ assertSuperset(structuredActivityNode.getContainedNodes()
+ .contains(readStructuralFeatureAction));
+ assertSuperset(structuredActivityNode.getOwnedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SubstitutionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SubstitutionTest.java
new file mode 100755
index 00000000..334a132c
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/SubstitutionTest.java
@@ -0,0 +1,2561 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class SubstitutionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ substitution.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ substitution.getOwnedComments().add(comment);
+ assertSuperset(substitution.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ EList<Element> elements = substitution.getOwnedElements();
+ EList<Element> elements2 = substitution.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ EList<Dependency> dependencys = substitution.getClientDependencies();
+ EList<Dependency> dependencys2 = substitution.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ substitution.setNameExpression(stringExpression);
+ assertSuperset(
+ substitution.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ substitution.setOwningTemplateParameter(templateParameter);
+ assertSuperset(substitution.getOwner() == templateParameter);
+ assertSuperset(
+ substitution.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ substitution.setTemplateParameter(templateParameter);
+ }
+
+ public void testRelatedElement() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ EList<Element> elements = substitution.getRelatedElements();
+ EList<Element> elements2 = substitution.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ EList<Element> elements = substitution.getSources();
+ EList<Element> elements2 = substitution.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ EList<Element> elements = substitution.getTargets();
+ EList<Element> elements2 = substitution.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testClient() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ substitution.getClients().add(activity);
+ assertSuperset(substitution.getSources().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ substitution.getClients().add(communicationPath);
+ assertSuperset(substitution.getSources().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ substitution.getClients().add(readSelfAction);
+ assertSuperset(substitution.getSources().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ substitution.getClients().add(activityPartition);
+ assertSuperset(substitution.getSources().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ substitution.getClients().add(inputPin);
+ assertSuperset(substitution.getSources().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ substitution.getClients().add(readLinkObjectEndQualifierAction);
+ assertSuperset(substitution.getSources()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ substitution.getClients().add(component);
+ assertSuperset(substitution.getSources().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ substitution.getClients().add(manifestation);
+ assertSuperset(substitution.getSources().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ substitution.getClients().add(durationObservation);
+ assertSuperset(substitution.getSources().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ substitution.getClients().add(callEvent);
+ assertSuperset(substitution.getSources().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ substitution.getClients().add(joinNode);
+ assertSuperset(substitution.getSources().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ substitution.getClients().add(interaction);
+ assertSuperset(substitution.getSources().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ substitution.getClients().add(createLinkObjectAction);
+ assertSuperset(
+ substitution.getSources().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ substitution.getClients().add(opaqueBehavior);
+ assertSuperset(substitution.getSources().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ substitution.getClients().add(literalUnlimitedNatural);
+ assertSuperset(
+ substitution.getSources().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ substitution.getClients().add(sendSignalAction);
+ assertSuperset(substitution.getSources().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ substitution.getClients().add(readLinkAction);
+ assertSuperset(substitution.getSources().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ substitution.getClients().add(operation);
+ assertSuperset(substitution.getSources().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ substitution.getClients().add(clearAssociationAction);
+ assertSuperset(
+ substitution.getSources().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ substitution.getClients().add(model);
+ assertSuperset(substitution.getSources().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ substitution.getClients().add(parameter);
+ assertSuperset(substitution.getSources().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ substitution.getClients().add(instanceValue);
+ assertSuperset(substitution.getSources().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ substitution.getClients().add(trigger);
+ assertSuperset(substitution.getSources().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ substitution.getClients().add(interactionConstraint);
+ assertSuperset(
+ substitution.getSources().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ substitution.getClients().add(associationClass);
+ assertSuperset(substitution.getSources().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ substitution.getClients().add(interactionUse);
+ assertSuperset(substitution.getSources().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ substitution.getClients().add(clearStructuralFeatureAction);
+ assertSuperset(
+ substitution.getSources().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ substitution.getClients().add(interval);
+ assertSuperset(substitution.getSources().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ substitution.getClients().add(structuredActivityNode);
+ assertSuperset(
+ substitution.getSources().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ substitution.getClients().add(literalString);
+ assertSuperset(substitution.getSources().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ substitution.getClients().add(valuePin);
+ assertSuperset(substitution.getSources().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ substitution.getClients().add(interfaceRealization);
+ assertSuperset(
+ substitution.getSources().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ substitution.getClients().add(forkNode);
+ assertSuperset(substitution.getSources().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ substitution.getClients().add(decisionNode);
+ assertSuperset(substitution.getSources().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ substitution.getClients().add(actor);
+ assertSuperset(substitution.getSources().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ substitution.getClients().add(timeConstraint);
+ assertSuperset(substitution.getSources().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ substitution.getClients().add(reception);
+ assertSuperset(substitution.getSources().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ substitution.getClients().add(pseudostate);
+ assertSuperset(substitution.getSources().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ substitution.getClients().add(durationInterval);
+ assertSuperset(substitution.getSources().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ substitution.getClients().add(deployment);
+ assertSuperset(substitution.getSources().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ substitution.getClients().add(extensionEnd);
+ assertSuperset(substitution.getSources().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ substitution.getClients().add(considerIgnoreFragment);
+ assertSuperset(
+ substitution.getSources().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ substitution.getClients().add(conditionalNode);
+ assertSuperset(substitution.getSources().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ substitution.getClients().add(readExtentAction);
+ assertSuperset(substitution.getSources().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ substitution.getClients().add(actionInputPin);
+ assertSuperset(substitution.getSources().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ substitution.getClients().add(artifact);
+ assertSuperset(substitution.getSources().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ substitution.getClients().add(informationFlow);
+ assertSuperset(substitution.getSources().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ substitution.getClients().add(clearVariableAction);
+ assertSuperset(substitution.getSources().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ substitution.getClients().add(createLinkAction);
+ assertSuperset(substitution.getSources().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ substitution.getClients().add(signalEvent);
+ assertSuperset(substitution.getSources().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ substitution.getClients().add(connectionPointReference);
+ assertSuperset(
+ substitution.getSources().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ substitution.getClients().add(reclassifyObjectAction);
+ assertSuperset(
+ substitution.getSources().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ substitution.getClients().add(usage);
+ assertSuperset(substitution.getSources().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ substitution.getClients().add(dataStoreNode);
+ assertSuperset(substitution.getSources().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ substitution.getClients().add(executionEnvironment);
+ assertSuperset(
+ substitution.getSources().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ substitution.getClients().add(sendObjectAction);
+ assertSuperset(substitution.getSources().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ substitution.getClients().add(controlFlow);
+ assertSuperset(substitution.getSources().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ substitution.getClients().add(deploymentSpecification);
+ assertSuperset(
+ substitution.getSources().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ substitution.getClients().add(partDecomposition);
+ assertSuperset(substitution.getSources().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ substitution.getClients().add(destroyLinkAction);
+ assertSuperset(substitution.getSources().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ substitution.getClients().add(realization);
+ assertSuperset(substitution.getSources().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ substitution.getClients().add(expansionNode);
+ assertSuperset(substitution.getSources().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ substitution.getClients().add(testIdentityAction);
+ assertSuperset(substitution.getSources().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ substitution.getClients().add(association);
+ assertSuperset(substitution.getSources().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ substitution.getClients().add(timeInterval);
+ assertSuperset(substitution.getSources().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ substitution.getClients().add(dataType);
+ assertSuperset(substitution.getSources().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ substitution.getClients().add(outputPin);
+ assertSuperset(substitution.getSources().contains(outputPin));
+
+ Substitution substitution2 = UML.createSubstitution();
+ assertValid(substitution2);
+ substitution.getClients().add(substitution2);
+ assertSuperset(substitution.getSources().contains(substitution2));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ substitution.getClients().add(include);
+ assertSuperset(substitution.getSources().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ substitution.getClients().add(extend);
+ assertSuperset(substitution.getSources().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ substitution.getClients().add(broadcastSignalAction);
+ assertSuperset(
+ substitution.getSources().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ substitution.getClients().add(literalBoolean);
+ assertSuperset(substitution.getSources().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ substitution.getClients().add(finalState);
+ assertSuperset(substitution.getSources().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ substitution.getClients().add(raiseExceptionAction);
+ assertSuperset(
+ substitution.getSources().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ substitution.getClients().add(durationConstraint);
+ assertSuperset(substitution.getSources().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ substitution.getClients().add(activityFinalNode);
+ assertSuperset(substitution.getSources().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ substitution.getClients().add(literalNull);
+ assertSuperset(substitution.getSources().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ substitution.getClients().add(callOperationAction);
+ assertSuperset(substitution.getSources().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ substitution.getClients().add(protocolStateMachine);
+ assertSuperset(
+ substitution.getSources().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ substitution.getClients().add(loopNode);
+ assertSuperset(substitution.getSources().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ substitution.getClients().add(parameterSet);
+ assertSuperset(substitution.getSources().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ substitution.getClients().add(valueSpecificationAction);
+ assertSuperset(
+ substitution.getSources().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ substitution.getClients().add(node);
+ assertSuperset(substitution.getSources().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ substitution.getClients().add(sequenceNode);
+ assertSuperset(substitution.getSources().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ substitution.getClients().add(constraint);
+ assertSuperset(substitution.getSources().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ substitution.getClients().add(destroyObjectAction);
+ assertSuperset(substitution.getSources().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ substitution.getClients().add(stateMachine);
+ assertSuperset(substitution.getSources().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ substitution.getClients().add(enumerationLiteral);
+ assertSuperset(substitution.getSources().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ substitution.getClients().add(actionExecutionSpecification);
+ assertSuperset(
+ substitution.getSources().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ substitution.getClients().add(functionBehavior);
+ assertSuperset(substitution.getSources().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ substitution.getClients().add(interface_);
+ assertSuperset(substitution.getSources().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ substitution.getClients().add(instanceSpecification);
+ assertSuperset(
+ substitution.getSources().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ substitution.getClients().add(startClassifierBehaviorAction);
+ assertSuperset(
+ substitution.getSources().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ substitution.getClients().add(port);
+ assertSuperset(substitution.getSources().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ substitution.getClients().add(removeVariableValueAction);
+ assertSuperset(
+ substitution.getSources().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ substitution.getClients().add(informationItem);
+ assertSuperset(substitution.getSources().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ substitution.getClients().add(literalReal);
+ assertSuperset(substitution.getSources().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ substitution.getClients().add(redefinableTemplateSignature);
+ assertSuperset(
+ substitution.getSources().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ substitution.getClients().add(executionOccurrenceSpecification);
+ assertSuperset(substitution.getSources()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ substitution.getClients().add(duration);
+ assertSuperset(substitution.getSources().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ substitution.getClients().add(package_);
+ assertSuperset(substitution.getSources().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ substitution.getClients().add(variable);
+ assertSuperset(substitution.getSources().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ substitution.getClients().add(destructionOccurrenceSpecification);
+ assertSuperset(substitution.getSources()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ substitution.getClients().add(lifeline);
+ assertSuperset(substitution.getSources().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ substitution.getClients().add(timeObservation);
+ assertSuperset(substitution.getSources().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ substitution.getClients().add(replyAction);
+ assertSuperset(substitution.getSources().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ substitution.getClients().add(gate);
+ assertSuperset(substitution.getSources().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ substitution.getClients().add(property);
+ assertSuperset(substitution.getSources().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ substitution.getClients().add(timeExpression);
+ assertSuperset(substitution.getSources().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ substitution.getClients().add(device);
+ assertSuperset(substitution.getSources().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ substitution.getClients().add(flowFinalNode);
+ assertSuperset(substitution.getSources().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ substitution.getClients().add(expansionRegion);
+ assertSuperset(substitution.getSources().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ substitution.getClients().add(abstraction);
+ assertSuperset(substitution.getSources().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ substitution.getClients().add(startObjectBehaviorAction);
+ assertSuperset(
+ substitution.getSources().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ substitution.getClients().add(enumeration);
+ assertSuperset(substitution.getSources().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ substitution.getClients().add(primitiveType);
+ assertSuperset(substitution.getSources().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ substitution.getClients().add(profile);
+ assertSuperset(substitution.getSources().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ substitution.getClients().add(message);
+ assertSuperset(substitution.getSources().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ substitution.getClients().add(generalizationSet);
+ assertSuperset(substitution.getSources().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ substitution.getClients().add(continuation);
+ assertSuperset(substitution.getSources().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ substitution.getClients().add(signal);
+ assertSuperset(substitution.getSources().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ substitution.getClients().add(callBehaviorAction);
+ assertSuperset(substitution.getSources().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ substitution.getClients().add(objectFlow);
+ assertSuperset(substitution.getSources().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ substitution.getClients().add(stateInvariant);
+ assertSuperset(substitution.getSources().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ substitution.getClients().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ substitution.getSources().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ substitution.getClients().add(activityParameterNode);
+ assertSuperset(
+ substitution.getSources().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ substitution.getClients().add(addStructuralFeatureValueAction);
+ assertSuperset(substitution.getSources()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ substitution.getClients().add(readVariableAction);
+ assertSuperset(substitution.getSources().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ substitution.getClients().add(interruptibleActivityRegion);
+ assertSuperset(
+ substitution.getSources().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ substitution.getClients().add(removeStructuralFeatureValueAction);
+ assertSuperset(substitution.getSources()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ substitution.getClients().add(opaqueExpression);
+ assertSuperset(substitution.getSources().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ substitution.getClients().add(timeEvent);
+ assertSuperset(substitution.getSources().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ substitution.getClients().add(generalOrdering);
+ assertSuperset(substitution.getSources().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ substitution.getClients().add(region);
+ assertSuperset(substitution.getSources().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ substitution.getClients().add(transition);
+ assertSuperset(substitution.getSources().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ substitution.getClients().add(anyReceiveEvent);
+ assertSuperset(substitution.getSources().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ substitution.getClients().add(messageOccurrenceSpecification);
+ assertSuperset(
+ substitution.getSources().contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ substitution.getClients().add(literalInteger);
+ assertSuperset(substitution.getSources().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ substitution.getClients().add(reduceAction);
+ assertSuperset(substitution.getSources().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ substitution.getClients().add(acceptEventAction);
+ assertSuperset(substitution.getSources().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ substitution.getClients().add(initialNode);
+ assertSuperset(substitution.getSources().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ substitution.getClients().add(centralBufferNode);
+ assertSuperset(substitution.getSources().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ substitution.getClients().add(combinedFragment);
+ assertSuperset(substitution.getSources().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ substitution.getClients().add(intervalConstraint);
+ assertSuperset(substitution.getSources().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ substitution.getClients().add(extension);
+ assertSuperset(substitution.getSources().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ substitution.getClients().add(occurrenceSpecification);
+ assertSuperset(
+ substitution.getSources().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ substitution.getClients().add(extensionPoint);
+ assertSuperset(substitution.getSources().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ substitution.getClients().add(dependency);
+ assertSuperset(substitution.getSources().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ substitution.getClients().add(connector);
+ assertSuperset(substitution.getSources().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ substitution.getClients().add(expression);
+ assertSuperset(substitution.getSources().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ substitution.getClients().add(componentRealization);
+ assertSuperset(
+ substitution.getSources().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ substitution.getClients().add(class_);
+ assertSuperset(substitution.getSources().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ substitution.getClients().add(state);
+ assertSuperset(substitution.getSources().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ substitution.getClients().add(protocolTransition);
+ assertSuperset(substitution.getSources().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ substitution.getClients().add(behaviorExecutionSpecification);
+ assertSuperset(
+ substitution.getSources().contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ substitution.getClients().add(collaborationUse);
+ assertSuperset(substitution.getSources().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ substitution.getClients().add(interactionOperand);
+ assertSuperset(substitution.getSources().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ substitution.getClients().add(acceptCallAction);
+ assertSuperset(substitution.getSources().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ substitution.getClients().add(addVariableValueAction);
+ assertSuperset(
+ substitution.getSources().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ substitution.getClients().add(readLinkObjectEndAction);
+ assertSuperset(
+ substitution.getSources().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ substitution.getClients().add(useCase);
+ assertSuperset(substitution.getSources().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ substitution.getClients().add(unmarshallAction);
+ assertSuperset(substitution.getSources().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ substitution.getClients().add(opaqueAction);
+ assertSuperset(substitution.getSources().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ substitution.getClients().add(stringExpression);
+ assertSuperset(substitution.getSources().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ substitution.getClients().add(mergeNode);
+ assertSuperset(substitution.getSources().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ substitution.getClients().add(changeEvent);
+ assertSuperset(substitution.getSources().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ substitution.getClients().add(createObjectAction);
+ assertSuperset(substitution.getSources().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ substitution.getClients().add(stereotype);
+ assertSuperset(substitution.getSources().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ substitution.getClients().add(readStructuralFeatureAction);
+ assertSuperset(
+ substitution.getSources().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ substitution.getClients().add(collaboration);
+ assertSuperset(substitution.getSources().contains(collaboration));
+ }
+
+ public void testSupplier() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ substitution.getSuppliers().add(activity);
+ assertSuperset(substitution.getTargets().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ substitution.getSuppliers().add(communicationPath);
+ assertSuperset(substitution.getTargets().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ substitution.getSuppliers().add(readSelfAction);
+ assertSuperset(substitution.getTargets().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ substitution.getSuppliers().add(activityPartition);
+ assertSuperset(substitution.getTargets().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ substitution.getSuppliers().add(inputPin);
+ assertSuperset(substitution.getTargets().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ substitution.getSuppliers().add(readLinkObjectEndQualifierAction);
+ assertSuperset(substitution.getTargets()
+ .contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ substitution.getSuppliers().add(component);
+ assertSuperset(substitution.getTargets().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ substitution.getSuppliers().add(manifestation);
+ assertSuperset(substitution.getTargets().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ substitution.getSuppliers().add(durationObservation);
+ assertSuperset(substitution.getTargets().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ substitution.getSuppliers().add(callEvent);
+ assertSuperset(substitution.getTargets().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ substitution.getSuppliers().add(joinNode);
+ assertSuperset(substitution.getTargets().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ substitution.getSuppliers().add(interaction);
+ assertSuperset(substitution.getTargets().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ substitution.getSuppliers().add(createLinkObjectAction);
+ assertSuperset(
+ substitution.getTargets().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ substitution.getSuppliers().add(opaqueBehavior);
+ assertSuperset(substitution.getTargets().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ substitution.getSuppliers().add(literalUnlimitedNatural);
+ assertSuperset(
+ substitution.getTargets().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ substitution.getSuppliers().add(sendSignalAction);
+ assertSuperset(substitution.getTargets().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ substitution.getSuppliers().add(readLinkAction);
+ assertSuperset(substitution.getTargets().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ substitution.getSuppliers().add(operation);
+ assertSuperset(substitution.getTargets().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ substitution.getSuppliers().add(clearAssociationAction);
+ assertSuperset(
+ substitution.getTargets().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ substitution.getSuppliers().add(model);
+ assertSuperset(substitution.getTargets().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ substitution.getSuppliers().add(parameter);
+ assertSuperset(substitution.getTargets().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ substitution.getSuppliers().add(instanceValue);
+ assertSuperset(substitution.getTargets().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ substitution.getSuppliers().add(trigger);
+ assertSuperset(substitution.getTargets().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ substitution.getSuppliers().add(interactionConstraint);
+ assertSuperset(
+ substitution.getTargets().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ substitution.getSuppliers().add(associationClass);
+ assertSuperset(substitution.getTargets().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ substitution.getSuppliers().add(interactionUse);
+ assertSuperset(substitution.getTargets().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ substitution.getSuppliers().add(clearStructuralFeatureAction);
+ assertSuperset(
+ substitution.getTargets().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ substitution.getSuppliers().add(interval);
+ assertSuperset(substitution.getTargets().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ substitution.getSuppliers().add(structuredActivityNode);
+ assertSuperset(
+ substitution.getTargets().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ substitution.getSuppliers().add(literalString);
+ assertSuperset(substitution.getTargets().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ substitution.getSuppliers().add(valuePin);
+ assertSuperset(substitution.getTargets().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ substitution.getSuppliers().add(interfaceRealization);
+ assertSuperset(
+ substitution.getTargets().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ substitution.getSuppliers().add(forkNode);
+ assertSuperset(substitution.getTargets().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ substitution.getSuppliers().add(decisionNode);
+ assertSuperset(substitution.getTargets().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ substitution.getSuppliers().add(actor);
+ assertSuperset(substitution.getTargets().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ substitution.getSuppliers().add(timeConstraint);
+ assertSuperset(substitution.getTargets().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ substitution.getSuppliers().add(reception);
+ assertSuperset(substitution.getTargets().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ substitution.getSuppliers().add(pseudostate);
+ assertSuperset(substitution.getTargets().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ substitution.getSuppliers().add(durationInterval);
+ assertSuperset(substitution.getTargets().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ substitution.getSuppliers().add(deployment);
+ assertSuperset(substitution.getTargets().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ substitution.getSuppliers().add(extensionEnd);
+ assertSuperset(substitution.getTargets().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ substitution.getSuppliers().add(considerIgnoreFragment);
+ assertSuperset(
+ substitution.getTargets().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ substitution.getSuppliers().add(conditionalNode);
+ assertSuperset(substitution.getTargets().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ substitution.getSuppliers().add(readExtentAction);
+ assertSuperset(substitution.getTargets().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ substitution.getSuppliers().add(actionInputPin);
+ assertSuperset(substitution.getTargets().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ substitution.getSuppliers().add(artifact);
+ assertSuperset(substitution.getTargets().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ substitution.getSuppliers().add(informationFlow);
+ assertSuperset(substitution.getTargets().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ substitution.getSuppliers().add(clearVariableAction);
+ assertSuperset(substitution.getTargets().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ substitution.getSuppliers().add(createLinkAction);
+ assertSuperset(substitution.getTargets().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ substitution.getSuppliers().add(signalEvent);
+ assertSuperset(substitution.getTargets().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ substitution.getSuppliers().add(connectionPointReference);
+ assertSuperset(
+ substitution.getTargets().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ substitution.getSuppliers().add(reclassifyObjectAction);
+ assertSuperset(
+ substitution.getTargets().contains(reclassifyObjectAction));
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ substitution.getSuppliers().add(usage);
+ assertSuperset(substitution.getTargets().contains(usage));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ substitution.getSuppliers().add(dataStoreNode);
+ assertSuperset(substitution.getTargets().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ substitution.getSuppliers().add(executionEnvironment);
+ assertSuperset(
+ substitution.getTargets().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ substitution.getSuppliers().add(sendObjectAction);
+ assertSuperset(substitution.getTargets().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ substitution.getSuppliers().add(controlFlow);
+ assertSuperset(substitution.getTargets().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ substitution.getSuppliers().add(deploymentSpecification);
+ assertSuperset(
+ substitution.getTargets().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ substitution.getSuppliers().add(partDecomposition);
+ assertSuperset(substitution.getTargets().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ substitution.getSuppliers().add(destroyLinkAction);
+ assertSuperset(substitution.getTargets().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ substitution.getSuppliers().add(realization);
+ assertSuperset(substitution.getTargets().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ substitution.getSuppliers().add(expansionNode);
+ assertSuperset(substitution.getTargets().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ substitution.getSuppliers().add(testIdentityAction);
+ assertSuperset(substitution.getTargets().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ substitution.getSuppliers().add(association);
+ assertSuperset(substitution.getTargets().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ substitution.getSuppliers().add(timeInterval);
+ assertSuperset(substitution.getTargets().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ substitution.getSuppliers().add(dataType);
+ assertSuperset(substitution.getTargets().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ substitution.getSuppliers().add(outputPin);
+ assertSuperset(substitution.getTargets().contains(outputPin));
+
+ Substitution substitution2 = UML.createSubstitution();
+ assertValid(substitution2);
+ substitution.getSuppliers().add(substitution2);
+ assertSuperset(substitution.getTargets().contains(substitution2));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ substitution.getSuppliers().add(include);
+ assertSuperset(substitution.getTargets().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ substitution.getSuppliers().add(extend);
+ assertSuperset(substitution.getTargets().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ substitution.getSuppliers().add(broadcastSignalAction);
+ assertSuperset(
+ substitution.getTargets().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ substitution.getSuppliers().add(literalBoolean);
+ assertSuperset(substitution.getTargets().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ substitution.getSuppliers().add(finalState);
+ assertSuperset(substitution.getTargets().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ substitution.getSuppliers().add(raiseExceptionAction);
+ assertSuperset(
+ substitution.getTargets().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ substitution.getSuppliers().add(durationConstraint);
+ assertSuperset(substitution.getTargets().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ substitution.getSuppliers().add(activityFinalNode);
+ assertSuperset(substitution.getTargets().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ substitution.getSuppliers().add(literalNull);
+ assertSuperset(substitution.getTargets().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ substitution.getSuppliers().add(callOperationAction);
+ assertSuperset(substitution.getTargets().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ substitution.getSuppliers().add(protocolStateMachine);
+ assertSuperset(
+ substitution.getTargets().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ substitution.getSuppliers().add(loopNode);
+ assertSuperset(substitution.getTargets().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ substitution.getSuppliers().add(parameterSet);
+ assertSuperset(substitution.getTargets().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ substitution.getSuppliers().add(valueSpecificationAction);
+ assertSuperset(
+ substitution.getTargets().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ substitution.getSuppliers().add(node);
+ assertSuperset(substitution.getTargets().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ substitution.getSuppliers().add(sequenceNode);
+ assertSuperset(substitution.getTargets().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ substitution.getSuppliers().add(constraint);
+ assertSuperset(substitution.getTargets().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ substitution.getSuppliers().add(destroyObjectAction);
+ assertSuperset(substitution.getTargets().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ substitution.getSuppliers().add(stateMachine);
+ assertSuperset(substitution.getTargets().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ substitution.getSuppliers().add(enumerationLiteral);
+ assertSuperset(substitution.getTargets().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ substitution.getSuppliers().add(actionExecutionSpecification);
+ assertSuperset(
+ substitution.getTargets().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ substitution.getSuppliers().add(functionBehavior);
+ assertSuperset(substitution.getTargets().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ substitution.getSuppliers().add(interface_);
+ assertSuperset(substitution.getTargets().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ substitution.getSuppliers().add(instanceSpecification);
+ assertSuperset(
+ substitution.getTargets().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ substitution.getSuppliers().add(startClassifierBehaviorAction);
+ assertSuperset(
+ substitution.getTargets().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ substitution.getSuppliers().add(port);
+ assertSuperset(substitution.getTargets().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ substitution.getSuppliers().add(removeVariableValueAction);
+ assertSuperset(
+ substitution.getTargets().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ substitution.getSuppliers().add(informationItem);
+ assertSuperset(substitution.getTargets().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ substitution.getSuppliers().add(literalReal);
+ assertSuperset(substitution.getTargets().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ substitution.getSuppliers().add(redefinableTemplateSignature);
+ assertSuperset(
+ substitution.getTargets().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ substitution.getSuppliers().add(executionOccurrenceSpecification);
+ assertSuperset(substitution.getTargets()
+ .contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ substitution.getSuppliers().add(duration);
+ assertSuperset(substitution.getTargets().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ substitution.getSuppliers().add(package_);
+ assertSuperset(substitution.getTargets().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ substitution.getSuppliers().add(variable);
+ assertSuperset(substitution.getTargets().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ substitution.getSuppliers().add(destructionOccurrenceSpecification);
+ assertSuperset(substitution.getTargets()
+ .contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ substitution.getSuppliers().add(lifeline);
+ assertSuperset(substitution.getTargets().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ substitution.getSuppliers().add(timeObservation);
+ assertSuperset(substitution.getTargets().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ substitution.getSuppliers().add(replyAction);
+ assertSuperset(substitution.getTargets().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ substitution.getSuppliers().add(gate);
+ assertSuperset(substitution.getTargets().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ substitution.getSuppliers().add(property);
+ assertSuperset(substitution.getTargets().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ substitution.getSuppliers().add(timeExpression);
+ assertSuperset(substitution.getTargets().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ substitution.getSuppliers().add(device);
+ assertSuperset(substitution.getTargets().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ substitution.getSuppliers().add(flowFinalNode);
+ assertSuperset(substitution.getTargets().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ substitution.getSuppliers().add(expansionRegion);
+ assertSuperset(substitution.getTargets().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ substitution.getSuppliers().add(abstraction);
+ assertSuperset(substitution.getTargets().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ substitution.getSuppliers().add(startObjectBehaviorAction);
+ assertSuperset(
+ substitution.getTargets().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ substitution.getSuppliers().add(enumeration);
+ assertSuperset(substitution.getTargets().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ substitution.getSuppliers().add(primitiveType);
+ assertSuperset(substitution.getTargets().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ substitution.getSuppliers().add(profile);
+ assertSuperset(substitution.getTargets().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ substitution.getSuppliers().add(message);
+ assertSuperset(substitution.getTargets().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ substitution.getSuppliers().add(generalizationSet);
+ assertSuperset(substitution.getTargets().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ substitution.getSuppliers().add(continuation);
+ assertSuperset(substitution.getTargets().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ substitution.getSuppliers().add(signal);
+ assertSuperset(substitution.getTargets().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ substitution.getSuppliers().add(callBehaviorAction);
+ assertSuperset(substitution.getTargets().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ substitution.getSuppliers().add(objectFlow);
+ assertSuperset(substitution.getTargets().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ substitution.getSuppliers().add(stateInvariant);
+ assertSuperset(substitution.getTargets().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ substitution.getSuppliers().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ substitution.getTargets().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ substitution.getSuppliers().add(activityParameterNode);
+ assertSuperset(
+ substitution.getTargets().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ substitution.getSuppliers().add(addStructuralFeatureValueAction);
+ assertSuperset(substitution.getTargets()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ substitution.getSuppliers().add(readVariableAction);
+ assertSuperset(substitution.getTargets().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ substitution.getSuppliers().add(interruptibleActivityRegion);
+ assertSuperset(
+ substitution.getTargets().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ substitution.getSuppliers().add(removeStructuralFeatureValueAction);
+ assertSuperset(substitution.getTargets()
+ .contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ substitution.getSuppliers().add(opaqueExpression);
+ assertSuperset(substitution.getTargets().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ substitution.getSuppliers().add(timeEvent);
+ assertSuperset(substitution.getTargets().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ substitution.getSuppliers().add(generalOrdering);
+ assertSuperset(substitution.getTargets().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ substitution.getSuppliers().add(region);
+ assertSuperset(substitution.getTargets().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ substitution.getSuppliers().add(transition);
+ assertSuperset(substitution.getTargets().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ substitution.getSuppliers().add(anyReceiveEvent);
+ assertSuperset(substitution.getTargets().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ substitution.getSuppliers().add(messageOccurrenceSpecification);
+ assertSuperset(
+ substitution.getTargets().contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ substitution.getSuppliers().add(literalInteger);
+ assertSuperset(substitution.getTargets().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ substitution.getSuppliers().add(reduceAction);
+ assertSuperset(substitution.getTargets().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ substitution.getSuppliers().add(acceptEventAction);
+ assertSuperset(substitution.getTargets().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ substitution.getSuppliers().add(initialNode);
+ assertSuperset(substitution.getTargets().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ substitution.getSuppliers().add(centralBufferNode);
+ assertSuperset(substitution.getTargets().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ substitution.getSuppliers().add(combinedFragment);
+ assertSuperset(substitution.getTargets().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ substitution.getSuppliers().add(intervalConstraint);
+ assertSuperset(substitution.getTargets().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ substitution.getSuppliers().add(extension);
+ assertSuperset(substitution.getTargets().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ substitution.getSuppliers().add(occurrenceSpecification);
+ assertSuperset(
+ substitution.getTargets().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ substitution.getSuppliers().add(extensionPoint);
+ assertSuperset(substitution.getTargets().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ substitution.getSuppliers().add(dependency);
+ assertSuperset(substitution.getTargets().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ substitution.getSuppliers().add(connector);
+ assertSuperset(substitution.getTargets().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ substitution.getSuppliers().add(expression);
+ assertSuperset(substitution.getTargets().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ substitution.getSuppliers().add(componentRealization);
+ assertSuperset(
+ substitution.getTargets().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ substitution.getSuppliers().add(class_);
+ assertSuperset(substitution.getTargets().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ substitution.getSuppliers().add(state);
+ assertSuperset(substitution.getTargets().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ substitution.getSuppliers().add(protocolTransition);
+ assertSuperset(substitution.getTargets().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ substitution.getSuppliers().add(behaviorExecutionSpecification);
+ assertSuperset(
+ substitution.getTargets().contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ substitution.getSuppliers().add(collaborationUse);
+ assertSuperset(substitution.getTargets().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ substitution.getSuppliers().add(interactionOperand);
+ assertSuperset(substitution.getTargets().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ substitution.getSuppliers().add(acceptCallAction);
+ assertSuperset(substitution.getTargets().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ substitution.getSuppliers().add(addVariableValueAction);
+ assertSuperset(
+ substitution.getTargets().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ substitution.getSuppliers().add(readLinkObjectEndAction);
+ assertSuperset(
+ substitution.getTargets().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ substitution.getSuppliers().add(useCase);
+ assertSuperset(substitution.getTargets().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ substitution.getSuppliers().add(unmarshallAction);
+ assertSuperset(substitution.getTargets().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ substitution.getSuppliers().add(opaqueAction);
+ assertSuperset(substitution.getTargets().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ substitution.getSuppliers().add(stringExpression);
+ assertSuperset(substitution.getTargets().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ substitution.getSuppliers().add(mergeNode);
+ assertSuperset(substitution.getTargets().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ substitution.getSuppliers().add(changeEvent);
+ assertSuperset(substitution.getTargets().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ substitution.getSuppliers().add(createObjectAction);
+ assertSuperset(substitution.getTargets().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ substitution.getSuppliers().add(stereotype);
+ assertSuperset(substitution.getTargets().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ substitution.getSuppliers().add(readStructuralFeatureAction);
+ assertSuperset(
+ substitution.getTargets().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ substitution.getSuppliers().add(collaboration);
+ assertSuperset(substitution.getTargets().contains(collaboration));
+ }
+
+ public void testMapping() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ substitution.setMapping(opaqueExpression);
+ assertSuperset(
+ substitution.getOwnedElements().contains(opaqueExpression));
+ }
+
+ public void testContract() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ substitution.setContract(functionBehavior);
+ assertSuperset(substitution.getSuppliers().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ substitution.setContract(activity);
+ assertSuperset(substitution.getSuppliers().contains(activity));
+
+ Substitution substitution2 = UML.createSubstitution();
+ assertValid(substitution2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ substitution2.setContract(interface_);
+ assertSuperset(substitution2.getSuppliers().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ substitution2.setContract(informationItem);
+ assertSuperset(substitution2.getSuppliers().contains(informationItem));
+
+ Substitution substitution3 = UML.createSubstitution();
+ assertValid(substitution3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ substitution3.setContract(communicationPath);
+ assertSuperset(
+ substitution3.getSuppliers().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ substitution3.setContract(executionEnvironment);
+ assertSuperset(
+ substitution3.getSuppliers().contains(executionEnvironment));
+
+ Substitution substitution4 = UML.createSubstitution();
+ assertValid(substitution4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ substitution4.setContract(component);
+ assertSuperset(substitution4.getSuppliers().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ substitution4.setContract(interaction);
+ assertSuperset(substitution4.getSuppliers().contains(interaction));
+
+ Substitution substitution5 = UML.createSubstitution();
+ assertValid(substitution5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ substitution5.setContract(deploymentSpecification);
+ assertSuperset(
+ substitution5.getSuppliers().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ substitution5.setContract(opaqueBehavior);
+ assertSuperset(substitution5.getSuppliers().contains(opaqueBehavior));
+
+ Substitution substitution6 = UML.createSubstitution();
+ assertValid(substitution6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ substitution6.setContract(association);
+ assertSuperset(substitution6.getSuppliers().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ substitution6.setContract(dataType);
+ assertSuperset(substitution6.getSuppliers().contains(dataType));
+
+ Substitution substitution7 = UML.createSubstitution();
+ assertValid(substitution7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ substitution7.setContract(device);
+ assertSuperset(substitution7.getSuppliers().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ substitution7.setContract(extension);
+ assertSuperset(substitution7.getSuppliers().contains(extension));
+
+ Substitution substitution8 = UML.createSubstitution();
+ assertValid(substitution8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ substitution8.setContract(associationClass);
+ assertSuperset(substitution8.getSuppliers().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ substitution8.setContract(class_);
+ assertSuperset(substitution8.getSuppliers().contains(class_));
+
+ Substitution substitution9 = UML.createSubstitution();
+ assertValid(substitution9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ substitution9.setContract(enumeration);
+ assertSuperset(substitution9.getSuppliers().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ substitution9.setContract(primitiveType);
+ assertSuperset(substitution9.getSuppliers().contains(primitiveType));
+
+ Substitution substitution10 = UML.createSubstitution();
+ assertValid(substitution10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ substitution10.setContract(actor);
+ assertSuperset(substitution10.getSuppliers().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ substitution10.setContract(protocolStateMachine);
+ assertSuperset(
+ substitution10.getSuppliers().contains(protocolStateMachine));
+
+ Substitution substitution11 = UML.createSubstitution();
+ assertValid(substitution11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ substitution11.setContract(useCase);
+ assertSuperset(substitution11.getSuppliers().contains(useCase));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ substitution11.setContract(signal);
+ assertSuperset(substitution11.getSuppliers().contains(signal));
+
+ Substitution substitution12 = UML.createSubstitution();
+ assertValid(substitution12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ substitution12.setContract(node);
+ assertSuperset(substitution12.getSuppliers().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ substitution12.setContract(stereotype);
+ assertSuperset(substitution12.getSuppliers().contains(stereotype));
+
+ Substitution substitution13 = UML.createSubstitution();
+ assertValid(substitution13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ substitution13.setContract(stateMachine);
+ assertSuperset(substitution13.getSuppliers().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ substitution13.setContract(artifact);
+ assertSuperset(substitution13.getSuppliers().contains(artifact));
+
+ Substitution substitution14 = UML.createSubstitution();
+ assertValid(substitution14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ substitution14.setContract(collaboration);
+ assertSuperset(substitution14.getSuppliers().contains(collaboration));
+ }
+
+ public void testSubstitutingClassifier() {
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ substitution.setSubstitutingClassifier(functionBehavior);
+ assertSuperset(substitution.getClients().contains(functionBehavior));
+ assertSuperset(substitution.getOwner() == functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ substitution.setSubstitutingClassifier(activity);
+ assertSuperset(substitution.getClients().contains(activity));
+ assertSuperset(substitution.getOwner() == activity);
+
+ Substitution substitution2 = UML.createSubstitution();
+ assertValid(substitution2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ substitution2.setSubstitutingClassifier(interface_);
+ assertSuperset(substitution2.getClients().contains(interface_));
+ assertSuperset(substitution2.getOwner() == interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ substitution2.setSubstitutingClassifier(informationItem);
+ assertSuperset(substitution2.getClients().contains(informationItem));
+ assertSuperset(substitution2.getOwner() == informationItem);
+
+ Substitution substitution3 = UML.createSubstitution();
+ assertValid(substitution3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ substitution3.setSubstitutingClassifier(communicationPath);
+ assertSuperset(substitution3.getClients().contains(communicationPath));
+ assertSuperset(substitution3.getOwner() == communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ substitution3.setSubstitutingClassifier(executionEnvironment);
+ assertSuperset(
+ substitution3.getClients().contains(executionEnvironment));
+ assertSuperset(substitution3.getOwner() == executionEnvironment);
+
+ Substitution substitution4 = UML.createSubstitution();
+ assertValid(substitution4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ substitution4.setSubstitutingClassifier(component);
+ assertSuperset(substitution4.getClients().contains(component));
+ assertSuperset(substitution4.getOwner() == component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ substitution4.setSubstitutingClassifier(interaction);
+ assertSuperset(substitution4.getClients().contains(interaction));
+ assertSuperset(substitution4.getOwner() == interaction);
+
+ Substitution substitution5 = UML.createSubstitution();
+ assertValid(substitution5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ substitution5.setSubstitutingClassifier(deploymentSpecification);
+ assertSuperset(
+ substitution5.getClients().contains(deploymentSpecification));
+ assertSuperset(substitution5.getOwner() == deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ substitution5.setSubstitutingClassifier(opaqueBehavior);
+ assertSuperset(substitution5.getClients().contains(opaqueBehavior));
+ assertSuperset(substitution5.getOwner() == opaqueBehavior);
+
+ Substitution substitution6 = UML.createSubstitution();
+ assertValid(substitution6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ substitution6.setSubstitutingClassifier(association);
+ assertSuperset(substitution6.getClients().contains(association));
+ assertSuperset(substitution6.getOwner() == association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ substitution6.setSubstitutingClassifier(dataType);
+ assertSuperset(substitution6.getClients().contains(dataType));
+ assertSuperset(substitution6.getOwner() == dataType);
+
+ Substitution substitution7 = UML.createSubstitution();
+ assertValid(substitution7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ substitution7.setSubstitutingClassifier(device);
+ assertSuperset(substitution7.getClients().contains(device));
+ assertSuperset(substitution7.getOwner() == device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ substitution7.setSubstitutingClassifier(extension);
+ assertSuperset(substitution7.getClients().contains(extension));
+ assertSuperset(substitution7.getOwner() == extension);
+
+ Substitution substitution8 = UML.createSubstitution();
+ assertValid(substitution8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ substitution8.setSubstitutingClassifier(associationClass);
+ assertSuperset(substitution8.getClients().contains(associationClass));
+ assertSuperset(substitution8.getOwner() == associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ substitution8.setSubstitutingClassifier(class_);
+ assertSuperset(substitution8.getClients().contains(class_));
+ assertSuperset(substitution8.getOwner() == class_);
+
+ Substitution substitution9 = UML.createSubstitution();
+ assertValid(substitution9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ substitution9.setSubstitutingClassifier(enumeration);
+ assertSuperset(substitution9.getClients().contains(enumeration));
+ assertSuperset(substitution9.getOwner() == enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ substitution9.setSubstitutingClassifier(primitiveType);
+ assertSuperset(substitution9.getClients().contains(primitiveType));
+ assertSuperset(substitution9.getOwner() == primitiveType);
+
+ Substitution substitution10 = UML.createSubstitution();
+ assertValid(substitution10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ substitution10.setSubstitutingClassifier(actor);
+ assertSuperset(substitution10.getClients().contains(actor));
+ assertSuperset(substitution10.getOwner() == actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ substitution10.setSubstitutingClassifier(protocolStateMachine);
+ assertSuperset(
+ substitution10.getClients().contains(protocolStateMachine));
+ assertSuperset(substitution10.getOwner() == protocolStateMachine);
+
+ Substitution substitution11 = UML.createSubstitution();
+ assertValid(substitution11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ substitution11.setSubstitutingClassifier(useCase);
+ assertSuperset(substitution11.getClients().contains(useCase));
+ assertSuperset(substitution11.getOwner() == useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ substitution11.setSubstitutingClassifier(signal);
+ assertSuperset(substitution11.getClients().contains(signal));
+ assertSuperset(substitution11.getOwner() == signal);
+
+ Substitution substitution12 = UML.createSubstitution();
+ assertValid(substitution12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ substitution12.setSubstitutingClassifier(node);
+ assertSuperset(substitution12.getClients().contains(node));
+ assertSuperset(substitution12.getOwner() == node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ substitution12.setSubstitutingClassifier(stereotype);
+ assertSuperset(substitution12.getClients().contains(stereotype));
+ assertSuperset(substitution12.getOwner() == stereotype);
+
+ Substitution substitution13 = UML.createSubstitution();
+ assertValid(substitution13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ substitution13.setSubstitutingClassifier(stateMachine);
+ assertSuperset(substitution13.getClients().contains(stateMachine));
+ assertSuperset(substitution13.getOwner() == stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ substitution13.setSubstitutingClassifier(artifact);
+ assertSuperset(substitution13.getClients().contains(artifact));
+ assertSuperset(substitution13.getOwner() == artifact);
+
+ Substitution substitution14 = UML.createSubstitution();
+ assertValid(substitution14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ substitution14.setSubstitutingClassifier(collaboration);
+ assertSuperset(substitution14.getClients().contains(collaboration));
+ assertSuperset(substitution14.getOwner() == collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateBindingTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateBindingTest.java
new file mode 100755
index 00000000..2b7dc6ff
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateBindingTest.java
@@ -0,0 +1,158 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+
+/**
+ * @author Eike Stepper
+ */
+public class TemplateBindingTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ templateBinding.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ templateBinding.getOwnedComments().add(comment);
+ assertSuperset(templateBinding.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ EList<Element> elements = templateBinding.getOwnedElements();
+ EList<Element> elements2 = templateBinding.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testRelatedElement() {
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ EList<Element> elements = templateBinding.getRelatedElements();
+ EList<Element> elements2 = templateBinding.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ EList<Element> elements = templateBinding.getSources();
+ EList<Element> elements2 = templateBinding.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ EList<Element> elements = templateBinding.getTargets();
+ EList<Element> elements2 = templateBinding.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testParameterSubstitution() {
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+ templateBinding.getParameterSubstitutions()
+ .add(templateParameterSubstitution);
+ assertSuperset(templateBinding.getOwnedElements()
+ .contains(templateParameterSubstitution));
+ }
+
+ public void testSignature() {
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ templateBinding.setSignature(templateSignature);
+ assertSuperset(
+ templateBinding.getTargets().contains(templateSignature));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ templateBinding.setSignature(redefinableTemplateSignature);
+ assertSuperset(templateBinding.getTargets()
+ .contains(redefinableTemplateSignature));
+ }
+
+ public void testBoundElement() {
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ templateBinding.setBoundElement(package_);
+ assertSuperset(templateBinding.getSources().contains(package_));
+ assertSuperset(templateBinding.getOwner() == package_);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ templateBinding.setBoundElement(operation);
+ assertSuperset(templateBinding.getSources().contains(operation));
+ assertSuperset(templateBinding.getOwner() == operation);
+
+ TemplateBinding templateBinding2 = UML.createTemplateBinding();
+ assertValid(templateBinding2);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ templateBinding2.setBoundElement(model);
+ assertSuperset(templateBinding2.getSources().contains(model));
+ assertSuperset(templateBinding2.getOwner() == model);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ templateBinding2.setBoundElement(profile);
+ assertSuperset(templateBinding2.getSources().contains(profile));
+ assertSuperset(templateBinding2.getOwner() == profile);
+
+ TemplateBinding templateBinding3 = UML.createTemplateBinding();
+ assertValid(templateBinding3);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ templateBinding3.setBoundElement(stringExpression);
+ assertSuperset(
+ templateBinding3.getSources().contains(stringExpression));
+ assertSuperset(templateBinding3.getOwner() == stringExpression);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateParameterSubstitutionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateParameterSubstitutionTest.java
new file mode 100755
index 00000000..a3aeae89
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateParameterSubstitutionTest.java
@@ -0,0 +1,850 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Usage;
+
+/**
+ * @author Eike Stepper
+ */
+public class TemplateParameterSubstitutionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ templateParameterSubstitution.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ templateParameterSubstitution.getOwnedComments().add(comment);
+ assertSuperset(
+ templateParameterSubstitution.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+ EList<Element> elements = templateParameterSubstitution
+ .getOwnedElements();
+ EList<Element> elements2 = templateParameterSubstitution
+ .getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testActual() {
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ templateParameterSubstitution.setActual(instanceSpecification);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ templateParameterSubstitution.setActual(literalReal);
+
+ TemplateParameterSubstitution templateParameterSubstitution2 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution2);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ templateParameterSubstitution2.setActual(duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ templateParameterSubstitution2.setActual(package_);
+
+ TemplateParameterSubstitution templateParameterSubstitution3 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution3);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ templateParameterSubstitution3.setActual(manifestation);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ templateParameterSubstitution3.setActual(durationObservation);
+
+ TemplateParameterSubstitution templateParameterSubstitution4 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution4);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ templateParameterSubstitution4.setActual(callEvent);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ templateParameterSubstitution4.setActual(literalUnlimitedNatural);
+
+ TemplateParameterSubstitution templateParameterSubstitution5 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution5);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ templateParameterSubstitution5.setActual(timeObservation);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ templateParameterSubstitution5.setActual(model);
+
+ TemplateParameterSubstitution templateParameterSubstitution6 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution6);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ templateParameterSubstitution6.setActual(timeExpression);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ templateParameterSubstitution6.setActual(instanceValue);
+
+ TemplateParameterSubstitution templateParameterSubstitution7 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution7);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ templateParameterSubstitution7.setActual(interactionConstraint);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ templateParameterSubstitution7.setActual(interval);
+
+ TemplateParameterSubstitution templateParameterSubstitution8 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution8);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ templateParameterSubstitution8.setActual(abstraction);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ templateParameterSubstitution8.setActual(literalString);
+
+ TemplateParameterSubstitution templateParameterSubstitution9 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution9);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ templateParameterSubstitution9.setActual(interfaceRealization);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ templateParameterSubstitution9.setActual(profile);
+
+ TemplateParameterSubstitution templateParameterSubstitution10 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution10);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ templateParameterSubstitution10.setActual(timeConstraint);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ templateParameterSubstitution10.setActual(durationInterval);
+
+ TemplateParameterSubstitution templateParameterSubstitution11 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution11);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ templateParameterSubstitution11.setActual(generalizationSet);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ templateParameterSubstitution11.setActual(deployment);
+
+ TemplateParameterSubstitution templateParameterSubstitution12 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution12);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ templateParameterSubstitution12.setActual(informationFlow);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ templateParameterSubstitution12.setActual(signalEvent);
+
+ TemplateParameterSubstitution templateParameterSubstitution13 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution13);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ templateParameterSubstitution13.setActual(opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ templateParameterSubstitution13.setActual(timeEvent);
+
+ TemplateParameterSubstitution templateParameterSubstitution14 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution14);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ templateParameterSubstitution14.setActual(usage);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ templateParameterSubstitution14.setActual(anyReceiveEvent);
+
+ TemplateParameterSubstitution templateParameterSubstitution15 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution15);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ templateParameterSubstitution15.setActual(literalInteger);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ templateParameterSubstitution15.setActual(realization);
+
+ TemplateParameterSubstitution templateParameterSubstitution16 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution16);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ templateParameterSubstitution16.setActual(timeInterval);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ templateParameterSubstitution16.setActual(substitution);
+
+ TemplateParameterSubstitution templateParameterSubstitution17 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution17);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ templateParameterSubstitution17.setActual(intervalConstraint);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ templateParameterSubstitution17.setActual(literalBoolean);
+
+ TemplateParameterSubstitution templateParameterSubstitution18 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution18);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ templateParameterSubstitution18.setActual(dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ templateParameterSubstitution18.setActual(expression);
+
+ TemplateParameterSubstitution templateParameterSubstitution19 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution19);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ templateParameterSubstitution19.setActual(componentRealization);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ templateParameterSubstitution19.setActual(durationConstraint);
+
+ TemplateParameterSubstitution templateParameterSubstitution20 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution20);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ templateParameterSubstitution20.setActual(literalNull);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ templateParameterSubstitution20.setActual(stringExpression);
+
+ TemplateParameterSubstitution templateParameterSubstitution21 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution21);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ templateParameterSubstitution21.setActual(changeEvent);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ templateParameterSubstitution21.setActual(constraint);
+
+ TemplateParameterSubstitution templateParameterSubstitution22 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution22);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ templateParameterSubstitution22.setActual(enumerationLiteral);
+ }
+
+ public void testFormal() {
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ templateParameterSubstitution.setFormal(classifierTemplateParameter);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ templateParameterSubstitution
+ .setFormal(connectableElementTemplateParameter);
+
+ TemplateParameterSubstitution templateParameterSubstitution2 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution2);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ templateParameterSubstitution2.setFormal(templateParameter);
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ templateParameterSubstitution2.setFormal(operationTemplateParameter);
+ }
+
+ public void testOwnedActual() {
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ templateParameterSubstitution.setOwnedActual(instanceSpecification);
+ assertSuperset(templateParameterSubstitution.getOwnedElements()
+ .contains(instanceSpecification));
+ assertSuperset(
+ templateParameterSubstitution.getActual() == instanceSpecification);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ templateParameterSubstitution.setOwnedActual(literalReal);
+ assertSuperset(templateParameterSubstitution.getOwnedElements()
+ .contains(literalReal));
+ assertSuperset(
+ templateParameterSubstitution.getActual() == literalReal);
+
+ TemplateParameterSubstitution templateParameterSubstitution2 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution2);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ templateParameterSubstitution2.setOwnedActual(duration);
+ assertSuperset(templateParameterSubstitution2.getOwnedElements()
+ .contains(duration));
+ assertSuperset(templateParameterSubstitution2.getActual() == duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ templateParameterSubstitution2.setOwnedActual(package_);
+ assertSuperset(templateParameterSubstitution2.getOwnedElements()
+ .contains(package_));
+ assertSuperset(templateParameterSubstitution2.getActual() == package_);
+
+ TemplateParameterSubstitution templateParameterSubstitution3 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution3);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ templateParameterSubstitution3.setOwnedActual(manifestation);
+ assertSuperset(templateParameterSubstitution3.getOwnedElements()
+ .contains(manifestation));
+ assertSuperset(
+ templateParameterSubstitution3.getActual() == manifestation);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ templateParameterSubstitution3.setOwnedActual(durationObservation);
+ assertSuperset(templateParameterSubstitution3.getOwnedElements()
+ .contains(durationObservation));
+ assertSuperset(
+ templateParameterSubstitution3.getActual() == durationObservation);
+
+ TemplateParameterSubstitution templateParameterSubstitution4 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution4);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ templateParameterSubstitution4.setOwnedActual(callEvent);
+ assertSuperset(templateParameterSubstitution4.getOwnedElements()
+ .contains(callEvent));
+ assertSuperset(templateParameterSubstitution4.getActual() == callEvent);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ templateParameterSubstitution4.setOwnedActual(literalUnlimitedNatural);
+ assertSuperset(templateParameterSubstitution4.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+ assertSuperset(templateParameterSubstitution4
+ .getActual() == literalUnlimitedNatural);
+
+ TemplateParameterSubstitution templateParameterSubstitution5 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution5);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ templateParameterSubstitution5.setOwnedActual(timeObservation);
+ assertSuperset(templateParameterSubstitution5.getOwnedElements()
+ .contains(timeObservation));
+ assertSuperset(
+ templateParameterSubstitution5.getActual() == timeObservation);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ templateParameterSubstitution5.setOwnedActual(model);
+ assertSuperset(
+ templateParameterSubstitution5.getOwnedElements().contains(model));
+ assertSuperset(templateParameterSubstitution5.getActual() == model);
+
+ TemplateParameterSubstitution templateParameterSubstitution6 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution6);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ templateParameterSubstitution6.setOwnedActual(timeExpression);
+ assertSuperset(templateParameterSubstitution6.getOwnedElements()
+ .contains(timeExpression));
+ assertSuperset(
+ templateParameterSubstitution6.getActual() == timeExpression);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ templateParameterSubstitution6.setOwnedActual(instanceValue);
+ assertSuperset(templateParameterSubstitution6.getOwnedElements()
+ .contains(instanceValue));
+ assertSuperset(
+ templateParameterSubstitution6.getActual() == instanceValue);
+
+ TemplateParameterSubstitution templateParameterSubstitution7 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution7);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ templateParameterSubstitution7.setOwnedActual(interactionConstraint);
+ assertSuperset(templateParameterSubstitution7.getOwnedElements()
+ .contains(interactionConstraint));
+ assertSuperset(templateParameterSubstitution7
+ .getActual() == interactionConstraint);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ templateParameterSubstitution7.setOwnedActual(interval);
+ assertSuperset(templateParameterSubstitution7.getOwnedElements()
+ .contains(interval));
+ assertSuperset(templateParameterSubstitution7.getActual() == interval);
+
+ TemplateParameterSubstitution templateParameterSubstitution8 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution8);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ templateParameterSubstitution8.setOwnedActual(abstraction);
+ assertSuperset(templateParameterSubstitution8.getOwnedElements()
+ .contains(abstraction));
+ assertSuperset(
+ templateParameterSubstitution8.getActual() == abstraction);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ templateParameterSubstitution8.setOwnedActual(literalString);
+ assertSuperset(templateParameterSubstitution8.getOwnedElements()
+ .contains(literalString));
+ assertSuperset(
+ templateParameterSubstitution8.getActual() == literalString);
+
+ TemplateParameterSubstitution templateParameterSubstitution9 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution9);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ templateParameterSubstitution9.setOwnedActual(interfaceRealization);
+ assertSuperset(templateParameterSubstitution9.getOwnedElements()
+ .contains(interfaceRealization));
+ assertSuperset(
+ templateParameterSubstitution9.getActual() == interfaceRealization);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ templateParameterSubstitution9.setOwnedActual(profile);
+ assertSuperset(templateParameterSubstitution9.getOwnedElements()
+ .contains(profile));
+ assertSuperset(templateParameterSubstitution9.getActual() == profile);
+
+ TemplateParameterSubstitution templateParameterSubstitution10 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution10);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ templateParameterSubstitution10.setOwnedActual(timeConstraint);
+ assertSuperset(templateParameterSubstitution10.getOwnedElements()
+ .contains(timeConstraint));
+ assertSuperset(
+ templateParameterSubstitution10.getActual() == timeConstraint);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ templateParameterSubstitution10.setOwnedActual(durationInterval);
+ assertSuperset(templateParameterSubstitution10.getOwnedElements()
+ .contains(durationInterval));
+ assertSuperset(
+ templateParameterSubstitution10.getActual() == durationInterval);
+
+ TemplateParameterSubstitution templateParameterSubstitution11 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution11);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ templateParameterSubstitution11.setOwnedActual(generalizationSet);
+ assertSuperset(templateParameterSubstitution11.getOwnedElements()
+ .contains(generalizationSet));
+ assertSuperset(
+ templateParameterSubstitution11.getActual() == generalizationSet);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ templateParameterSubstitution11.setOwnedActual(deployment);
+ assertSuperset(templateParameterSubstitution11.getOwnedElements()
+ .contains(deployment));
+ assertSuperset(
+ templateParameterSubstitution11.getActual() == deployment);
+
+ TemplateParameterSubstitution templateParameterSubstitution12 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution12);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ templateParameterSubstitution12.setOwnedActual(informationFlow);
+ assertSuperset(templateParameterSubstitution12.getOwnedElements()
+ .contains(informationFlow));
+ assertSuperset(
+ templateParameterSubstitution12.getActual() == informationFlow);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ templateParameterSubstitution12.setOwnedActual(signalEvent);
+ assertSuperset(templateParameterSubstitution12.getOwnedElements()
+ .contains(signalEvent));
+ assertSuperset(
+ templateParameterSubstitution12.getActual() == signalEvent);
+
+ TemplateParameterSubstitution templateParameterSubstitution13 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution13);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ templateParameterSubstitution13.setOwnedActual(opaqueExpression);
+ assertSuperset(templateParameterSubstitution13.getOwnedElements()
+ .contains(opaqueExpression));
+ assertSuperset(
+ templateParameterSubstitution13.getActual() == opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ templateParameterSubstitution13.setOwnedActual(timeEvent);
+ assertSuperset(templateParameterSubstitution13.getOwnedElements()
+ .contains(timeEvent));
+ assertSuperset(
+ templateParameterSubstitution13.getActual() == timeEvent);
+
+ TemplateParameterSubstitution templateParameterSubstitution14 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution14);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ templateParameterSubstitution14.setOwnedActual(usage);
+ assertSuperset(
+ templateParameterSubstitution14.getOwnedElements().contains(usage));
+ assertSuperset(templateParameterSubstitution14.getActual() == usage);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ templateParameterSubstitution14.setOwnedActual(anyReceiveEvent);
+ assertSuperset(templateParameterSubstitution14.getOwnedElements()
+ .contains(anyReceiveEvent));
+ assertSuperset(
+ templateParameterSubstitution14.getActual() == anyReceiveEvent);
+
+ TemplateParameterSubstitution templateParameterSubstitution15 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution15);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ templateParameterSubstitution15.setOwnedActual(literalInteger);
+ assertSuperset(templateParameterSubstitution15.getOwnedElements()
+ .contains(literalInteger));
+ assertSuperset(
+ templateParameterSubstitution15.getActual() == literalInteger);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ templateParameterSubstitution15.setOwnedActual(realization);
+ assertSuperset(templateParameterSubstitution15.getOwnedElements()
+ .contains(realization));
+ assertSuperset(
+ templateParameterSubstitution15.getActual() == realization);
+
+ TemplateParameterSubstitution templateParameterSubstitution16 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution16);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ templateParameterSubstitution16.setOwnedActual(timeInterval);
+ assertSuperset(templateParameterSubstitution16.getOwnedElements()
+ .contains(timeInterval));
+ assertSuperset(
+ templateParameterSubstitution16.getActual() == timeInterval);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ templateParameterSubstitution16.setOwnedActual(substitution);
+ assertSuperset(templateParameterSubstitution16.getOwnedElements()
+ .contains(substitution));
+ assertSuperset(
+ templateParameterSubstitution16.getActual() == substitution);
+
+ TemplateParameterSubstitution templateParameterSubstitution17 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution17);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ templateParameterSubstitution17.setOwnedActual(intervalConstraint);
+ assertSuperset(templateParameterSubstitution17.getOwnedElements()
+ .contains(intervalConstraint));
+ assertSuperset(
+ templateParameterSubstitution17.getActual() == intervalConstraint);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ templateParameterSubstitution17.setOwnedActual(literalBoolean);
+ assertSuperset(templateParameterSubstitution17.getOwnedElements()
+ .contains(literalBoolean));
+ assertSuperset(
+ templateParameterSubstitution17.getActual() == literalBoolean);
+
+ TemplateParameterSubstitution templateParameterSubstitution18 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution18);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ templateParameterSubstitution18.setOwnedActual(dependency);
+ assertSuperset(templateParameterSubstitution18.getOwnedElements()
+ .contains(dependency));
+ assertSuperset(
+ templateParameterSubstitution18.getActual() == dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ templateParameterSubstitution18.setOwnedActual(expression);
+ assertSuperset(templateParameterSubstitution18.getOwnedElements()
+ .contains(expression));
+ assertSuperset(
+ templateParameterSubstitution18.getActual() == expression);
+
+ TemplateParameterSubstitution templateParameterSubstitution19 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution19);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ templateParameterSubstitution19.setOwnedActual(componentRealization);
+ assertSuperset(templateParameterSubstitution19.getOwnedElements()
+ .contains(componentRealization));
+ assertSuperset(templateParameterSubstitution19
+ .getActual() == componentRealization);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ templateParameterSubstitution19.setOwnedActual(durationConstraint);
+ assertSuperset(templateParameterSubstitution19.getOwnedElements()
+ .contains(durationConstraint));
+ assertSuperset(
+ templateParameterSubstitution19.getActual() == durationConstraint);
+
+ TemplateParameterSubstitution templateParameterSubstitution20 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution20);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ templateParameterSubstitution20.setOwnedActual(literalNull);
+ assertSuperset(templateParameterSubstitution20.getOwnedElements()
+ .contains(literalNull));
+ assertSuperset(
+ templateParameterSubstitution20.getActual() == literalNull);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ templateParameterSubstitution20.setOwnedActual(stringExpression);
+ assertSuperset(templateParameterSubstitution20.getOwnedElements()
+ .contains(stringExpression));
+ assertSuperset(
+ templateParameterSubstitution20.getActual() == stringExpression);
+
+ TemplateParameterSubstitution templateParameterSubstitution21 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution21);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ templateParameterSubstitution21.setOwnedActual(changeEvent);
+ assertSuperset(templateParameterSubstitution21.getOwnedElements()
+ .contains(changeEvent));
+ assertSuperset(
+ templateParameterSubstitution21.getActual() == changeEvent);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ templateParameterSubstitution21.setOwnedActual(constraint);
+ assertSuperset(templateParameterSubstitution21.getOwnedElements()
+ .contains(constraint));
+ assertSuperset(
+ templateParameterSubstitution21.getActual() == constraint);
+
+ TemplateParameterSubstitution templateParameterSubstitution22 = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution22);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ templateParameterSubstitution22.setOwnedActual(enumerationLiteral);
+ assertSuperset(templateParameterSubstitution22.getOwnedElements()
+ .contains(enumerationLiteral));
+ assertSuperset(
+ templateParameterSubstitution22.getActual() == enumerationLiteral);
+ }
+
+ public void testTemplateBinding() {
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ templateParameterSubstitution.setTemplateBinding(templateBinding);
+ assertSuperset(
+ templateParameterSubstitution.getOwner() == templateBinding);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateParameterTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateParameterTest.java
new file mode 100755
index 00000000..774ca3b5
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateParameterTest.java
@@ -0,0 +1,1886 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class TemplateParameterTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ templateParameter.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ templateParameter.getOwnedComments().add(comment);
+ assertSuperset(templateParameter.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ EList<Element> elements = templateParameter.getOwnedElements();
+ EList<Element> elements2 = templateParameter.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testDefault() {
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ templateParameter.setDefault(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ templateParameter.setDefault(activity);
+
+ TemplateParameter templateParameter2 = UML.createTemplateParameter();
+ assertValid(templateParameter2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ templateParameter2.setDefault(interface_);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ templateParameter2.setDefault(instanceSpecification);
+
+ TemplateParameter templateParameter3 = UML.createTemplateParameter();
+ assertValid(templateParameter3);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ templateParameter3.setDefault(port);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ templateParameter3.setDefault(informationItem);
+
+ TemplateParameter templateParameter4 = UML.createTemplateParameter();
+ assertValid(templateParameter4);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ templateParameter4.setDefault(communicationPath);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ templateParameter4.setDefault(literalReal);
+
+ TemplateParameter templateParameter5 = UML.createTemplateParameter();
+ assertValid(templateParameter5);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ templateParameter5.setDefault(component);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ templateParameter5.setDefault(duration);
+
+ TemplateParameter templateParameter6 = UML.createTemplateParameter();
+ assertValid(templateParameter6);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ templateParameter6.setDefault(package_);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ templateParameter6.setDefault(manifestation);
+
+ TemplateParameter templateParameter7 = UML.createTemplateParameter();
+ assertValid(templateParameter7);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ templateParameter7.setDefault(variable);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ templateParameter7.setDefault(durationObservation);
+
+ TemplateParameter templateParameter8 = UML.createTemplateParameter();
+ assertValid(templateParameter8);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ templateParameter8.setDefault(callEvent);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ templateParameter8.setDefault(interaction);
+
+ TemplateParameter templateParameter9 = UML.createTemplateParameter();
+ assertValid(templateParameter9);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ templateParameter9.setDefault(opaqueBehavior);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ templateParameter9.setDefault(literalUnlimitedNatural);
+
+ TemplateParameter templateParameter10 = UML.createTemplateParameter();
+ assertValid(templateParameter10);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ templateParameter10.setDefault(timeObservation);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ templateParameter10.setDefault(operation);
+
+ TemplateParameter templateParameter11 = UML.createTemplateParameter();
+ assertValid(templateParameter11);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ templateParameter11.setDefault(property);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ templateParameter11.setDefault(model);
+
+ TemplateParameter templateParameter12 = UML.createTemplateParameter();
+ assertValid(templateParameter12);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ templateParameter12.setDefault(timeExpression);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ templateParameter12.setDefault(device);
+
+ TemplateParameter templateParameter13 = UML.createTemplateParameter();
+ assertValid(templateParameter13);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ templateParameter13.setDefault(parameter);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ templateParameter13.setDefault(instanceValue);
+
+ TemplateParameter templateParameter14 = UML.createTemplateParameter();
+ assertValid(templateParameter14);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ templateParameter14.setDefault(interactionConstraint);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ templateParameter14.setDefault(associationClass);
+
+ TemplateParameter templateParameter15 = UML.createTemplateParameter();
+ assertValid(templateParameter15);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ templateParameter15.setDefault(interval);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ templateParameter15.setDefault(abstraction);
+
+ TemplateParameter templateParameter16 = UML.createTemplateParameter();
+ assertValid(templateParameter16);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ templateParameter16.setDefault(literalString);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ templateParameter16.setDefault(interfaceRealization);
+
+ TemplateParameter templateParameter17 = UML.createTemplateParameter();
+ assertValid(templateParameter17);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ templateParameter17.setDefault(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ templateParameter17.setDefault(primitiveType);
+
+ TemplateParameter templateParameter18 = UML.createTemplateParameter();
+ assertValid(templateParameter18);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ templateParameter18.setDefault(actor);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ templateParameter18.setDefault(profile);
+
+ TemplateParameter templateParameter19 = UML.createTemplateParameter();
+ assertValid(templateParameter19);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ templateParameter19.setDefault(timeConstraint);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ templateParameter19.setDefault(durationInterval);
+
+ TemplateParameter templateParameter20 = UML.createTemplateParameter();
+ assertValid(templateParameter20);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ templateParameter20.setDefault(generalizationSet);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ templateParameter20.setDefault(signal);
+
+ TemplateParameter templateParameter21 = UML.createTemplateParameter();
+ assertValid(templateParameter21);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ templateParameter21.setDefault(deployment);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ templateParameter21.setDefault(extensionEnd);
+
+ TemplateParameter templateParameter22 = UML.createTemplateParameter();
+ assertValid(templateParameter22);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ templateParameter22.setDefault(artifact);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ templateParameter22.setDefault(informationFlow);
+
+ TemplateParameter templateParameter23 = UML.createTemplateParameter();
+ assertValid(templateParameter23);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ templateParameter23.setDefault(signalEvent);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ templateParameter23.setDefault(opaqueExpression);
+
+ TemplateParameter templateParameter24 = UML.createTemplateParameter();
+ assertValid(templateParameter24);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ templateParameter24.setDefault(timeEvent);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ templateParameter24.setDefault(usage);
+
+ TemplateParameter templateParameter25 = UML.createTemplateParameter();
+ assertValid(templateParameter25);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ templateParameter25.setDefault(anyReceiveEvent);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ templateParameter25.setDefault(executionEnvironment);
+
+ TemplateParameter templateParameter26 = UML.createTemplateParameter();
+ assertValid(templateParameter26);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ templateParameter26.setDefault(literalInteger);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ templateParameter26.setDefault(deploymentSpecification);
+
+ TemplateParameter templateParameter27 = UML.createTemplateParameter();
+ assertValid(templateParameter27);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ templateParameter27.setDefault(realization);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ templateParameter27.setDefault(association);
+
+ TemplateParameter templateParameter28 = UML.createTemplateParameter();
+ assertValid(templateParameter28);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ templateParameter28.setDefault(timeInterval);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ templateParameter28.setDefault(dataType);
+
+ TemplateParameter templateParameter29 = UML.createTemplateParameter();
+ assertValid(templateParameter29);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ templateParameter29.setDefault(substitution);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ templateParameter29.setDefault(intervalConstraint);
+
+ TemplateParameter templateParameter30 = UML.createTemplateParameter();
+ assertValid(templateParameter30);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ templateParameter30.setDefault(extension);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ templateParameter30.setDefault(literalBoolean);
+
+ TemplateParameter templateParameter31 = UML.createTemplateParameter();
+ assertValid(templateParameter31);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ templateParameter31.setDefault(dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ templateParameter31.setDefault(expression);
+
+ TemplateParameter templateParameter32 = UML.createTemplateParameter();
+ assertValid(templateParameter32);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ templateParameter32.setDefault(componentRealization);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ templateParameter32.setDefault(class_);
+
+ TemplateParameter templateParameter33 = UML.createTemplateParameter();
+ assertValid(templateParameter33);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ templateParameter33.setDefault(durationConstraint);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ templateParameter33.setDefault(literalNull);
+
+ TemplateParameter templateParameter34 = UML.createTemplateParameter();
+ assertValid(templateParameter34);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ templateParameter34.setDefault(protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ templateParameter34.setDefault(useCase);
+
+ TemplateParameter templateParameter35 = UML.createTemplateParameter();
+ assertValid(templateParameter35);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ templateParameter35.setDefault(stringExpression);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ templateParameter35.setDefault(node);
+
+ TemplateParameter templateParameter36 = UML.createTemplateParameter();
+ assertValid(templateParameter36);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ templateParameter36.setDefault(changeEvent);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ templateParameter36.setDefault(constraint);
+
+ TemplateParameter templateParameter37 = UML.createTemplateParameter();
+ assertValid(templateParameter37);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ templateParameter37.setDefault(stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ templateParameter37.setDefault(stateMachine);
+
+ TemplateParameter templateParameter38 = UML.createTemplateParameter();
+ assertValid(templateParameter38);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ templateParameter38.setDefault(enumerationLiteral);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ templateParameter38.setDefault(collaboration);
+ }
+
+ public void testOwnedDefault() {
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ templateParameter.setOwnedDefault(functionBehavior);
+ assertSuperset(
+ templateParameter.getOwnedElements().contains(functionBehavior));
+ assertSuperset(templateParameter.getDefault() == functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ templateParameter.setOwnedDefault(activity);
+ assertSuperset(templateParameter.getOwnedElements().contains(activity));
+ assertSuperset(templateParameter.getDefault() == activity);
+
+ TemplateParameter templateParameter2 = UML.createTemplateParameter();
+ assertValid(templateParameter2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ templateParameter2.setOwnedDefault(interface_);
+ assertSuperset(
+ templateParameter2.getOwnedElements().contains(interface_));
+ assertSuperset(templateParameter2.getDefault() == interface_);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ templateParameter2.setOwnedDefault(instanceSpecification);
+ assertSuperset(templateParameter2.getOwnedElements()
+ .contains(instanceSpecification));
+ assertSuperset(
+ templateParameter2.getDefault() == instanceSpecification);
+
+ TemplateParameter templateParameter3 = UML.createTemplateParameter();
+ assertValid(templateParameter3);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ templateParameter3.setOwnedDefault(port);
+ assertSuperset(templateParameter3.getOwnedElements().contains(port));
+ assertSuperset(templateParameter3.getDefault() == port);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ templateParameter3.setOwnedDefault(informationItem);
+ assertSuperset(
+ templateParameter3.getOwnedElements().contains(informationItem));
+ assertSuperset(templateParameter3.getDefault() == informationItem);
+
+ TemplateParameter templateParameter4 = UML.createTemplateParameter();
+ assertValid(templateParameter4);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ templateParameter4.setOwnedDefault(communicationPath);
+ assertSuperset(
+ templateParameter4.getOwnedElements().contains(communicationPath));
+ assertSuperset(templateParameter4.getDefault() == communicationPath);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ templateParameter4.setOwnedDefault(literalReal);
+ assertSuperset(
+ templateParameter4.getOwnedElements().contains(literalReal));
+ assertSuperset(templateParameter4.getDefault() == literalReal);
+
+ TemplateParameter templateParameter5 = UML.createTemplateParameter();
+ assertValid(templateParameter5);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ templateParameter5.setOwnedDefault(component);
+ assertSuperset(
+ templateParameter5.getOwnedElements().contains(component));
+ assertSuperset(templateParameter5.getDefault() == component);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ templateParameter5.setOwnedDefault(duration);
+ assertSuperset(
+ templateParameter5.getOwnedElements().contains(duration));
+ assertSuperset(templateParameter5.getDefault() == duration);
+
+ TemplateParameter templateParameter6 = UML.createTemplateParameter();
+ assertValid(templateParameter6);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ templateParameter6.setOwnedDefault(package_);
+ assertSuperset(
+ templateParameter6.getOwnedElements().contains(package_));
+ assertSuperset(templateParameter6.getDefault() == package_);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ templateParameter6.setOwnedDefault(manifestation);
+ assertSuperset(
+ templateParameter6.getOwnedElements().contains(manifestation));
+ assertSuperset(templateParameter6.getDefault() == manifestation);
+
+ TemplateParameter templateParameter7 = UML.createTemplateParameter();
+ assertValid(templateParameter7);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ templateParameter7.setOwnedDefault(variable);
+ assertSuperset(
+ templateParameter7.getOwnedElements().contains(variable));
+ assertSuperset(templateParameter7.getDefault() == variable);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ templateParameter7.setOwnedDefault(durationObservation);
+ assertSuperset(templateParameter7.getOwnedElements()
+ .contains(durationObservation));
+ assertSuperset(templateParameter7.getDefault() == durationObservation);
+
+ TemplateParameter templateParameter8 = UML.createTemplateParameter();
+ assertValid(templateParameter8);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ templateParameter8.setOwnedDefault(callEvent);
+ assertSuperset(
+ templateParameter8.getOwnedElements().contains(callEvent));
+ assertSuperset(templateParameter8.getDefault() == callEvent);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ templateParameter8.setOwnedDefault(interaction);
+ assertSuperset(
+ templateParameter8.getOwnedElements().contains(interaction));
+ assertSuperset(templateParameter8.getDefault() == interaction);
+
+ TemplateParameter templateParameter9 = UML.createTemplateParameter();
+ assertValid(templateParameter9);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ templateParameter9.setOwnedDefault(opaqueBehavior);
+ assertSuperset(
+ templateParameter9.getOwnedElements().contains(opaqueBehavior));
+ assertSuperset(templateParameter9.getDefault() == opaqueBehavior);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ templateParameter9.setOwnedDefault(literalUnlimitedNatural);
+ assertSuperset(templateParameter9.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+ assertSuperset(
+ templateParameter9.getDefault() == literalUnlimitedNatural);
+
+ TemplateParameter templateParameter10 = UML.createTemplateParameter();
+ assertValid(templateParameter10);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ templateParameter10.setOwnedDefault(timeObservation);
+ assertSuperset(
+ templateParameter10.getOwnedElements().contains(timeObservation));
+ assertSuperset(templateParameter10.getDefault() == timeObservation);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ templateParameter10.setOwnedDefault(operation);
+ assertSuperset(
+ templateParameter10.getOwnedElements().contains(operation));
+ assertSuperset(templateParameter10.getDefault() == operation);
+
+ TemplateParameter templateParameter11 = UML.createTemplateParameter();
+ assertValid(templateParameter11);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ templateParameter11.setOwnedDefault(property);
+ assertSuperset(
+ templateParameter11.getOwnedElements().contains(property));
+ assertSuperset(templateParameter11.getDefault() == property);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ templateParameter11.setOwnedDefault(model);
+ assertSuperset(templateParameter11.getOwnedElements().contains(model));
+ assertSuperset(templateParameter11.getDefault() == model);
+
+ TemplateParameter templateParameter12 = UML.createTemplateParameter();
+ assertValid(templateParameter12);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ templateParameter12.setOwnedDefault(timeExpression);
+ assertSuperset(
+ templateParameter12.getOwnedElements().contains(timeExpression));
+ assertSuperset(templateParameter12.getDefault() == timeExpression);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ templateParameter12.setOwnedDefault(device);
+ assertSuperset(templateParameter12.getOwnedElements().contains(device));
+ assertSuperset(templateParameter12.getDefault() == device);
+
+ TemplateParameter templateParameter13 = UML.createTemplateParameter();
+ assertValid(templateParameter13);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ templateParameter13.setOwnedDefault(parameter);
+ assertSuperset(
+ templateParameter13.getOwnedElements().contains(parameter));
+ assertSuperset(templateParameter13.getDefault() == parameter);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ templateParameter13.setOwnedDefault(instanceValue);
+ assertSuperset(
+ templateParameter13.getOwnedElements().contains(instanceValue));
+ assertSuperset(templateParameter13.getDefault() == instanceValue);
+
+ TemplateParameter templateParameter14 = UML.createTemplateParameter();
+ assertValid(templateParameter14);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ templateParameter14.setOwnedDefault(interactionConstraint);
+ assertSuperset(templateParameter14.getOwnedElements()
+ .contains(interactionConstraint));
+ assertSuperset(
+ templateParameter14.getDefault() == interactionConstraint);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ templateParameter14.setOwnedDefault(associationClass);
+ assertSuperset(
+ templateParameter14.getOwnedElements().contains(associationClass));
+ assertSuperset(templateParameter14.getDefault() == associationClass);
+
+ TemplateParameter templateParameter15 = UML.createTemplateParameter();
+ assertValid(templateParameter15);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ templateParameter15.setOwnedDefault(interval);
+ assertSuperset(
+ templateParameter15.getOwnedElements().contains(interval));
+ assertSuperset(templateParameter15.getDefault() == interval);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ templateParameter15.setOwnedDefault(abstraction);
+ assertSuperset(
+ templateParameter15.getOwnedElements().contains(abstraction));
+ assertSuperset(templateParameter15.getDefault() == abstraction);
+
+ TemplateParameter templateParameter16 = UML.createTemplateParameter();
+ assertValid(templateParameter16);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ templateParameter16.setOwnedDefault(literalString);
+ assertSuperset(
+ templateParameter16.getOwnedElements().contains(literalString));
+ assertSuperset(templateParameter16.getDefault() == literalString);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ templateParameter16.setOwnedDefault(interfaceRealization);
+ assertSuperset(templateParameter16.getOwnedElements()
+ .contains(interfaceRealization));
+ assertSuperset(
+ templateParameter16.getDefault() == interfaceRealization);
+
+ TemplateParameter templateParameter17 = UML.createTemplateParameter();
+ assertValid(templateParameter17);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ templateParameter17.setOwnedDefault(enumeration);
+ assertSuperset(
+ templateParameter17.getOwnedElements().contains(enumeration));
+ assertSuperset(templateParameter17.getDefault() == enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ templateParameter17.setOwnedDefault(primitiveType);
+ assertSuperset(
+ templateParameter17.getOwnedElements().contains(primitiveType));
+ assertSuperset(templateParameter17.getDefault() == primitiveType);
+
+ TemplateParameter templateParameter18 = UML.createTemplateParameter();
+ assertValid(templateParameter18);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ templateParameter18.setOwnedDefault(actor);
+ assertSuperset(templateParameter18.getOwnedElements().contains(actor));
+ assertSuperset(templateParameter18.getDefault() == actor);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ templateParameter18.setOwnedDefault(profile);
+ assertSuperset(
+ templateParameter18.getOwnedElements().contains(profile));
+ assertSuperset(templateParameter18.getDefault() == profile);
+
+ TemplateParameter templateParameter19 = UML.createTemplateParameter();
+ assertValid(templateParameter19);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ templateParameter19.setOwnedDefault(timeConstraint);
+ assertSuperset(
+ templateParameter19.getOwnedElements().contains(timeConstraint));
+ assertSuperset(templateParameter19.getDefault() == timeConstraint);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ templateParameter19.setOwnedDefault(durationInterval);
+ assertSuperset(
+ templateParameter19.getOwnedElements().contains(durationInterval));
+ assertSuperset(templateParameter19.getDefault() == durationInterval);
+
+ TemplateParameter templateParameter20 = UML.createTemplateParameter();
+ assertValid(templateParameter20);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ templateParameter20.setOwnedDefault(generalizationSet);
+ assertSuperset(
+ templateParameter20.getOwnedElements().contains(generalizationSet));
+ assertSuperset(templateParameter20.getDefault() == generalizationSet);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ templateParameter20.setOwnedDefault(signal);
+ assertSuperset(templateParameter20.getOwnedElements().contains(signal));
+ assertSuperset(templateParameter20.getDefault() == signal);
+
+ TemplateParameter templateParameter21 = UML.createTemplateParameter();
+ assertValid(templateParameter21);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ templateParameter21.setOwnedDefault(deployment);
+ assertSuperset(
+ templateParameter21.getOwnedElements().contains(deployment));
+ assertSuperset(templateParameter21.getDefault() == deployment);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ templateParameter21.setOwnedDefault(extensionEnd);
+ assertSuperset(
+ templateParameter21.getOwnedElements().contains(extensionEnd));
+ assertSuperset(templateParameter21.getDefault() == extensionEnd);
+
+ TemplateParameter templateParameter22 = UML.createTemplateParameter();
+ assertValid(templateParameter22);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ templateParameter22.setOwnedDefault(artifact);
+ assertSuperset(
+ templateParameter22.getOwnedElements().contains(artifact));
+ assertSuperset(templateParameter22.getDefault() == artifact);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ templateParameter22.setOwnedDefault(informationFlow);
+ assertSuperset(
+ templateParameter22.getOwnedElements().contains(informationFlow));
+ assertSuperset(templateParameter22.getDefault() == informationFlow);
+
+ TemplateParameter templateParameter23 = UML.createTemplateParameter();
+ assertValid(templateParameter23);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ templateParameter23.setOwnedDefault(signalEvent);
+ assertSuperset(
+ templateParameter23.getOwnedElements().contains(signalEvent));
+ assertSuperset(templateParameter23.getDefault() == signalEvent);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ templateParameter23.setOwnedDefault(opaqueExpression);
+ assertSuperset(
+ templateParameter23.getOwnedElements().contains(opaqueExpression));
+ assertSuperset(templateParameter23.getDefault() == opaqueExpression);
+
+ TemplateParameter templateParameter24 = UML.createTemplateParameter();
+ assertValid(templateParameter24);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ templateParameter24.setOwnedDefault(timeEvent);
+ assertSuperset(
+ templateParameter24.getOwnedElements().contains(timeEvent));
+ assertSuperset(templateParameter24.getDefault() == timeEvent);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ templateParameter24.setOwnedDefault(usage);
+ assertSuperset(templateParameter24.getOwnedElements().contains(usage));
+ assertSuperset(templateParameter24.getDefault() == usage);
+
+ TemplateParameter templateParameter25 = UML.createTemplateParameter();
+ assertValid(templateParameter25);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ templateParameter25.setOwnedDefault(anyReceiveEvent);
+ assertSuperset(
+ templateParameter25.getOwnedElements().contains(anyReceiveEvent));
+ assertSuperset(templateParameter25.getDefault() == anyReceiveEvent);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ templateParameter25.setOwnedDefault(executionEnvironment);
+ assertSuperset(templateParameter25.getOwnedElements()
+ .contains(executionEnvironment));
+ assertSuperset(
+ templateParameter25.getDefault() == executionEnvironment);
+
+ TemplateParameter templateParameter26 = UML.createTemplateParameter();
+ assertValid(templateParameter26);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ templateParameter26.setOwnedDefault(literalInteger);
+ assertSuperset(
+ templateParameter26.getOwnedElements().contains(literalInteger));
+ assertSuperset(templateParameter26.getDefault() == literalInteger);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ templateParameter26.setOwnedDefault(deploymentSpecification);
+ assertSuperset(templateParameter26.getOwnedElements()
+ .contains(deploymentSpecification));
+ assertSuperset(
+ templateParameter26.getDefault() == deploymentSpecification);
+
+ TemplateParameter templateParameter27 = UML.createTemplateParameter();
+ assertValid(templateParameter27);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ templateParameter27.setOwnedDefault(realization);
+ assertSuperset(
+ templateParameter27.getOwnedElements().contains(realization));
+ assertSuperset(templateParameter27.getDefault() == realization);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ templateParameter27.setOwnedDefault(association);
+ assertSuperset(
+ templateParameter27.getOwnedElements().contains(association));
+ assertSuperset(templateParameter27.getDefault() == association);
+
+ TemplateParameter templateParameter28 = UML.createTemplateParameter();
+ assertValid(templateParameter28);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ templateParameter28.setOwnedDefault(timeInterval);
+ assertSuperset(
+ templateParameter28.getOwnedElements().contains(timeInterval));
+ assertSuperset(templateParameter28.getDefault() == timeInterval);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ templateParameter28.setOwnedDefault(dataType);
+ assertSuperset(
+ templateParameter28.getOwnedElements().contains(dataType));
+ assertSuperset(templateParameter28.getDefault() == dataType);
+
+ TemplateParameter templateParameter29 = UML.createTemplateParameter();
+ assertValid(templateParameter29);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ templateParameter29.setOwnedDefault(substitution);
+ assertSuperset(
+ templateParameter29.getOwnedElements().contains(substitution));
+ assertSuperset(templateParameter29.getDefault() == substitution);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ templateParameter29.setOwnedDefault(intervalConstraint);
+ assertSuperset(templateParameter29.getOwnedElements()
+ .contains(intervalConstraint));
+ assertSuperset(templateParameter29.getDefault() == intervalConstraint);
+
+ TemplateParameter templateParameter30 = UML.createTemplateParameter();
+ assertValid(templateParameter30);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ templateParameter30.setOwnedDefault(extension);
+ assertSuperset(
+ templateParameter30.getOwnedElements().contains(extension));
+ assertSuperset(templateParameter30.getDefault() == extension);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ templateParameter30.setOwnedDefault(literalBoolean);
+ assertSuperset(
+ templateParameter30.getOwnedElements().contains(literalBoolean));
+ assertSuperset(templateParameter30.getDefault() == literalBoolean);
+
+ TemplateParameter templateParameter31 = UML.createTemplateParameter();
+ assertValid(templateParameter31);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ templateParameter31.setOwnedDefault(dependency);
+ assertSuperset(
+ templateParameter31.getOwnedElements().contains(dependency));
+ assertSuperset(templateParameter31.getDefault() == dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ templateParameter31.setOwnedDefault(expression);
+ assertSuperset(
+ templateParameter31.getOwnedElements().contains(expression));
+ assertSuperset(templateParameter31.getDefault() == expression);
+
+ TemplateParameter templateParameter32 = UML.createTemplateParameter();
+ assertValid(templateParameter32);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ templateParameter32.setOwnedDefault(componentRealization);
+ assertSuperset(templateParameter32.getOwnedElements()
+ .contains(componentRealization));
+ assertSuperset(
+ templateParameter32.getDefault() == componentRealization);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ templateParameter32.setOwnedDefault(class_);
+ assertSuperset(templateParameter32.getOwnedElements().contains(class_));
+ assertSuperset(templateParameter32.getDefault() == class_);
+
+ TemplateParameter templateParameter33 = UML.createTemplateParameter();
+ assertValid(templateParameter33);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ templateParameter33.setOwnedDefault(durationConstraint);
+ assertSuperset(templateParameter33.getOwnedElements()
+ .contains(durationConstraint));
+ assertSuperset(templateParameter33.getDefault() == durationConstraint);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ templateParameter33.setOwnedDefault(literalNull);
+ assertSuperset(
+ templateParameter33.getOwnedElements().contains(literalNull));
+ assertSuperset(templateParameter33.getDefault() == literalNull);
+
+ TemplateParameter templateParameter34 = UML.createTemplateParameter();
+ assertValid(templateParameter34);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ templateParameter34.setOwnedDefault(protocolStateMachine);
+ assertSuperset(templateParameter34.getOwnedElements()
+ .contains(protocolStateMachine));
+ assertSuperset(
+ templateParameter34.getDefault() == protocolStateMachine);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ templateParameter34.setOwnedDefault(useCase);
+ assertSuperset(
+ templateParameter34.getOwnedElements().contains(useCase));
+ assertSuperset(templateParameter34.getDefault() == useCase);
+
+ TemplateParameter templateParameter35 = UML.createTemplateParameter();
+ assertValid(templateParameter35);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ templateParameter35.setOwnedDefault(stringExpression);
+ assertSuperset(
+ templateParameter35.getOwnedElements().contains(stringExpression));
+ assertSuperset(templateParameter35.getDefault() == stringExpression);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ templateParameter35.setOwnedDefault(node);
+ assertSuperset(templateParameter35.getOwnedElements().contains(node));
+ assertSuperset(templateParameter35.getDefault() == node);
+
+ TemplateParameter templateParameter36 = UML.createTemplateParameter();
+ assertValid(templateParameter36);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ templateParameter36.setOwnedDefault(changeEvent);
+ assertSuperset(
+ templateParameter36.getOwnedElements().contains(changeEvent));
+ assertSuperset(templateParameter36.getDefault() == changeEvent);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ templateParameter36.setOwnedDefault(constraint);
+ assertSuperset(
+ templateParameter36.getOwnedElements().contains(constraint));
+ assertSuperset(templateParameter36.getDefault() == constraint);
+
+ TemplateParameter templateParameter37 = UML.createTemplateParameter();
+ assertValid(templateParameter37);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ templateParameter37.setOwnedDefault(stereotype);
+ assertSuperset(
+ templateParameter37.getOwnedElements().contains(stereotype));
+ assertSuperset(templateParameter37.getDefault() == stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ templateParameter37.setOwnedDefault(stateMachine);
+ assertSuperset(
+ templateParameter37.getOwnedElements().contains(stateMachine));
+ assertSuperset(templateParameter37.getDefault() == stateMachine);
+
+ TemplateParameter templateParameter38 = UML.createTemplateParameter();
+ assertValid(templateParameter38);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ templateParameter38.setOwnedDefault(enumerationLiteral);
+ assertSuperset(templateParameter38.getOwnedElements()
+ .contains(enumerationLiteral));
+ assertSuperset(templateParameter38.getDefault() == enumerationLiteral);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ templateParameter38.setOwnedDefault(collaboration);
+ assertSuperset(
+ templateParameter38.getOwnedElements().contains(collaboration));
+ assertSuperset(templateParameter38.getDefault() == collaboration);
+ }
+
+ public void testParameteredElement() {
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ templateParameter.setParameteredElement(instanceSpecification);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ templateParameter.setParameteredElement(literalReal);
+
+ TemplateParameter templateParameter2 = UML.createTemplateParameter();
+ assertValid(templateParameter2);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ templateParameter2.setParameteredElement(duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ templateParameter2.setParameteredElement(package_);
+
+ TemplateParameter templateParameter3 = UML.createTemplateParameter();
+ assertValid(templateParameter3);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ templateParameter3.setParameteredElement(manifestation);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ templateParameter3.setParameteredElement(durationObservation);
+
+ TemplateParameter templateParameter4 = UML.createTemplateParameter();
+ assertValid(templateParameter4);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ templateParameter4.setParameteredElement(callEvent);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ templateParameter4.setParameteredElement(literalUnlimitedNatural);
+
+ TemplateParameter templateParameter5 = UML.createTemplateParameter();
+ assertValid(templateParameter5);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ templateParameter5.setParameteredElement(timeObservation);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ templateParameter5.setParameteredElement(model);
+
+ TemplateParameter templateParameter6 = UML.createTemplateParameter();
+ assertValid(templateParameter6);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ templateParameter6.setParameteredElement(timeExpression);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ templateParameter6.setParameteredElement(instanceValue);
+
+ TemplateParameter templateParameter7 = UML.createTemplateParameter();
+ assertValid(templateParameter7);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ templateParameter7.setParameteredElement(interactionConstraint);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ templateParameter7.setParameteredElement(interval);
+
+ TemplateParameter templateParameter8 = UML.createTemplateParameter();
+ assertValid(templateParameter8);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ templateParameter8.setParameteredElement(abstraction);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ templateParameter8.setParameteredElement(literalString);
+
+ TemplateParameter templateParameter9 = UML.createTemplateParameter();
+ assertValid(templateParameter9);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ templateParameter9.setParameteredElement(interfaceRealization);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ templateParameter9.setParameteredElement(profile);
+
+ TemplateParameter templateParameter10 = UML.createTemplateParameter();
+ assertValid(templateParameter10);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ templateParameter10.setParameteredElement(timeConstraint);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ templateParameter10.setParameteredElement(durationInterval);
+
+ TemplateParameter templateParameter11 = UML.createTemplateParameter();
+ assertValid(templateParameter11);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ templateParameter11.setParameteredElement(generalizationSet);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ templateParameter11.setParameteredElement(deployment);
+
+ TemplateParameter templateParameter12 = UML.createTemplateParameter();
+ assertValid(templateParameter12);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ templateParameter12.setParameteredElement(informationFlow);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ templateParameter12.setParameteredElement(signalEvent);
+
+ TemplateParameter templateParameter13 = UML.createTemplateParameter();
+ assertValid(templateParameter13);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ templateParameter13.setParameteredElement(opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ templateParameter13.setParameteredElement(timeEvent);
+
+ TemplateParameter templateParameter14 = UML.createTemplateParameter();
+ assertValid(templateParameter14);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ templateParameter14.setParameteredElement(usage);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ templateParameter14.setParameteredElement(anyReceiveEvent);
+
+ TemplateParameter templateParameter15 = UML.createTemplateParameter();
+ assertValid(templateParameter15);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ templateParameter15.setParameteredElement(literalInteger);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ templateParameter15.setParameteredElement(realization);
+
+ TemplateParameter templateParameter16 = UML.createTemplateParameter();
+ assertValid(templateParameter16);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ templateParameter16.setParameteredElement(timeInterval);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ templateParameter16.setParameteredElement(substitution);
+
+ TemplateParameter templateParameter17 = UML.createTemplateParameter();
+ assertValid(templateParameter17);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ templateParameter17.setParameteredElement(intervalConstraint);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ templateParameter17.setParameteredElement(literalBoolean);
+
+ TemplateParameter templateParameter18 = UML.createTemplateParameter();
+ assertValid(templateParameter18);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ templateParameter18.setParameteredElement(dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ templateParameter18.setParameteredElement(expression);
+
+ TemplateParameter templateParameter19 = UML.createTemplateParameter();
+ assertValid(templateParameter19);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ templateParameter19.setParameteredElement(componentRealization);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ templateParameter19.setParameteredElement(durationConstraint);
+
+ TemplateParameter templateParameter20 = UML.createTemplateParameter();
+ assertValid(templateParameter20);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ templateParameter20.setParameteredElement(literalNull);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ templateParameter20.setParameteredElement(stringExpression);
+
+ TemplateParameter templateParameter21 = UML.createTemplateParameter();
+ assertValid(templateParameter21);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ templateParameter21.setParameteredElement(changeEvent);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ templateParameter21.setParameteredElement(constraint);
+
+ TemplateParameter templateParameter22 = UML.createTemplateParameter();
+ assertValid(templateParameter22);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ templateParameter22.setParameteredElement(enumerationLiteral);
+ }
+
+ public void testSignature() {
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ templateParameter.setSignature(templateSignature);
+ assertSuperset(templateParameter.getOwner() == templateSignature);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ templateParameter.setSignature(redefinableTemplateSignature);
+ assertSuperset(
+ templateParameter.getOwner() == redefinableTemplateSignature);
+ }
+
+ public void testOwnedParameteredElement() {
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ templateParameter.setOwnedParameteredElement(instanceSpecification);
+ assertSuperset(templateParameter.getOwnedElements()
+ .contains(instanceSpecification));
+ assertSuperset(
+ templateParameter.getParameteredElement() == instanceSpecification);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ templateParameter.setOwnedParameteredElement(literalReal);
+ assertSuperset(
+ templateParameter.getOwnedElements().contains(literalReal));
+ assertSuperset(
+ templateParameter.getParameteredElement() == literalReal);
+
+ TemplateParameter templateParameter2 = UML.createTemplateParameter();
+ assertValid(templateParameter2);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ templateParameter2.setOwnedParameteredElement(duration);
+ assertSuperset(
+ templateParameter2.getOwnedElements().contains(duration));
+ assertSuperset(templateParameter2.getParameteredElement() == duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ templateParameter2.setOwnedParameteredElement(package_);
+ assertSuperset(
+ templateParameter2.getOwnedElements().contains(package_));
+ assertSuperset(templateParameter2.getParameteredElement() == package_);
+
+ TemplateParameter templateParameter3 = UML.createTemplateParameter();
+ assertValid(templateParameter3);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ templateParameter3.setOwnedParameteredElement(manifestation);
+ assertSuperset(
+ templateParameter3.getOwnedElements().contains(manifestation));
+ assertSuperset(
+ templateParameter3.getParameteredElement() == manifestation);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ templateParameter3.setOwnedParameteredElement(durationObservation);
+ assertSuperset(templateParameter3.getOwnedElements()
+ .contains(durationObservation));
+ assertSuperset(
+ templateParameter3.getParameteredElement() == durationObservation);
+
+ TemplateParameter templateParameter4 = UML.createTemplateParameter();
+ assertValid(templateParameter4);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ templateParameter4.setOwnedParameteredElement(callEvent);
+ assertSuperset(
+ templateParameter4.getOwnedElements().contains(callEvent));
+ assertSuperset(templateParameter4.getParameteredElement() == callEvent);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ templateParameter4.setOwnedParameteredElement(literalUnlimitedNatural);
+ assertSuperset(templateParameter4.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+ assertSuperset(templateParameter4
+ .getParameteredElement() == literalUnlimitedNatural);
+
+ TemplateParameter templateParameter5 = UML.createTemplateParameter();
+ assertValid(templateParameter5);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ templateParameter5.setOwnedParameteredElement(timeObservation);
+ assertSuperset(
+ templateParameter5.getOwnedElements().contains(timeObservation));
+ assertSuperset(
+ templateParameter5.getParameteredElement() == timeObservation);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ templateParameter5.setOwnedParameteredElement(model);
+ assertSuperset(templateParameter5.getOwnedElements().contains(model));
+ assertSuperset(templateParameter5.getParameteredElement() == model);
+
+ TemplateParameter templateParameter6 = UML.createTemplateParameter();
+ assertValid(templateParameter6);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ templateParameter6.setOwnedParameteredElement(timeExpression);
+ assertSuperset(
+ templateParameter6.getOwnedElements().contains(timeExpression));
+ assertSuperset(
+ templateParameter6.getParameteredElement() == timeExpression);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ templateParameter6.setOwnedParameteredElement(instanceValue);
+ assertSuperset(
+ templateParameter6.getOwnedElements().contains(instanceValue));
+ assertSuperset(
+ templateParameter6.getParameteredElement() == instanceValue);
+
+ TemplateParameter templateParameter7 = UML.createTemplateParameter();
+ assertValid(templateParameter7);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ templateParameter7.setOwnedParameteredElement(interactionConstraint);
+ assertSuperset(templateParameter7.getOwnedElements()
+ .contains(interactionConstraint));
+ assertSuperset(templateParameter7
+ .getParameteredElement() == interactionConstraint);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ templateParameter7.setOwnedParameteredElement(interval);
+ assertSuperset(
+ templateParameter7.getOwnedElements().contains(interval));
+ assertSuperset(templateParameter7.getParameteredElement() == interval);
+
+ TemplateParameter templateParameter8 = UML.createTemplateParameter();
+ assertValid(templateParameter8);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ templateParameter8.setOwnedParameteredElement(abstraction);
+ assertSuperset(
+ templateParameter8.getOwnedElements().contains(abstraction));
+ assertSuperset(
+ templateParameter8.getParameteredElement() == abstraction);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ templateParameter8.setOwnedParameteredElement(literalString);
+ assertSuperset(
+ templateParameter8.getOwnedElements().contains(literalString));
+ assertSuperset(
+ templateParameter8.getParameteredElement() == literalString);
+
+ TemplateParameter templateParameter9 = UML.createTemplateParameter();
+ assertValid(templateParameter9);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ templateParameter9.setOwnedParameteredElement(interfaceRealization);
+ assertSuperset(templateParameter9.getOwnedElements()
+ .contains(interfaceRealization));
+ assertSuperset(
+ templateParameter9.getParameteredElement() == interfaceRealization);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ templateParameter9.setOwnedParameteredElement(profile);
+ assertSuperset(templateParameter9.getOwnedElements().contains(profile));
+ assertSuperset(templateParameter9.getParameteredElement() == profile);
+
+ TemplateParameter templateParameter10 = UML.createTemplateParameter();
+ assertValid(templateParameter10);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ templateParameter10.setOwnedParameteredElement(timeConstraint);
+ assertSuperset(
+ templateParameter10.getOwnedElements().contains(timeConstraint));
+ assertSuperset(
+ templateParameter10.getParameteredElement() == timeConstraint);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ templateParameter10.setOwnedParameteredElement(durationInterval);
+ assertSuperset(
+ templateParameter10.getOwnedElements().contains(durationInterval));
+ assertSuperset(
+ templateParameter10.getParameteredElement() == durationInterval);
+
+ TemplateParameter templateParameter11 = UML.createTemplateParameter();
+ assertValid(templateParameter11);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ templateParameter11.setOwnedParameteredElement(generalizationSet);
+ assertSuperset(
+ templateParameter11.getOwnedElements().contains(generalizationSet));
+ assertSuperset(
+ templateParameter11.getParameteredElement() == generalizationSet);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ templateParameter11.setOwnedParameteredElement(deployment);
+ assertSuperset(
+ templateParameter11.getOwnedElements().contains(deployment));
+ assertSuperset(
+ templateParameter11.getParameteredElement() == deployment);
+
+ TemplateParameter templateParameter12 = UML.createTemplateParameter();
+ assertValid(templateParameter12);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ templateParameter12.setOwnedParameteredElement(informationFlow);
+ assertSuperset(
+ templateParameter12.getOwnedElements().contains(informationFlow));
+ assertSuperset(
+ templateParameter12.getParameteredElement() == informationFlow);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ templateParameter12.setOwnedParameteredElement(signalEvent);
+ assertSuperset(
+ templateParameter12.getOwnedElements().contains(signalEvent));
+ assertSuperset(
+ templateParameter12.getParameteredElement() == signalEvent);
+
+ TemplateParameter templateParameter13 = UML.createTemplateParameter();
+ assertValid(templateParameter13);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ templateParameter13.setOwnedParameteredElement(opaqueExpression);
+ assertSuperset(
+ templateParameter13.getOwnedElements().contains(opaqueExpression));
+ assertSuperset(
+ templateParameter13.getParameteredElement() == opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ templateParameter13.setOwnedParameteredElement(timeEvent);
+ assertSuperset(
+ templateParameter13.getOwnedElements().contains(timeEvent));
+ assertSuperset(
+ templateParameter13.getParameteredElement() == timeEvent);
+
+ TemplateParameter templateParameter14 = UML.createTemplateParameter();
+ assertValid(templateParameter14);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ templateParameter14.setOwnedParameteredElement(usage);
+ assertSuperset(templateParameter14.getOwnedElements().contains(usage));
+ assertSuperset(templateParameter14.getParameteredElement() == usage);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ templateParameter14.setOwnedParameteredElement(anyReceiveEvent);
+ assertSuperset(
+ templateParameter14.getOwnedElements().contains(anyReceiveEvent));
+ assertSuperset(
+ templateParameter14.getParameteredElement() == anyReceiveEvent);
+
+ TemplateParameter templateParameter15 = UML.createTemplateParameter();
+ assertValid(templateParameter15);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ templateParameter15.setOwnedParameteredElement(literalInteger);
+ assertSuperset(
+ templateParameter15.getOwnedElements().contains(literalInteger));
+ assertSuperset(
+ templateParameter15.getParameteredElement() == literalInteger);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ templateParameter15.setOwnedParameteredElement(realization);
+ assertSuperset(
+ templateParameter15.getOwnedElements().contains(realization));
+ assertSuperset(
+ templateParameter15.getParameteredElement() == realization);
+
+ TemplateParameter templateParameter16 = UML.createTemplateParameter();
+ assertValid(templateParameter16);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ templateParameter16.setOwnedParameteredElement(timeInterval);
+ assertSuperset(
+ templateParameter16.getOwnedElements().contains(timeInterval));
+ assertSuperset(
+ templateParameter16.getParameteredElement() == timeInterval);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ templateParameter16.setOwnedParameteredElement(substitution);
+ assertSuperset(
+ templateParameter16.getOwnedElements().contains(substitution));
+ assertSuperset(
+ templateParameter16.getParameteredElement() == substitution);
+
+ TemplateParameter templateParameter17 = UML.createTemplateParameter();
+ assertValid(templateParameter17);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ templateParameter17.setOwnedParameteredElement(intervalConstraint);
+ assertSuperset(templateParameter17.getOwnedElements()
+ .contains(intervalConstraint));
+ assertSuperset(
+ templateParameter17.getParameteredElement() == intervalConstraint);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ templateParameter17.setOwnedParameteredElement(literalBoolean);
+ assertSuperset(
+ templateParameter17.getOwnedElements().contains(literalBoolean));
+ assertSuperset(
+ templateParameter17.getParameteredElement() == literalBoolean);
+
+ TemplateParameter templateParameter18 = UML.createTemplateParameter();
+ assertValid(templateParameter18);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ templateParameter18.setOwnedParameteredElement(dependency);
+ assertSuperset(
+ templateParameter18.getOwnedElements().contains(dependency));
+ assertSuperset(
+ templateParameter18.getParameteredElement() == dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ templateParameter18.setOwnedParameteredElement(expression);
+ assertSuperset(
+ templateParameter18.getOwnedElements().contains(expression));
+ assertSuperset(
+ templateParameter18.getParameteredElement() == expression);
+
+ TemplateParameter templateParameter19 = UML.createTemplateParameter();
+ assertValid(templateParameter19);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ templateParameter19.setOwnedParameteredElement(componentRealization);
+ assertSuperset(templateParameter19.getOwnedElements()
+ .contains(componentRealization));
+ assertSuperset(templateParameter19
+ .getParameteredElement() == componentRealization);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ templateParameter19.setOwnedParameteredElement(durationConstraint);
+ assertSuperset(templateParameter19.getOwnedElements()
+ .contains(durationConstraint));
+ assertSuperset(
+ templateParameter19.getParameteredElement() == durationConstraint);
+
+ TemplateParameter templateParameter20 = UML.createTemplateParameter();
+ assertValid(templateParameter20);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ templateParameter20.setOwnedParameteredElement(literalNull);
+ assertSuperset(
+ templateParameter20.getOwnedElements().contains(literalNull));
+ assertSuperset(
+ templateParameter20.getParameteredElement() == literalNull);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ templateParameter20.setOwnedParameteredElement(stringExpression);
+ assertSuperset(
+ templateParameter20.getOwnedElements().contains(stringExpression));
+ assertSuperset(
+ templateParameter20.getParameteredElement() == stringExpression);
+
+ TemplateParameter templateParameter21 = UML.createTemplateParameter();
+ assertValid(templateParameter21);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ templateParameter21.setOwnedParameteredElement(changeEvent);
+ assertSuperset(
+ templateParameter21.getOwnedElements().contains(changeEvent));
+ assertSuperset(
+ templateParameter21.getParameteredElement() == changeEvent);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ templateParameter21.setOwnedParameteredElement(constraint);
+ assertSuperset(
+ templateParameter21.getOwnedElements().contains(constraint));
+ assertSuperset(
+ templateParameter21.getParameteredElement() == constraint);
+
+ TemplateParameter templateParameter22 = UML.createTemplateParameter();
+ assertValid(templateParameter22);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ templateParameter22.setOwnedParameteredElement(enumerationLiteral);
+ assertSuperset(templateParameter22.getOwnedElements()
+ .contains(enumerationLiteral));
+ assertSuperset(
+ templateParameter22.getParameteredElement() == enumerationLiteral);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateSignatureTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateSignatureTest.java
new file mode 100755
index 00000000..10dd122d
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TemplateSignatureTest.java
@@ -0,0 +1,164 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateSignature;
+
+/**
+ * @author Eike Stepper
+ */
+public class TemplateSignatureTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ templateSignature.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ templateSignature.getOwnedComments().add(comment);
+ assertSuperset(templateSignature.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ EList<Element> elements = templateSignature.getOwnedElements();
+ EList<Element> elements2 = templateSignature.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testParameter() {
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ templateSignature.getParameters().add(classifierTemplateParameter);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ templateSignature.getParameters()
+ .add(connectableElementTemplateParameter);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ templateSignature.getParameters().add(templateParameter);
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ templateSignature.getParameters().add(operationTemplateParameter);
+ }
+
+ public void testTemplate() {
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ templateSignature.setTemplate(package_);
+ assertSuperset(templateSignature.getOwner() == package_);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ templateSignature.setTemplate(operation);
+ assertSuperset(templateSignature.getOwner() == operation);
+
+ TemplateSignature templateSignature2 = UML.createTemplateSignature();
+ assertValid(templateSignature2);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ templateSignature2.setTemplate(model);
+ assertSuperset(templateSignature2.getOwner() == model);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ templateSignature2.setTemplate(profile);
+ assertSuperset(templateSignature2.getOwner() == profile);
+
+ TemplateSignature templateSignature3 = UML.createTemplateSignature();
+ assertValid(templateSignature3);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ templateSignature3.setTemplate(stringExpression);
+ assertSuperset(templateSignature3.getOwner() == stringExpression);
+ }
+
+ public void testOwnedParameter() {
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ templateSignature.getOwnedParameters().add(classifierTemplateParameter);
+ assertSuperset(templateSignature.getOwnedElements()
+ .contains(classifierTemplateParameter));
+ assertSuperset(templateSignature.getParameters()
+ .contains(classifierTemplateParameter));
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ templateSignature.getOwnedParameters()
+ .add(connectableElementTemplateParameter);
+ assertSuperset(templateSignature.getOwnedElements()
+ .contains(connectableElementTemplateParameter));
+ assertSuperset(templateSignature.getParameters()
+ .contains(connectableElementTemplateParameter));
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ templateSignature.getOwnedParameters().add(templateParameter);
+ assertSuperset(
+ templateSignature.getOwnedElements().contains(templateParameter));
+ assertSuperset(
+ templateSignature.getParameters().contains(templateParameter));
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ templateSignature.getOwnedParameters().add(operationTemplateParameter);
+ assertSuperset(templateSignature.getOwnedElements()
+ .contains(operationTemplateParameter));
+ assertSuperset(templateSignature.getParameters()
+ .contains(operationTemplateParameter));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TestIdentityActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TestIdentityActionTest.java
new file mode 100755
index 00000000..f8e635c8
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TestIdentityActionTest.java
@@ -0,0 +1,803 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class TestIdentityActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ testIdentityAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ testIdentityAction.getOwnedComments().add(comment);
+ assertSuperset(testIdentityAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ EList<Element> elements = testIdentityAction.getOwnedElements();
+ EList<Element> elements2 = testIdentityAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ EList<Dependency> dependencys = testIdentityAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = testIdentityAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ testIdentityAction.setNameExpression(stringExpression);
+ assertSuperset(
+ testIdentityAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ EList<RedefinableElement> redefinableElements = testIdentityAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = testIdentityAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ EList<Classifier> classifiers = testIdentityAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = testIdentityAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ EList<ActivityGroup> activityGroups = testIdentityAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = testIdentityAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ testIdentityAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(testIdentityAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ testIdentityAction.setInStructuredNode(loopNode);
+ assertSuperset(testIdentityAction.getInGroups().contains(loopNode));
+ assertSuperset(testIdentityAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ testIdentityAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ testIdentityAction.getInGroups().contains(expansionRegion));
+ assertSuperset(testIdentityAction.getOwner() == expansionRegion);
+
+ TestIdentityAction testIdentityAction2 = UML.createTestIdentityAction();
+ assertValid(testIdentityAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ testIdentityAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ testIdentityAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(testIdentityAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ testIdentityAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ testIdentityAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(
+ testIdentityAction2.getOwner() == structuredActivityNode);
+
+ TestIdentityAction testIdentityAction3 = UML.createTestIdentityAction();
+ assertValid(testIdentityAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ testIdentityAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ testIdentityAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(testIdentityAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ testIdentityAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ testIdentityAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ testIdentityAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ testIdentityAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ testIdentityAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ testIdentityAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ testIdentityAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ testIdentityAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ testIdentityAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ testIdentityAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ testIdentityAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ testIdentityAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ testIdentityAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ testIdentityAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ testIdentityAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ testIdentityAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ testIdentityAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ testIdentityAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ testIdentityAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ testIdentityAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ testIdentityAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ testIdentityAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ testIdentityAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ testIdentityAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ testIdentityAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ testIdentityAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ testIdentityAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ testIdentityAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ testIdentityAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ testIdentityAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ testIdentityAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ testIdentityAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ testIdentityAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ testIdentityAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ testIdentityAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ testIdentityAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ testIdentityAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ testIdentityAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ testIdentityAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ testIdentityAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ testIdentityAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ testIdentityAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction2 = UML.createTestIdentityAction();
+ assertValid(testIdentityAction2);
+ testIdentityAction.getRedefinedNodes().add(testIdentityAction2);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(testIdentityAction2));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ testIdentityAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ testIdentityAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ testIdentityAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ testIdentityAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ testIdentityAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ testIdentityAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ testIdentityAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ testIdentityAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ testIdentityAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ testIdentityAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ testIdentityAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ testIdentityAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ testIdentityAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ testIdentityAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ testIdentityAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ testIdentityAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ testIdentityAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ testIdentityAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ testIdentityAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(testIdentityAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ testIdentityAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ testIdentityAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ testIdentityAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ testIdentityAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ EList<InputPin> inputPins = testIdentityAction.getInputs();
+ EList<InputPin> inputPins2 = testIdentityAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ testIdentityAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ testIdentityAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ testIdentityAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ testIdentityAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ testIdentityAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(testIdentityAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ testIdentityAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ testIdentityAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ testIdentityAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ testIdentityAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ testIdentityAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ testIdentityAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ testIdentityAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ testIdentityAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ testIdentityAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(testIdentityAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ testIdentityAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ testIdentityAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ testIdentityAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ testIdentityAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ EList<OutputPin> outputPins = testIdentityAction.getOutputs();
+ EList<OutputPin> outputPins2 = testIdentityAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testFirst() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ testIdentityAction.setFirst(inputPin);
+ assertSuperset(testIdentityAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ testIdentityAction.setFirst(valuePin);
+ assertSuperset(testIdentityAction.getInputs().contains(valuePin));
+
+ TestIdentityAction testIdentityAction2 = UML.createTestIdentityAction();
+ assertValid(testIdentityAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ testIdentityAction2.setFirst(actionInputPin);
+ assertSuperset(
+ testIdentityAction2.getInputs().contains(actionInputPin));
+ }
+
+ public void testResult() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ testIdentityAction.setResult(outputPin);
+ assertSuperset(testIdentityAction.getOutputs().contains(outputPin));
+ }
+
+ public void testSecond() {
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ testIdentityAction.setSecond(inputPin);
+ assertSuperset(testIdentityAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ testIdentityAction.setSecond(valuePin);
+ assertSuperset(testIdentityAction.getInputs().contains(valuePin));
+
+ TestIdentityAction testIdentityAction2 = UML.createTestIdentityAction();
+ assertValid(testIdentityAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ testIdentityAction2.setSecond(actionInputPin);
+ assertSuperset(
+ testIdentityAction2.getInputs().contains(actionInputPin));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeConstraintTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeConstraintTest.java
new file mode 100755
index 00000000..737fa853
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeConstraintTest.java
@@ -0,0 +1,1425 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Clause;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationTemplateParameter;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolConformance;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.QualifierValue;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class TimeConstraintTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ timeConstraint.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ timeConstraint.getOwnedComments().add(comment);
+ assertSuperset(timeConstraint.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ EList<Element> elements = timeConstraint.getOwnedElements();
+ EList<Element> elements2 = timeConstraint.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ EList<Dependency> dependencys = timeConstraint.getClientDependencies();
+ EList<Dependency> dependencys2 = timeConstraint.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ timeConstraint.setNameExpression(stringExpression);
+ assertSuperset(
+ timeConstraint.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ timeConstraint.setOwningTemplateParameter(templateParameter);
+ assertSuperset(timeConstraint.getOwner() == templateParameter);
+ assertSuperset(
+ timeConstraint.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ timeConstraint.setTemplateParameter(templateParameter);
+ }
+
+ public void testConstrainedElement() {
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ timeConstraint.getConstrainedElements().add(activity);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ timeConstraint.getConstrainedElements().add(communicationPath);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ timeConstraint.getConstrainedElements().add(inputPin);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ timeConstraint.getConstrainedElements()
+ .add(readLinkObjectEndQualifierAction);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ timeConstraint.getConstrainedElements().add(component);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ timeConstraint.getConstrainedElements().add(durationObservation);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ timeConstraint.getConstrainedElements().add(callEvent);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ timeConstraint.getConstrainedElements().add(joinNode);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ timeConstraint.getConstrainedElements().add(createLinkObjectAction);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ timeConstraint.getConstrainedElements().add(readLinkAction);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ timeConstraint.getConstrainedElements().add(model);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ timeConstraint.getConstrainedElements().add(trigger);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ timeConstraint.getConstrainedElements().add(associationClass);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ timeConstraint.getConstrainedElements()
+ .add(classifierTemplateParameter);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ timeConstraint.getConstrainedElements()
+ .add(clearStructuralFeatureAction);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ timeConstraint.getConstrainedElements().add(structuredActivityNode);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ timeConstraint.getConstrainedElements().add(forkNode);
+
+ TimeConstraint timeConstraint2 = UML.createTimeConstraint();
+ assertValid(timeConstraint2);
+ timeConstraint.getConstrainedElements().add(timeConstraint2);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ timeConstraint.getConstrainedElements().add(extensionEnd);
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ timeConstraint.getConstrainedElements().add(considerIgnoreFragment);
+
+ ProtocolConformance protocolConformance = UML
+ .createProtocolConformance();
+ assertValid(protocolConformance);
+ timeConstraint.getConstrainedElements().add(protocolConformance);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ timeConstraint.getConstrainedElements().add(readExtentAction);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ timeConstraint.getConstrainedElements().add(actionInputPin);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ timeConstraint.getConstrainedElements().add(artifact);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ timeConstraint.getConstrainedElements().add(informationFlow);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ timeConstraint.getConstrainedElements().add(clearVariableAction);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ timeConstraint.getConstrainedElements().add(createLinkAction);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ timeConstraint.getConstrainedElements().add(sendObjectAction);
+
+ LinkEndData linkEndData = UML.createLinkEndData();
+ assertValid(linkEndData);
+ timeConstraint.getConstrainedElements().add(linkEndData);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ timeConstraint.getConstrainedElements().add(controlFlow);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ timeConstraint.getConstrainedElements().add(deploymentSpecification);
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ timeConstraint.getConstrainedElements().add(partDecomposition);
+
+ Image image = UML.createImage();
+ assertValid(image);
+ timeConstraint.getConstrainedElements().add(image);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ timeConstraint.getConstrainedElements().add(destroyLinkAction);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ timeConstraint.getConstrainedElements().add(expansionNode);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ timeConstraint.getConstrainedElements().add(timeInterval);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ timeConstraint.getConstrainedElements().add(dataType);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ timeConstraint.getConstrainedElements().add(substitution);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ timeConstraint.getConstrainedElements().add(literalBoolean);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ timeConstraint.getConstrainedElements().add(durationConstraint);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ timeConstraint.getConstrainedElements().add(literalNull);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ timeConstraint.getConstrainedElements().add(callOperationAction);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ timeConstraint.getConstrainedElements().add(node);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ timeConstraint.getConstrainedElements().add(constraint);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ timeConstraint.getConstrainedElements().add(stateMachine);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ timeConstraint.getConstrainedElements().add(interface_);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ timeConstraint.getConstrainedElements()
+ .add(startClassifierBehaviorAction);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ timeConstraint.getConstrainedElements().add(removeVariableValueAction);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ timeConstraint.getConstrainedElements()
+ .add(redefinableTemplateSignature);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ timeConstraint.getConstrainedElements()
+ .add(executionOccurrenceSpecification);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ timeConstraint.getConstrainedElements().add(variable);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ timeConstraint.getConstrainedElements().add(property);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ timeConstraint.getConstrainedElements().add(expansionRegion);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ timeConstraint.getConstrainedElements().add(templateParameter);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ timeConstraint.getConstrainedElements().add(startObjectBehaviorAction);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ timeConstraint.getConstrainedElements().add(profile);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ timeConstraint.getConstrainedElements().add(message);
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ timeConstraint.getConstrainedElements().add(continuation);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ timeConstraint.getConstrainedElements().add(objectFlow);
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ timeConstraint.getConstrainedElements().add(stateInvariant);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ timeConstraint.getConstrainedElements()
+ .add(addStructuralFeatureValueAction);
+
+ ConnectorEnd connectorEnd = UML.createConnectorEnd();
+ assertValid(connectorEnd);
+ timeConstraint.getConstrainedElements().add(connectorEnd);
+
+ LinkEndCreationData linkEndCreationData = UML
+ .createLinkEndCreationData();
+ assertValid(linkEndCreationData);
+ timeConstraint.getConstrainedElements().add(linkEndCreationData);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ timeConstraint.getConstrainedElements()
+ .add(connectableElementTemplateParameter);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ timeConstraint.getConstrainedElements().add(templateBinding);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ timeConstraint.getConstrainedElements().add(opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ timeConstraint.getConstrainedElements().add(timeEvent);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ timeConstraint.getConstrainedElements().add(generalOrdering);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ timeConstraint.getConstrainedElements()
+ .add(messageOccurrenceSpecification);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ timeConstraint.getConstrainedElements().add(literalInteger);
+
+ Slot slot = UML.createSlot();
+ assertValid(slot);
+ timeConstraint.getConstrainedElements().add(slot);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ timeConstraint.getConstrainedElements().add(centralBufferNode);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ timeConstraint.getConstrainedElements().add(extension);
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ timeConstraint.getConstrainedElements().add(extensionPoint);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ timeConstraint.getConstrainedElements().add(elementImport);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ timeConstraint.getConstrainedElements().add(dependency);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ timeConstraint.getConstrainedElements().add(expression);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ timeConstraint.getConstrainedElements()
+ .add(behaviorExecutionSpecification);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ timeConstraint.getConstrainedElements().add(acceptCallAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ timeConstraint.getConstrainedElements().add(readLinkObjectEndAction);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ timeConstraint.getConstrainedElements().add(opaqueAction);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ timeConstraint.getConstrainedElements().add(packageImport);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ timeConstraint.getConstrainedElements().add(stringExpression);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ timeConstraint.getConstrainedElements().add(mergeNode);
+
+ TemplateSignature templateSignature = UML.createTemplateSignature();
+ assertValid(templateSignature);
+ timeConstraint.getConstrainedElements().add(templateSignature);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ timeConstraint.getConstrainedElements().add(changeEvent);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ timeConstraint.getConstrainedElements().add(stereotype);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ timeConstraint.getConstrainedElements().add(comment);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ timeConstraint.getConstrainedElements().add(readSelfAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ timeConstraint.getConstrainedElements().add(activityPartition);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ timeConstraint.getConstrainedElements().add(manifestation);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ timeConstraint.getConstrainedElements().add(interaction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ timeConstraint.getConstrainedElements().add(exceptionHandler);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ timeConstraint.getConstrainedElements().add(opaqueBehavior);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ timeConstraint.getConstrainedElements().add(literalUnlimitedNatural);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ timeConstraint.getConstrainedElements().add(sendSignalAction);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ timeConstraint.getConstrainedElements().add(operation);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ timeConstraint.getConstrainedElements().add(clearAssociationAction);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ timeConstraint.getConstrainedElements().add(parameter);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ timeConstraint.getConstrainedElements().add(instanceValue);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ timeConstraint.getConstrainedElements().add(interactionConstraint);
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ timeConstraint.getConstrainedElements().add(interactionUse);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ timeConstraint.getConstrainedElements().add(interval);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ timeConstraint.getConstrainedElements().add(literalString);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ timeConstraint.getConstrainedElements().add(valuePin);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ timeConstraint.getConstrainedElements().add(interfaceRealization);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ timeConstraint.getConstrainedElements().add(decisionNode);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ timeConstraint.getConstrainedElements().add(actor);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ timeConstraint.getConstrainedElements().add(generalization);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ timeConstraint.getConstrainedElements().add(reception);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ timeConstraint.getConstrainedElements().add(pseudostate);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ timeConstraint.getConstrainedElements().add(durationInterval);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ timeConstraint.getConstrainedElements().add(deployment);
+
+ QualifierValue qualifierValue = UML.createQualifierValue();
+ assertValid(qualifierValue);
+ timeConstraint.getConstrainedElements().add(qualifierValue);
+
+ PackageMerge packageMerge = UML.createPackageMerge();
+ assertValid(packageMerge);
+ timeConstraint.getConstrainedElements().add(packageMerge);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ timeConstraint.getConstrainedElements().add(conditionalNode);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ timeConstraint.getConstrainedElements().add(signalEvent);
+
+ TemplateParameterSubstitution templateParameterSubstitution = UML
+ .createTemplateParameterSubstitution();
+ assertValid(templateParameterSubstitution);
+ timeConstraint.getConstrainedElements()
+ .add(templateParameterSubstitution);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ timeConstraint.getConstrainedElements().add(connectionPointReference);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ timeConstraint.getConstrainedElements().add(reclassifyObjectAction);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ timeConstraint.getConstrainedElements().add(usage);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ timeConstraint.getConstrainedElements().add(dataStoreNode);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ timeConstraint.getConstrainedElements().add(executionEnvironment);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ timeConstraint.getConstrainedElements().add(realization);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ timeConstraint.getConstrainedElements().add(testIdentityAction);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ timeConstraint.getConstrainedElements().add(association);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ timeConstraint.getConstrainedElements().add(outputPin);
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ timeConstraint.getConstrainedElements().add(include);
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ timeConstraint.getConstrainedElements().add(extend);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ timeConstraint.getConstrainedElements().add(broadcastSignalAction);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ timeConstraint.getConstrainedElements().add(finalState);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ timeConstraint.getConstrainedElements().add(raiseExceptionAction);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ timeConstraint.getConstrainedElements().add(activityFinalNode);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ timeConstraint.getConstrainedElements().add(protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ timeConstraint.getConstrainedElements().add(loopNode);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ timeConstraint.getConstrainedElements().add(parameterSet);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ timeConstraint.getConstrainedElements().add(valueSpecificationAction);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ timeConstraint.getConstrainedElements().add(sequenceNode);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ timeConstraint.getConstrainedElements().add(destroyObjectAction);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ timeConstraint.getConstrainedElements().add(enumerationLiteral);
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ timeConstraint.getConstrainedElements()
+ .add(actionExecutionSpecification);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ timeConstraint.getConstrainedElements().add(functionBehavior);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ timeConstraint.getConstrainedElements().add(instanceSpecification);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ timeConstraint.getConstrainedElements().add(port);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ timeConstraint.getConstrainedElements().add(informationItem);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ timeConstraint.getConstrainedElements().add(literalReal);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ timeConstraint.getConstrainedElements().add(duration);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ timeConstraint.getConstrainedElements().add(package_);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ timeConstraint.getConstrainedElements()
+ .add(destructionOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ timeConstraint.getConstrainedElements().add(lifeline);
+
+ ProfileApplication profileApplication = UML.createProfileApplication();
+ assertValid(profileApplication);
+ timeConstraint.getConstrainedElements().add(profileApplication);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ timeConstraint.getConstrainedElements().add(timeObservation);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ timeConstraint.getConstrainedElements().add(replyAction);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ timeConstraint.getConstrainedElements().add(gate);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ timeConstraint.getConstrainedElements().add(timeExpression);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ timeConstraint.getConstrainedElements().add(device);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ timeConstraint.getConstrainedElements().add(flowFinalNode);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ timeConstraint.getConstrainedElements().add(abstraction);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ timeConstraint.getConstrainedElements().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ timeConstraint.getConstrainedElements().add(primitiveType);
+
+ LinkEndDestructionData linkEndDestructionData = UML
+ .createLinkEndDestructionData();
+ assertValid(linkEndDestructionData);
+ timeConstraint.getConstrainedElements().add(linkEndDestructionData);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ timeConstraint.getConstrainedElements().add(generalizationSet);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ timeConstraint.getConstrainedElements().add(signal);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ timeConstraint.getConstrainedElements().add(callBehaviorAction);
+
+ Clause clause = UML.createClause();
+ assertValid(clause);
+ timeConstraint.getConstrainedElements().add(clause);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ timeConstraint.getConstrainedElements()
+ .add(readIsClassifiedObjectAction);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ timeConstraint.getConstrainedElements().add(activityParameterNode);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ timeConstraint.getConstrainedElements().add(readVariableAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ timeConstraint.getConstrainedElements()
+ .add(interruptibleActivityRegion);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ timeConstraint.getConstrainedElements()
+ .add(removeStructuralFeatureValueAction);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ timeConstraint.getConstrainedElements().add(region);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ timeConstraint.getConstrainedElements().add(transition);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ timeConstraint.getConstrainedElements().add(anyReceiveEvent);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ timeConstraint.getConstrainedElements().add(reduceAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ timeConstraint.getConstrainedElements().add(acceptEventAction);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ timeConstraint.getConstrainedElements().add(initialNode);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ timeConstraint.getConstrainedElements().add(combinedFragment);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ timeConstraint.getConstrainedElements().add(intervalConstraint);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ timeConstraint.getConstrainedElements().add(occurrenceSpecification);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ timeConstraint.getConstrainedElements().add(connector);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ timeConstraint.getConstrainedElements().add(componentRealization);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ timeConstraint.getConstrainedElements().add(class_);
+
+ State state = UML.createState();
+ assertValid(state);
+ timeConstraint.getConstrainedElements().add(state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ timeConstraint.getConstrainedElements().add(protocolTransition);
+
+ OperationTemplateParameter operationTemplateParameter = UML
+ .createOperationTemplateParameter();
+ assertValid(operationTemplateParameter);
+ timeConstraint.getConstrainedElements().add(operationTemplateParameter);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ timeConstraint.getConstrainedElements().add(collaborationUse);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ timeConstraint.getConstrainedElements().add(interactionOperand);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ timeConstraint.getConstrainedElements().add(addVariableValueAction);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ timeConstraint.getConstrainedElements().add(useCase);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ timeConstraint.getConstrainedElements().add(unmarshallAction);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ timeConstraint.getConstrainedElements().add(createObjectAction);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ timeConstraint.getConstrainedElements()
+ .add(readStructuralFeatureAction);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ timeConstraint.getConstrainedElements().add(collaboration);
+ }
+
+ public void testContext() {
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ timeConstraint.setContext(functionBehavior);
+ assertSuperset(timeConstraint.getNamespace() == functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ timeConstraint.setContext(activity);
+ assertSuperset(timeConstraint.getNamespace() == activity);
+
+ TimeConstraint timeConstraint2 = UML.createTimeConstraint();
+ assertValid(timeConstraint2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ timeConstraint2.setContext(interface_);
+ assertSuperset(timeConstraint2.getNamespace() == interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ timeConstraint2.setContext(informationItem);
+ assertSuperset(timeConstraint2.getNamespace() == informationItem);
+
+ TimeConstraint timeConstraint3 = UML.createTimeConstraint();
+ assertValid(timeConstraint3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ timeConstraint3.setContext(communicationPath);
+ assertSuperset(timeConstraint3.getNamespace() == communicationPath);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ timeConstraint3.setContext(region);
+ assertSuperset(timeConstraint3.getNamespace() == region);
+
+ TimeConstraint timeConstraint4 = UML.createTimeConstraint();
+ assertValid(timeConstraint4);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ timeConstraint4.setContext(transition);
+ assertSuperset(timeConstraint4.getNamespace() == transition);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ timeConstraint4.setContext(executionEnvironment);
+ assertSuperset(timeConstraint4.getNamespace() == executionEnvironment);
+
+ TimeConstraint timeConstraint5 = UML.createTimeConstraint();
+ assertValid(timeConstraint5);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ timeConstraint5.setContext(component);
+ assertSuperset(timeConstraint5.getNamespace() == component);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ timeConstraint5.setContext(package_);
+ assertSuperset(timeConstraint5.getNamespace() == package_);
+
+ TimeConstraint timeConstraint6 = UML.createTimeConstraint();
+ assertValid(timeConstraint6);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ timeConstraint6.setContext(interaction);
+ assertSuperset(timeConstraint6.getNamespace() == interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ timeConstraint6.setContext(deploymentSpecification);
+ assertSuperset(
+ timeConstraint6.getNamespace() == deploymentSpecification);
+
+ TimeConstraint timeConstraint7 = UML.createTimeConstraint();
+ assertValid(timeConstraint7);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ timeConstraint7.setContext(opaqueBehavior);
+ assertSuperset(timeConstraint7.getNamespace() == opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ timeConstraint7.setContext(association);
+ assertSuperset(timeConstraint7.getNamespace() == association);
+
+ TimeConstraint timeConstraint8 = UML.createTimeConstraint();
+ assertValid(timeConstraint8);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ timeConstraint8.setContext(operation);
+ assertSuperset(timeConstraint8.getNamespace() == operation);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ timeConstraint8.setContext(dataType);
+ assertSuperset(timeConstraint8.getNamespace() == dataType);
+
+ TimeConstraint timeConstraint9 = UML.createTimeConstraint();
+ assertValid(timeConstraint9);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ timeConstraint9.setContext(model);
+ assertSuperset(timeConstraint9.getNamespace() == model);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ timeConstraint9.setContext(device);
+ assertSuperset(timeConstraint9.getNamespace() == device);
+
+ TimeConstraint timeConstraint10 = UML.createTimeConstraint();
+ assertValid(timeConstraint10);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ timeConstraint10.setContext(extension);
+ assertSuperset(timeConstraint10.getNamespace() == extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ timeConstraint10.setContext(associationClass);
+ assertSuperset(timeConstraint10.getNamespace() == associationClass);
+
+ TimeConstraint timeConstraint11 = UML.createTimeConstraint();
+ assertValid(timeConstraint11);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ timeConstraint11.setContext(expansionRegion);
+ assertSuperset(timeConstraint11.getNamespace() == expansionRegion);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ timeConstraint11.setContext(structuredActivityNode);
+ assertSuperset(
+ timeConstraint11.getNamespace() == structuredActivityNode);
+
+ TimeConstraint timeConstraint12 = UML.createTimeConstraint();
+ assertValid(timeConstraint12);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ timeConstraint12.setContext(finalState);
+ assertSuperset(timeConstraint12.getNamespace() == finalState);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ timeConstraint12.setContext(class_);
+ assertSuperset(timeConstraint12.getNamespace() == class_);
+
+ TimeConstraint timeConstraint13 = UML.createTimeConstraint();
+ assertValid(timeConstraint13);
+
+ State state = UML.createState();
+ assertValid(state);
+ timeConstraint13.setContext(state);
+ assertSuperset(timeConstraint13.getNamespace() == state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ timeConstraint13.setContext(protocolTransition);
+ assertSuperset(timeConstraint13.getNamespace() == protocolTransition);
+
+ TimeConstraint timeConstraint14 = UML.createTimeConstraint();
+ assertValid(timeConstraint14);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ timeConstraint14.setContext(enumeration);
+ assertSuperset(timeConstraint14.getNamespace() == enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ timeConstraint14.setContext(primitiveType);
+ assertSuperset(timeConstraint14.getNamespace() == primitiveType);
+
+ TimeConstraint timeConstraint15 = UML.createTimeConstraint();
+ assertValid(timeConstraint15);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ timeConstraint15.setContext(actor);
+ assertSuperset(timeConstraint15.getNamespace() == actor);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ timeConstraint15.setContext(profile);
+ assertSuperset(timeConstraint15.getNamespace() == profile);
+
+ TimeConstraint timeConstraint16 = UML.createTimeConstraint();
+ assertValid(timeConstraint16);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ timeConstraint16.setContext(protocolStateMachine);
+ assertSuperset(timeConstraint16.getNamespace() == protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ timeConstraint16.setContext(loopNode);
+ assertSuperset(timeConstraint16.getNamespace() == loopNode);
+
+ TimeConstraint timeConstraint17 = UML.createTimeConstraint();
+ assertValid(timeConstraint17);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ timeConstraint17.setContext(interactionOperand);
+ assertSuperset(timeConstraint17.getNamespace() == interactionOperand);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ timeConstraint17.setContext(reception);
+ assertSuperset(timeConstraint17.getNamespace() == reception);
+
+ TimeConstraint timeConstraint18 = UML.createTimeConstraint();
+ assertValid(timeConstraint18);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ timeConstraint18.setContext(useCase);
+ assertSuperset(timeConstraint18.getNamespace() == useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ timeConstraint18.setContext(signal);
+ assertSuperset(timeConstraint18.getNamespace() == signal);
+
+ TimeConstraint timeConstraint19 = UML.createTimeConstraint();
+ assertValid(timeConstraint19);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ timeConstraint19.setContext(node);
+ assertSuperset(timeConstraint19.getNamespace() == node);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ timeConstraint19.setContext(sequenceNode);
+ assertSuperset(timeConstraint19.getNamespace() == sequenceNode);
+
+ TimeConstraint timeConstraint20 = UML.createTimeConstraint();
+ assertValid(timeConstraint20);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ timeConstraint20.setContext(stereotype);
+ assertSuperset(timeConstraint20.getNamespace() == stereotype);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ timeConstraint20.setContext(conditionalNode);
+ assertSuperset(timeConstraint20.getNamespace() == conditionalNode);
+
+ TimeConstraint timeConstraint21 = UML.createTimeConstraint();
+ assertValid(timeConstraint21);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ timeConstraint21.setContext(stateMachine);
+ assertSuperset(timeConstraint21.getNamespace() == stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ timeConstraint21.setContext(artifact);
+ assertSuperset(timeConstraint21.getNamespace() == artifact);
+
+ TimeConstraint timeConstraint22 = UML.createTimeConstraint();
+ assertValid(timeConstraint22);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ timeConstraint22.setContext(collaboration);
+ assertSuperset(timeConstraint22.getNamespace() == collaboration);
+ }
+
+ public void testSpecification() {
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ timeConstraint.setSpecification(timeInterval);
+ assertSuperset(
+ timeConstraint.getOwnedElements().contains(timeInterval));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeEventTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeEventTest.java
new file mode 100755
index 00000000..562061de
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeEventTest.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+
+/**
+ * @author Eike Stepper
+ */
+public class TimeEventTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ timeEvent.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ timeEvent.getOwnedComments().add(comment);
+ assertSuperset(timeEvent.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ EList<Element> elements = timeEvent.getOwnedElements();
+ EList<Element> elements2 = timeEvent.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ EList<Dependency> dependencys = timeEvent.getClientDependencies();
+ EList<Dependency> dependencys2 = timeEvent.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ timeEvent.setNameExpression(stringExpression);
+ assertSuperset(timeEvent.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ timeEvent.setOwningTemplateParameter(templateParameter);
+ assertSuperset(timeEvent.getOwner() == templateParameter);
+ assertSuperset(timeEvent.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ timeEvent.setTemplateParameter(templateParameter);
+ }
+
+ public void testWhen() {
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ timeEvent.setWhen(timeExpression);
+ assertSuperset(timeEvent.getOwnedElements().contains(timeExpression));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeExpressionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeExpressionTest.java
new file mode 100755
index 00000000..e5605955
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeExpressionTest.java
@@ -0,0 +1,421 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class TimeExpressionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ timeExpression.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ timeExpression.getOwnedComments().add(comment);
+ assertSuperset(timeExpression.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ EList<Element> elements = timeExpression.getOwnedElements();
+ EList<Element> elements2 = timeExpression.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ EList<Dependency> dependencys = timeExpression.getClientDependencies();
+ EList<Dependency> dependencys2 = timeExpression.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ timeExpression.setNameExpression(stringExpression);
+ assertSuperset(
+ timeExpression.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ timeExpression.setOwningTemplateParameter(templateParameter);
+ assertSuperset(timeExpression.getOwner() == templateParameter);
+ assertSuperset(
+ timeExpression.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ timeExpression.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ timeExpression.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ timeExpression.setType(activity);
+
+ TimeExpression timeExpression2 = UML.createTimeExpression();
+ assertValid(timeExpression2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ timeExpression2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ timeExpression2.setType(informationItem);
+
+ TimeExpression timeExpression3 = UML.createTimeExpression();
+ assertValid(timeExpression3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ timeExpression3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ timeExpression3.setType(executionEnvironment);
+
+ TimeExpression timeExpression4 = UML.createTimeExpression();
+ assertValid(timeExpression4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ timeExpression4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ timeExpression4.setType(interaction);
+
+ TimeExpression timeExpression5 = UML.createTimeExpression();
+ assertValid(timeExpression5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ timeExpression5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ timeExpression5.setType(opaqueBehavior);
+
+ TimeExpression timeExpression6 = UML.createTimeExpression();
+ assertValid(timeExpression6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ timeExpression6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ timeExpression6.setType(dataType);
+
+ TimeExpression timeExpression7 = UML.createTimeExpression();
+ assertValid(timeExpression7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ timeExpression7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ timeExpression7.setType(extension);
+
+ TimeExpression timeExpression8 = UML.createTimeExpression();
+ assertValid(timeExpression8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ timeExpression8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ timeExpression8.setType(class_);
+
+ TimeExpression timeExpression9 = UML.createTimeExpression();
+ assertValid(timeExpression9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ timeExpression9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ timeExpression9.setType(primitiveType);
+
+ TimeExpression timeExpression10 = UML.createTimeExpression();
+ assertValid(timeExpression10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ timeExpression10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ timeExpression10.setType(protocolStateMachine);
+
+ TimeExpression timeExpression11 = UML.createTimeExpression();
+ assertValid(timeExpression11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ timeExpression11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ timeExpression11.setType(signal);
+
+ TimeExpression timeExpression12 = UML.createTimeExpression();
+ assertValid(timeExpression12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ timeExpression12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ timeExpression12.setType(stereotype);
+
+ TimeExpression timeExpression13 = UML.createTimeExpression();
+ assertValid(timeExpression13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ timeExpression13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ timeExpression13.setType(artifact);
+
+ TimeExpression timeExpression14 = UML.createTimeExpression();
+ assertValid(timeExpression14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ timeExpression14.setType(collaboration);
+ }
+
+ public void testExpr() {
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ timeExpression.setExpr(literalBoolean);
+ assertSuperset(
+ timeExpression.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ timeExpression.setExpr(interval);
+ assertSuperset(timeExpression.getOwnedElements().contains(interval));
+
+ TimeExpression timeExpression2 = UML.createTimeExpression();
+ assertValid(timeExpression2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ timeExpression2.setExpr(opaqueExpression);
+ assertSuperset(
+ timeExpression2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ timeExpression2.setExpr(expression);
+ assertSuperset(timeExpression2.getOwnedElements().contains(expression));
+
+ TimeExpression timeExpression3 = UML.createTimeExpression();
+ assertValid(timeExpression3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ timeExpression3.setExpr(literalReal);
+ assertSuperset(
+ timeExpression3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ timeExpression3.setExpr(literalString);
+ assertSuperset(
+ timeExpression3.getOwnedElements().contains(literalString));
+
+ TimeExpression timeExpression4 = UML.createTimeExpression();
+ assertValid(timeExpression4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ timeExpression4.setExpr(literalNull);
+ assertSuperset(
+ timeExpression4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ timeExpression4.setExpr(duration);
+ assertSuperset(timeExpression4.getOwnedElements().contains(duration));
+
+ TimeExpression timeExpression5 = UML.createTimeExpression();
+ assertValid(timeExpression5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ timeExpression5.setExpr(literalInteger);
+ assertSuperset(
+ timeExpression5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ timeExpression5.setExpr(durationInterval);
+ assertSuperset(
+ timeExpression5.getOwnedElements().contains(durationInterval));
+
+ TimeExpression timeExpression6 = UML.createTimeExpression();
+ assertValid(timeExpression6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ timeExpression6.setExpr(stringExpression);
+ assertSuperset(
+ timeExpression6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ timeExpression6.setExpr(literalUnlimitedNatural);
+ assertSuperset(timeExpression6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ TimeExpression timeExpression7 = UML.createTimeExpression();
+ assertValid(timeExpression7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ timeExpression7.setExpr(timeInterval);
+ assertSuperset(
+ timeExpression7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression8 = UML.createTimeExpression();
+ assertValid(timeExpression8);
+ timeExpression7.setExpr(timeExpression8);
+ assertSuperset(
+ timeExpression7.getOwnedElements().contains(timeExpression8));
+
+ TimeExpression timeExpression9 = UML.createTimeExpression();
+ assertValid(timeExpression9);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ timeExpression9.setExpr(instanceValue);
+ assertSuperset(
+ timeExpression9.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testObservation() {
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ timeExpression.getObservations().add(timeObservation);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ timeExpression.getObservations().add(durationObservation);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeIntervalTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeIntervalTest.java
new file mode 100755
index 00000000..235cd95a
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeIntervalTest.java
@@ -0,0 +1,297 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class TimeIntervalTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ timeInterval.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ timeInterval.getOwnedComments().add(comment);
+ assertSuperset(timeInterval.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ EList<Element> elements = timeInterval.getOwnedElements();
+ EList<Element> elements2 = timeInterval.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ EList<Dependency> dependencys = timeInterval.getClientDependencies();
+ EList<Dependency> dependencys2 = timeInterval.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ timeInterval.setNameExpression(stringExpression);
+ assertSuperset(
+ timeInterval.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ timeInterval.setOwningTemplateParameter(templateParameter);
+ assertSuperset(timeInterval.getOwner() == templateParameter);
+ assertSuperset(
+ timeInterval.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ timeInterval.setTemplateParameter(templateParameter);
+ }
+
+ public void testType() {
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ timeInterval.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ timeInterval.setType(activity);
+
+ TimeInterval timeInterval2 = UML.createTimeInterval();
+ assertValid(timeInterval2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ timeInterval2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ timeInterval2.setType(informationItem);
+
+ TimeInterval timeInterval3 = UML.createTimeInterval();
+ assertValid(timeInterval3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ timeInterval3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ timeInterval3.setType(executionEnvironment);
+
+ TimeInterval timeInterval4 = UML.createTimeInterval();
+ assertValid(timeInterval4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ timeInterval4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ timeInterval4.setType(interaction);
+
+ TimeInterval timeInterval5 = UML.createTimeInterval();
+ assertValid(timeInterval5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ timeInterval5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ timeInterval5.setType(opaqueBehavior);
+
+ TimeInterval timeInterval6 = UML.createTimeInterval();
+ assertValid(timeInterval6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ timeInterval6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ timeInterval6.setType(dataType);
+
+ TimeInterval timeInterval7 = UML.createTimeInterval();
+ assertValid(timeInterval7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ timeInterval7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ timeInterval7.setType(extension);
+
+ TimeInterval timeInterval8 = UML.createTimeInterval();
+ assertValid(timeInterval8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ timeInterval8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ timeInterval8.setType(class_);
+
+ TimeInterval timeInterval9 = UML.createTimeInterval();
+ assertValid(timeInterval9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ timeInterval9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ timeInterval9.setType(primitiveType);
+
+ TimeInterval timeInterval10 = UML.createTimeInterval();
+ assertValid(timeInterval10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ timeInterval10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ timeInterval10.setType(protocolStateMachine);
+
+ TimeInterval timeInterval11 = UML.createTimeInterval();
+ assertValid(timeInterval11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ timeInterval11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ timeInterval11.setType(signal);
+
+ TimeInterval timeInterval12 = UML.createTimeInterval();
+ assertValid(timeInterval12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ timeInterval12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ timeInterval12.setType(stereotype);
+
+ TimeInterval timeInterval13 = UML.createTimeInterval();
+ assertValid(timeInterval13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ timeInterval13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ timeInterval13.setType(artifact);
+
+ TimeInterval timeInterval14 = UML.createTimeInterval();
+ assertValid(timeInterval14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ timeInterval14.setType(collaboration);
+ }
+
+ public void testMax() {
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ timeInterval.setMax(timeExpression);
+ }
+
+ public void testMin() {
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ timeInterval.setMin(timeExpression);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeObservationTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeObservationTest.java
new file mode 100755
index 00000000..3b767f46
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TimeObservationTest.java
@@ -0,0 +1,1241 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class TimeObservationTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ timeObservation.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ timeObservation.getOwnedComments().add(comment);
+ assertSuperset(timeObservation.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ EList<Element> elements = timeObservation.getOwnedElements();
+ EList<Element> elements2 = timeObservation.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ EList<Dependency> dependencys = timeObservation.getClientDependencies();
+ EList<Dependency> dependencys2 = timeObservation
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ timeObservation.setNameExpression(stringExpression);
+ assertSuperset(
+ timeObservation.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ timeObservation.setOwningTemplateParameter(templateParameter);
+ assertSuperset(timeObservation.getOwner() == templateParameter);
+ assertSuperset(
+ timeObservation.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ timeObservation.setTemplateParameter(templateParameter);
+ }
+
+ public void testEvent() {
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ timeObservation.setEvent(activity);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ timeObservation.setEvent(communicationPath);
+
+ TimeObservation timeObservation2 = UML.createTimeObservation();
+ assertValid(timeObservation2);
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ timeObservation2.setEvent(readSelfAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ timeObservation2.setEvent(activityPartition);
+
+ TimeObservation timeObservation3 = UML.createTimeObservation();
+ assertValid(timeObservation3);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ timeObservation3.setEvent(inputPin);
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ timeObservation3.setEvent(readLinkObjectEndQualifierAction);
+
+ TimeObservation timeObservation4 = UML.createTimeObservation();
+ assertValid(timeObservation4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ timeObservation4.setEvent(component);
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ timeObservation4.setEvent(manifestation);
+
+ TimeObservation timeObservation5 = UML.createTimeObservation();
+ assertValid(timeObservation5);
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ timeObservation5.setEvent(durationObservation);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ timeObservation5.setEvent(callEvent);
+
+ TimeObservation timeObservation6 = UML.createTimeObservation();
+ assertValid(timeObservation6);
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ timeObservation6.setEvent(joinNode);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ timeObservation6.setEvent(interaction);
+
+ TimeObservation timeObservation7 = UML.createTimeObservation();
+ assertValid(timeObservation7);
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ timeObservation7.setEvent(createLinkObjectAction);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ timeObservation7.setEvent(opaqueBehavior);
+
+ TimeObservation timeObservation8 = UML.createTimeObservation();
+ assertValid(timeObservation8);
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ timeObservation8.setEvent(literalUnlimitedNatural);
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ timeObservation8.setEvent(sendSignalAction);
+
+ TimeObservation timeObservation9 = UML.createTimeObservation();
+ assertValid(timeObservation9);
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ timeObservation9.setEvent(readLinkAction);
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ timeObservation9.setEvent(operation);
+
+ TimeObservation timeObservation10 = UML.createTimeObservation();
+ assertValid(timeObservation10);
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ timeObservation10.setEvent(clearAssociationAction);
+
+ Model model = UML.createModel();
+ assertValid(model);
+ timeObservation10.setEvent(model);
+
+ TimeObservation timeObservation11 = UML.createTimeObservation();
+ assertValid(timeObservation11);
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ timeObservation11.setEvent(parameter);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ timeObservation11.setEvent(instanceValue);
+
+ TimeObservation timeObservation12 = UML.createTimeObservation();
+ assertValid(timeObservation12);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ timeObservation12.setEvent(trigger);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ timeObservation12.setEvent(interactionConstraint);
+
+ TimeObservation timeObservation13 = UML.createTimeObservation();
+ assertValid(timeObservation13);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ timeObservation13.setEvent(associationClass);
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ timeObservation13.setEvent(interactionUse);
+
+ TimeObservation timeObservation14 = UML.createTimeObservation();
+ assertValid(timeObservation14);
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ timeObservation14.setEvent(clearStructuralFeatureAction);
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ timeObservation14.setEvent(interval);
+
+ TimeObservation timeObservation15 = UML.createTimeObservation();
+ assertValid(timeObservation15);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ timeObservation15.setEvent(structuredActivityNode);
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ timeObservation15.setEvent(literalString);
+
+ TimeObservation timeObservation16 = UML.createTimeObservation();
+ assertValid(timeObservation16);
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ timeObservation16.setEvent(valuePin);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ timeObservation16.setEvent(interfaceRealization);
+
+ TimeObservation timeObservation17 = UML.createTimeObservation();
+ assertValid(timeObservation17);
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ timeObservation17.setEvent(forkNode);
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ timeObservation17.setEvent(decisionNode);
+
+ TimeObservation timeObservation18 = UML.createTimeObservation();
+ assertValid(timeObservation18);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ timeObservation18.setEvent(actor);
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ timeObservation18.setEvent(timeConstraint);
+
+ TimeObservation timeObservation19 = UML.createTimeObservation();
+ assertValid(timeObservation19);
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ timeObservation19.setEvent(reception);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ timeObservation19.setEvent(pseudostate);
+
+ TimeObservation timeObservation20 = UML.createTimeObservation();
+ assertValid(timeObservation20);
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ timeObservation20.setEvent(durationInterval);
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ timeObservation20.setEvent(deployment);
+
+ TimeObservation timeObservation21 = UML.createTimeObservation();
+ assertValid(timeObservation21);
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ timeObservation21.setEvent(extensionEnd);
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ timeObservation21.setEvent(considerIgnoreFragment);
+
+ TimeObservation timeObservation22 = UML.createTimeObservation();
+ assertValid(timeObservation22);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ timeObservation22.setEvent(conditionalNode);
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ timeObservation22.setEvent(readExtentAction);
+
+ TimeObservation timeObservation23 = UML.createTimeObservation();
+ assertValid(timeObservation23);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ timeObservation23.setEvent(actionInputPin);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ timeObservation23.setEvent(artifact);
+
+ TimeObservation timeObservation24 = UML.createTimeObservation();
+ assertValid(timeObservation24);
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ timeObservation24.setEvent(informationFlow);
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ timeObservation24.setEvent(clearVariableAction);
+
+ TimeObservation timeObservation25 = UML.createTimeObservation();
+ assertValid(timeObservation25);
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ timeObservation25.setEvent(createLinkAction);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ timeObservation25.setEvent(signalEvent);
+
+ TimeObservation timeObservation26 = UML.createTimeObservation();
+ assertValid(timeObservation26);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ timeObservation26.setEvent(connectionPointReference);
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ timeObservation26.setEvent(reclassifyObjectAction);
+
+ TimeObservation timeObservation27 = UML.createTimeObservation();
+ assertValid(timeObservation27);
+
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ timeObservation27.setEvent(usage);
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ timeObservation27.setEvent(dataStoreNode);
+
+ TimeObservation timeObservation28 = UML.createTimeObservation();
+ assertValid(timeObservation28);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ timeObservation28.setEvent(executionEnvironment);
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ timeObservation28.setEvent(sendObjectAction);
+
+ TimeObservation timeObservation29 = UML.createTimeObservation();
+ assertValid(timeObservation29);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ timeObservation29.setEvent(controlFlow);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ timeObservation29.setEvent(deploymentSpecification);
+
+ TimeObservation timeObservation30 = UML.createTimeObservation();
+ assertValid(timeObservation30);
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ timeObservation30.setEvent(partDecomposition);
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ timeObservation30.setEvent(destroyLinkAction);
+
+ TimeObservation timeObservation31 = UML.createTimeObservation();
+ assertValid(timeObservation31);
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ timeObservation31.setEvent(realization);
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ timeObservation31.setEvent(expansionNode);
+
+ TimeObservation timeObservation32 = UML.createTimeObservation();
+ assertValid(timeObservation32);
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ timeObservation32.setEvent(testIdentityAction);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ timeObservation32.setEvent(association);
+
+ TimeObservation timeObservation33 = UML.createTimeObservation();
+ assertValid(timeObservation33);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ timeObservation33.setEvent(timeInterval);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ timeObservation33.setEvent(dataType);
+
+ TimeObservation timeObservation34 = UML.createTimeObservation();
+ assertValid(timeObservation34);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ timeObservation34.setEvent(outputPin);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ timeObservation34.setEvent(substitution);
+
+ TimeObservation timeObservation35 = UML.createTimeObservation();
+ assertValid(timeObservation35);
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ timeObservation35.setEvent(include);
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ timeObservation35.setEvent(extend);
+
+ TimeObservation timeObservation36 = UML.createTimeObservation();
+ assertValid(timeObservation36);
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ timeObservation36.setEvent(broadcastSignalAction);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ timeObservation36.setEvent(literalBoolean);
+
+ TimeObservation timeObservation37 = UML.createTimeObservation();
+ assertValid(timeObservation37);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ timeObservation37.setEvent(finalState);
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ timeObservation37.setEvent(raiseExceptionAction);
+
+ TimeObservation timeObservation38 = UML.createTimeObservation();
+ assertValid(timeObservation38);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ timeObservation38.setEvent(durationConstraint);
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ timeObservation38.setEvent(activityFinalNode);
+
+ TimeObservation timeObservation39 = UML.createTimeObservation();
+ assertValid(timeObservation39);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ timeObservation39.setEvent(literalNull);
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ timeObservation39.setEvent(callOperationAction);
+
+ TimeObservation timeObservation40 = UML.createTimeObservation();
+ assertValid(timeObservation40);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ timeObservation40.setEvent(protocolStateMachine);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ timeObservation40.setEvent(loopNode);
+
+ TimeObservation timeObservation41 = UML.createTimeObservation();
+ assertValid(timeObservation41);
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ timeObservation41.setEvent(parameterSet);
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ timeObservation41.setEvent(valueSpecificationAction);
+
+ TimeObservation timeObservation42 = UML.createTimeObservation();
+ assertValid(timeObservation42);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ timeObservation42.setEvent(node);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ timeObservation42.setEvent(sequenceNode);
+
+ TimeObservation timeObservation43 = UML.createTimeObservation();
+ assertValid(timeObservation43);
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ timeObservation43.setEvent(constraint);
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ timeObservation43.setEvent(destroyObjectAction);
+
+ TimeObservation timeObservation44 = UML.createTimeObservation();
+ assertValid(timeObservation44);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ timeObservation44.setEvent(stateMachine);
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ timeObservation44.setEvent(enumerationLiteral);
+
+ TimeObservation timeObservation45 = UML.createTimeObservation();
+ assertValid(timeObservation45);
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ timeObservation45.setEvent(actionExecutionSpecification);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ timeObservation45.setEvent(functionBehavior);
+
+ TimeObservation timeObservation46 = UML.createTimeObservation();
+ assertValid(timeObservation46);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ timeObservation46.setEvent(interface_);
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ timeObservation46.setEvent(instanceSpecification);
+
+ TimeObservation timeObservation47 = UML.createTimeObservation();
+ assertValid(timeObservation47);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ timeObservation47.setEvent(startClassifierBehaviorAction);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ timeObservation47.setEvent(port);
+
+ TimeObservation timeObservation48 = UML.createTimeObservation();
+ assertValid(timeObservation48);
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ timeObservation48.setEvent(removeVariableValueAction);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ timeObservation48.setEvent(informationItem);
+
+ TimeObservation timeObservation49 = UML.createTimeObservation();
+ assertValid(timeObservation49);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ timeObservation49.setEvent(literalReal);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ timeObservation49.setEvent(redefinableTemplateSignature);
+
+ TimeObservation timeObservation50 = UML.createTimeObservation();
+ assertValid(timeObservation50);
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ timeObservation50.setEvent(executionOccurrenceSpecification);
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ timeObservation50.setEvent(duration);
+
+ TimeObservation timeObservation51 = UML.createTimeObservation();
+ assertValid(timeObservation51);
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ timeObservation51.setEvent(package_);
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ timeObservation51.setEvent(variable);
+
+ TimeObservation timeObservation52 = UML.createTimeObservation();
+ assertValid(timeObservation52);
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ timeObservation52.setEvent(destructionOccurrenceSpecification);
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ timeObservation52.setEvent(lifeline);
+
+ TimeObservation timeObservation53 = UML.createTimeObservation();
+ assertValid(timeObservation53);
+
+ TimeObservation timeObservation54 = UML.createTimeObservation();
+ assertValid(timeObservation54);
+ timeObservation53.setEvent(timeObservation54);
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ timeObservation53.setEvent(replyAction);
+
+ TimeObservation timeObservation55 = UML.createTimeObservation();
+ assertValid(timeObservation55);
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ timeObservation55.setEvent(gate);
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ timeObservation55.setEvent(property);
+
+ TimeObservation timeObservation56 = UML.createTimeObservation();
+ assertValid(timeObservation56);
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ timeObservation56.setEvent(timeExpression);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ timeObservation56.setEvent(device);
+
+ TimeObservation timeObservation57 = UML.createTimeObservation();
+ assertValid(timeObservation57);
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ timeObservation57.setEvent(flowFinalNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ timeObservation57.setEvent(expansionRegion);
+
+ TimeObservation timeObservation58 = UML.createTimeObservation();
+ assertValid(timeObservation58);
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ timeObservation58.setEvent(abstraction);
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ timeObservation58.setEvent(startObjectBehaviorAction);
+
+ TimeObservation timeObservation59 = UML.createTimeObservation();
+ assertValid(timeObservation59);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ timeObservation59.setEvent(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ timeObservation59.setEvent(primitiveType);
+
+ TimeObservation timeObservation60 = UML.createTimeObservation();
+ assertValid(timeObservation60);
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ timeObservation60.setEvent(profile);
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ timeObservation60.setEvent(message);
+
+ TimeObservation timeObservation61 = UML.createTimeObservation();
+ assertValid(timeObservation61);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ timeObservation61.setEvent(generalizationSet);
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ timeObservation61.setEvent(continuation);
+
+ TimeObservation timeObservation62 = UML.createTimeObservation();
+ assertValid(timeObservation62);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ timeObservation62.setEvent(signal);
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ timeObservation62.setEvent(callBehaviorAction);
+
+ TimeObservation timeObservation63 = UML.createTimeObservation();
+ assertValid(timeObservation63);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ timeObservation63.setEvent(objectFlow);
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ timeObservation63.setEvent(stateInvariant);
+
+ TimeObservation timeObservation64 = UML.createTimeObservation();
+ assertValid(timeObservation64);
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ timeObservation64.setEvent(readIsClassifiedObjectAction);
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ timeObservation64.setEvent(activityParameterNode);
+
+ TimeObservation timeObservation65 = UML.createTimeObservation();
+ assertValid(timeObservation65);
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ timeObservation65.setEvent(addStructuralFeatureValueAction);
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ timeObservation65.setEvent(readVariableAction);
+
+ TimeObservation timeObservation66 = UML.createTimeObservation();
+ assertValid(timeObservation66);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ timeObservation66.setEvent(interruptibleActivityRegion);
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ timeObservation66.setEvent(removeStructuralFeatureValueAction);
+
+ TimeObservation timeObservation67 = UML.createTimeObservation();
+ assertValid(timeObservation67);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ timeObservation67.setEvent(opaqueExpression);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ timeObservation67.setEvent(timeEvent);
+
+ TimeObservation timeObservation68 = UML.createTimeObservation();
+ assertValid(timeObservation68);
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ timeObservation68.setEvent(generalOrdering);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ timeObservation68.setEvent(region);
+
+ TimeObservation timeObservation69 = UML.createTimeObservation();
+ assertValid(timeObservation69);
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ timeObservation69.setEvent(transition);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ timeObservation69.setEvent(anyReceiveEvent);
+
+ TimeObservation timeObservation70 = UML.createTimeObservation();
+ assertValid(timeObservation70);
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ timeObservation70.setEvent(messageOccurrenceSpecification);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ timeObservation70.setEvent(literalInteger);
+
+ TimeObservation timeObservation71 = UML.createTimeObservation();
+ assertValid(timeObservation71);
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ timeObservation71.setEvent(reduceAction);
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ timeObservation71.setEvent(acceptEventAction);
+
+ TimeObservation timeObservation72 = UML.createTimeObservation();
+ assertValid(timeObservation72);
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ timeObservation72.setEvent(initialNode);
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ timeObservation72.setEvent(centralBufferNode);
+
+ TimeObservation timeObservation73 = UML.createTimeObservation();
+ assertValid(timeObservation73);
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ timeObservation73.setEvent(combinedFragment);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ timeObservation73.setEvent(intervalConstraint);
+
+ TimeObservation timeObservation74 = UML.createTimeObservation();
+ assertValid(timeObservation74);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ timeObservation74.setEvent(extension);
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ timeObservation74.setEvent(occurrenceSpecification);
+
+ TimeObservation timeObservation75 = UML.createTimeObservation();
+ assertValid(timeObservation75);
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ timeObservation75.setEvent(extensionPoint);
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ timeObservation75.setEvent(dependency);
+
+ TimeObservation timeObservation76 = UML.createTimeObservation();
+ assertValid(timeObservation76);
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ timeObservation76.setEvent(connector);
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ timeObservation76.setEvent(expression);
+
+ TimeObservation timeObservation77 = UML.createTimeObservation();
+ assertValid(timeObservation77);
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ timeObservation77.setEvent(componentRealization);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ timeObservation77.setEvent(class_);
+
+ TimeObservation timeObservation78 = UML.createTimeObservation();
+ assertValid(timeObservation78);
+
+ State state = UML.createState();
+ assertValid(state);
+ timeObservation78.setEvent(state);
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ timeObservation78.setEvent(protocolTransition);
+
+ TimeObservation timeObservation79 = UML.createTimeObservation();
+ assertValid(timeObservation79);
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ timeObservation79.setEvent(behaviorExecutionSpecification);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ timeObservation79.setEvent(collaborationUse);
+
+ TimeObservation timeObservation80 = UML.createTimeObservation();
+ assertValid(timeObservation80);
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ timeObservation80.setEvent(interactionOperand);
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ timeObservation80.setEvent(acceptCallAction);
+
+ TimeObservation timeObservation81 = UML.createTimeObservation();
+ assertValid(timeObservation81);
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ timeObservation81.setEvent(addVariableValueAction);
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ timeObservation81.setEvent(readLinkObjectEndAction);
+
+ TimeObservation timeObservation82 = UML.createTimeObservation();
+ assertValid(timeObservation82);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ timeObservation82.setEvent(useCase);
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ timeObservation82.setEvent(unmarshallAction);
+
+ TimeObservation timeObservation83 = UML.createTimeObservation();
+ assertValid(timeObservation83);
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ timeObservation83.setEvent(opaqueAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ timeObservation83.setEvent(stringExpression);
+
+ TimeObservation timeObservation84 = UML.createTimeObservation();
+ assertValid(timeObservation84);
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ timeObservation84.setEvent(mergeNode);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ timeObservation84.setEvent(changeEvent);
+
+ TimeObservation timeObservation85 = UML.createTimeObservation();
+ assertValid(timeObservation85);
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ timeObservation85.setEvent(createObjectAction);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ timeObservation85.setEvent(stereotype);
+
+ TimeObservation timeObservation86 = UML.createTimeObservation();
+ assertValid(timeObservation86);
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ timeObservation86.setEvent(readStructuralFeatureAction);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ timeObservation86.setEvent(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TransitionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TransitionTest.java
new file mode 100755
index 00000000..869a65fd
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TransitionTest.java
@@ -0,0 +1,335 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+
+/**
+ * @author Eike Stepper
+ */
+public class TransitionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ transition.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ transition.getOwnedComments().add(comment);
+ assertSuperset(transition.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ EList<Element> elements = transition.getOwnedElements();
+ EList<Element> elements2 = transition.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ EList<Dependency> dependencys = transition.getClientDependencies();
+ EList<Dependency> dependencys2 = transition.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ transition.setNameExpression(stringExpression);
+ assertSuperset(
+ transition.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ transition.getOwnedRules().add(intervalConstraint);
+ assertSuperset(
+ transition.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ transition.getOwnedRules().add(timeConstraint);
+ assertSuperset(transition.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ transition.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ transition.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ transition.getOwnedRules().add(constraint);
+ assertSuperset(transition.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ transition.getOwnedRules().add(durationConstraint);
+ assertSuperset(
+ transition.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ transition.getElementImports().add(elementImport);
+ assertSuperset(transition.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ transition.getPackageImports().add(packageImport);
+ assertSuperset(transition.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ EList<NamedElement> namedElements = transition.getOwnedMembers();
+ EList<NamedElement> namedElements2 = transition.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ EList<PackageableElement> packageableElements = transition
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = transition
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ EList<NamedElement> namedElements = transition.getMembers();
+ EList<NamedElement> namedElements2 = transition.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ EList<RedefinableElement> redefinableElements = transition
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = transition
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ EList<Classifier> classifiers = transition.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = transition.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testEffect() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ transition.setEffect(protocolStateMachine);
+ assertSuperset(
+ transition.getOwnedElements().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ transition.setEffect(stateMachine);
+ assertSuperset(transition.getOwnedElements().contains(stateMachine));
+ }
+
+ public void testGuard() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ transition.setGuard(intervalConstraint);
+ assertSuperset(transition.getOwnedRules().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ transition.setGuard(timeConstraint);
+ assertSuperset(transition.getOwnedRules().contains(timeConstraint));
+
+ Transition transition2 = UML.createTransition();
+ assertValid(transition2);
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ transition2.setGuard(interactionConstraint);
+ assertSuperset(
+ transition2.getOwnedRules().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ transition2.setGuard(constraint);
+ assertSuperset(transition2.getOwnedRules().contains(constraint));
+
+ Transition transition3 = UML.createTransition();
+ assertValid(transition3);
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ transition3.setGuard(durationConstraint);
+ assertSuperset(
+ transition3.getOwnedRules().contains(durationConstraint));
+ }
+
+ public void testRedefinedTransition() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+
+ Transition transition2 = UML.createTransition();
+ assertValid(transition2);
+ transition.setRedefinedTransition(transition2);
+ assertSuperset(transition.getRedefinedElements().contains(transition2));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ transition.setRedefinedTransition(protocolTransition);
+ assertSuperset(
+ transition.getRedefinedElements().contains(protocolTransition));
+ }
+
+ public void testSource() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ transition.setSource(pseudostate);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ transition.setSource(connectionPointReference);
+
+ Transition transition2 = UML.createTransition();
+ assertValid(transition2);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ transition2.setSource(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ transition2.setSource(state);
+ }
+
+ public void testTarget() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ transition.setTarget(pseudostate);
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ transition.setTarget(connectionPointReference);
+
+ Transition transition2 = UML.createTransition();
+ assertValid(transition2);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ transition2.setTarget(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ transition2.setTarget(state);
+ }
+
+ public void testTrigger() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ transition.getTriggers().add(trigger);
+ assertSuperset(transition.getOwnedElements().contains(trigger));
+ }
+
+ public void testContainer() {
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ transition.setContainer(region);
+ assertSuperset(transition.getNamespace() == region);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TriggerTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TriggerTest.java
new file mode 100755
index 00000000..8cdd6e9e
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/TriggerTest.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.Trigger;
+
+/**
+ * @author Eike Stepper
+ */
+public class TriggerTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ trigger.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ trigger.getOwnedComments().add(comment);
+ assertSuperset(trigger.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ EList<Element> elements = trigger.getOwnedElements();
+ EList<Element> elements2 = trigger.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ EList<Dependency> dependencys = trigger.getClientDependencies();
+ EList<Dependency> dependencys2 = trigger.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ trigger.setNameExpression(stringExpression);
+ assertSuperset(trigger.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testEvent() {
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ trigger.setEvent(callEvent);
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ trigger.setEvent(signalEvent);
+
+ Trigger trigger2 = UML.createTrigger();
+ assertValid(trigger2);
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ trigger2.setEvent(changeEvent);
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ trigger2.setEvent(timeEvent);
+
+ Trigger trigger3 = UML.createTrigger();
+ assertValid(trigger3);
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ trigger3.setEvent(anyReceiveEvent);
+ }
+
+ public void testPort() {
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+
+ Port port = UML.createPort();
+ assertValid(port);
+ trigger.getPorts().add(port);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/UnmarshallActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/UnmarshallActionTest.java
new file mode 100755
index 00000000..3d152ada
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/UnmarshallActionTest.java
@@ -0,0 +1,954 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class UnmarshallActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ unmarshallAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ unmarshallAction.getOwnedComments().add(comment);
+ assertSuperset(unmarshallAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ EList<Element> elements = unmarshallAction.getOwnedElements();
+ EList<Element> elements2 = unmarshallAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ EList<Dependency> dependencys = unmarshallAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = unmarshallAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ unmarshallAction.setNameExpression(stringExpression);
+ assertSuperset(
+ unmarshallAction.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ EList<RedefinableElement> redefinableElements = unmarshallAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = unmarshallAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ EList<Classifier> classifiers = unmarshallAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = unmarshallAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ EList<ActivityGroup> activityGroups = unmarshallAction.getInGroups();
+ EList<ActivityGroup> activityGroups2 = unmarshallAction.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ unmarshallAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(unmarshallAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ unmarshallAction.setInStructuredNode(loopNode);
+ assertSuperset(unmarshallAction.getInGroups().contains(loopNode));
+ assertSuperset(unmarshallAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ unmarshallAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ unmarshallAction.getInGroups().contains(expansionRegion));
+ assertSuperset(unmarshallAction.getOwner() == expansionRegion);
+
+ UnmarshallAction unmarshallAction2 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ unmarshallAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(unmarshallAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(unmarshallAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ unmarshallAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ unmarshallAction2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(unmarshallAction2.getOwner() == structuredActivityNode);
+
+ UnmarshallAction unmarshallAction3 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ unmarshallAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ unmarshallAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(unmarshallAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ unmarshallAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ unmarshallAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ unmarshallAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ unmarshallAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ unmarshallAction.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ unmarshallAction.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ unmarshallAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ unmarshallAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ unmarshallAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ unmarshallAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ unmarshallAction.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ unmarshallAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ unmarshallAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ unmarshallAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ unmarshallAction.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ unmarshallAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ unmarshallAction.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ unmarshallAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ unmarshallAction.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ unmarshallAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ unmarshallAction.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ unmarshallAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ unmarshallAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ unmarshallAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ unmarshallAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ unmarshallAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ unmarshallAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ unmarshallAction.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ unmarshallAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ unmarshallAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ unmarshallAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ unmarshallAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ unmarshallAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ unmarshallAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ unmarshallAction.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ unmarshallAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ unmarshallAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ unmarshallAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ unmarshallAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ unmarshallAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ unmarshallAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ unmarshallAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ unmarshallAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ unmarshallAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ unmarshallAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ unmarshallAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ unmarshallAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ unmarshallAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ unmarshallAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ unmarshallAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ unmarshallAction.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ unmarshallAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ unmarshallAction.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ unmarshallAction.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction2 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction2);
+ unmarshallAction.getRedefinedNodes().add(unmarshallAction2);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(unmarshallAction2));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ unmarshallAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ unmarshallAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ unmarshallAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(
+ unmarshallAction.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ unmarshallAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ unmarshallAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ unmarshallAction.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(unmarshallAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ unmarshallAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ unmarshallAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ unmarshallAction.getHandlers().add(exceptionHandler);
+ assertSuperset(
+ unmarshallAction.getOwnedElements().contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ EList<InputPin> inputPins = unmarshallAction.getInputs();
+ EList<InputPin> inputPins2 = unmarshallAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ unmarshallAction.getLocalPostconditions().add(intervalConstraint);
+ assertSuperset(
+ unmarshallAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ unmarshallAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(
+ unmarshallAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ unmarshallAction.getLocalPostconditions().add(interactionConstraint);
+ assertSuperset(unmarshallAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ unmarshallAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ unmarshallAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ unmarshallAction.getLocalPostconditions().add(durationConstraint);
+ assertSuperset(
+ unmarshallAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ unmarshallAction.getLocalPreconditions().add(intervalConstraint);
+ assertSuperset(
+ unmarshallAction.getOwnedElements().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ unmarshallAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(
+ unmarshallAction.getOwnedElements().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ unmarshallAction.getLocalPreconditions().add(interactionConstraint);
+ assertSuperset(unmarshallAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ unmarshallAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ unmarshallAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ unmarshallAction.getLocalPreconditions().add(durationConstraint);
+ assertSuperset(
+ unmarshallAction.getOwnedElements().contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ EList<OutputPin> outputPins = unmarshallAction.getOutputs();
+ EList<OutputPin> outputPins2 = unmarshallAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testObject() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ unmarshallAction.setObject(inputPin);
+ assertSuperset(unmarshallAction.getInputs().contains(inputPin));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ unmarshallAction.setObject(valuePin);
+ assertSuperset(unmarshallAction.getInputs().contains(valuePin));
+
+ UnmarshallAction unmarshallAction2 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction2);
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ unmarshallAction2.setObject(actionInputPin);
+ assertSuperset(unmarshallAction2.getInputs().contains(actionInputPin));
+ }
+
+ public void testResult() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ unmarshallAction.getResults().add(outputPin);
+ assertSuperset(unmarshallAction.getOutputs().contains(outputPin));
+ }
+
+ public void testUnmarshallType() {
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ unmarshallAction.setUnmarshallType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ unmarshallAction.setUnmarshallType(activity);
+
+ UnmarshallAction unmarshallAction2 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ unmarshallAction2.setUnmarshallType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ unmarshallAction2.setUnmarshallType(informationItem);
+
+ UnmarshallAction unmarshallAction3 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ unmarshallAction3.setUnmarshallType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ unmarshallAction3.setUnmarshallType(executionEnvironment);
+
+ UnmarshallAction unmarshallAction4 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ unmarshallAction4.setUnmarshallType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ unmarshallAction4.setUnmarshallType(interaction);
+
+ UnmarshallAction unmarshallAction5 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ unmarshallAction5.setUnmarshallType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ unmarshallAction5.setUnmarshallType(opaqueBehavior);
+
+ UnmarshallAction unmarshallAction6 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ unmarshallAction6.setUnmarshallType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ unmarshallAction6.setUnmarshallType(dataType);
+
+ UnmarshallAction unmarshallAction7 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ unmarshallAction7.setUnmarshallType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ unmarshallAction7.setUnmarshallType(extension);
+
+ UnmarshallAction unmarshallAction8 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ unmarshallAction8.setUnmarshallType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ unmarshallAction8.setUnmarshallType(class_);
+
+ UnmarshallAction unmarshallAction9 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ unmarshallAction9.setUnmarshallType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ unmarshallAction9.setUnmarshallType(primitiveType);
+
+ UnmarshallAction unmarshallAction10 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ unmarshallAction10.setUnmarshallType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ unmarshallAction10.setUnmarshallType(protocolStateMachine);
+
+ UnmarshallAction unmarshallAction11 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ unmarshallAction11.setUnmarshallType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ unmarshallAction11.setUnmarshallType(signal);
+
+ UnmarshallAction unmarshallAction12 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ unmarshallAction12.setUnmarshallType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ unmarshallAction12.setUnmarshallType(stereotype);
+
+ UnmarshallAction unmarshallAction13 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ unmarshallAction13.setUnmarshallType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ unmarshallAction13.setUnmarshallType(artifact);
+
+ UnmarshallAction unmarshallAction14 = UML.createUnmarshallAction();
+ assertValid(unmarshallAction14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ unmarshallAction14.setUnmarshallType(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/UsageTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/UsageTest.java
new file mode 100755
index 00000000..008a8b99
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/UsageTest.java
@@ -0,0 +1,2104 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.DurationObservation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Gate;
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.PartDecomposition;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.Realization;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.TimeObservation;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class UsageTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ usage.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ usage.getOwnedComments().add(comment);
+ assertSuperset(usage.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ EList<Element> elements = usage.getOwnedElements();
+ EList<Element> elements2 = usage.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ EList<Dependency> dependencys = usage.getClientDependencies();
+ EList<Dependency> dependencys2 = usage.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ usage.setNameExpression(stringExpression);
+ assertSuperset(usage.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwningTemplateParameter() {
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ usage.setOwningTemplateParameter(templateParameter);
+ assertSuperset(usage.getOwner() == templateParameter);
+ assertSuperset(usage.getTemplateParameter() == templateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+
+ TemplateParameter templateParameter = UML.createTemplateParameter();
+ assertValid(templateParameter);
+ usage.setTemplateParameter(templateParameter);
+ }
+
+ public void testRelatedElement() {
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ EList<Element> elements = usage.getRelatedElements();
+ EList<Element> elements2 = usage.getRelatedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testSource() {
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ EList<Element> elements = usage.getSources();
+ EList<Element> elements2 = usage.getSources();
+ assertSame(elements, elements2);
+ }
+
+ public void testTarget() {
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+ EList<Element> elements = usage.getTargets();
+ EList<Element> elements2 = usage.getTargets();
+ assertSame(elements, elements2);
+ }
+
+ public void testClient() {
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ usage.getClients().add(activity);
+ assertSuperset(usage.getSources().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ usage.getClients().add(communicationPath);
+ assertSuperset(usage.getSources().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ usage.getClients().add(readSelfAction);
+ assertSuperset(usage.getSources().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ usage.getClients().add(activityPartition);
+ assertSuperset(usage.getSources().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ usage.getClients().add(inputPin);
+ assertSuperset(usage.getSources().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ usage.getClients().add(readLinkObjectEndQualifierAction);
+ assertSuperset(
+ usage.getSources().contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ usage.getClients().add(component);
+ assertSuperset(usage.getSources().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ usage.getClients().add(manifestation);
+ assertSuperset(usage.getSources().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ usage.getClients().add(durationObservation);
+ assertSuperset(usage.getSources().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ usage.getClients().add(callEvent);
+ assertSuperset(usage.getSources().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ usage.getClients().add(joinNode);
+ assertSuperset(usage.getSources().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ usage.getClients().add(interaction);
+ assertSuperset(usage.getSources().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ usage.getClients().add(createLinkObjectAction);
+ assertSuperset(usage.getSources().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ usage.getClients().add(opaqueBehavior);
+ assertSuperset(usage.getSources().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ usage.getClients().add(literalUnlimitedNatural);
+ assertSuperset(usage.getSources().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ usage.getClients().add(sendSignalAction);
+ assertSuperset(usage.getSources().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ usage.getClients().add(readLinkAction);
+ assertSuperset(usage.getSources().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ usage.getClients().add(operation);
+ assertSuperset(usage.getSources().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ usage.getClients().add(clearAssociationAction);
+ assertSuperset(usage.getSources().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ usage.getClients().add(model);
+ assertSuperset(usage.getSources().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ usage.getClients().add(parameter);
+ assertSuperset(usage.getSources().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ usage.getClients().add(instanceValue);
+ assertSuperset(usage.getSources().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ usage.getClients().add(trigger);
+ assertSuperset(usage.getSources().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ usage.getClients().add(interactionConstraint);
+ assertSuperset(usage.getSources().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ usage.getClients().add(associationClass);
+ assertSuperset(usage.getSources().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ usage.getClients().add(interactionUse);
+ assertSuperset(usage.getSources().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ usage.getClients().add(clearStructuralFeatureAction);
+ assertSuperset(
+ usage.getSources().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ usage.getClients().add(interval);
+ assertSuperset(usage.getSources().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ usage.getClients().add(structuredActivityNode);
+ assertSuperset(usage.getSources().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ usage.getClients().add(literalString);
+ assertSuperset(usage.getSources().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ usage.getClients().add(valuePin);
+ assertSuperset(usage.getSources().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ usage.getClients().add(interfaceRealization);
+ assertSuperset(usage.getSources().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ usage.getClients().add(forkNode);
+ assertSuperset(usage.getSources().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ usage.getClients().add(decisionNode);
+ assertSuperset(usage.getSources().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ usage.getClients().add(actor);
+ assertSuperset(usage.getSources().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ usage.getClients().add(timeConstraint);
+ assertSuperset(usage.getSources().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ usage.getClients().add(reception);
+ assertSuperset(usage.getSources().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ usage.getClients().add(pseudostate);
+ assertSuperset(usage.getSources().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ usage.getClients().add(durationInterval);
+ assertSuperset(usage.getSources().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ usage.getClients().add(deployment);
+ assertSuperset(usage.getSources().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ usage.getClients().add(extensionEnd);
+ assertSuperset(usage.getSources().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ usage.getClients().add(considerIgnoreFragment);
+ assertSuperset(usage.getSources().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ usage.getClients().add(conditionalNode);
+ assertSuperset(usage.getSources().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ usage.getClients().add(readExtentAction);
+ assertSuperset(usage.getSources().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ usage.getClients().add(actionInputPin);
+ assertSuperset(usage.getSources().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ usage.getClients().add(artifact);
+ assertSuperset(usage.getSources().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ usage.getClients().add(informationFlow);
+ assertSuperset(usage.getSources().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ usage.getClients().add(clearVariableAction);
+ assertSuperset(usage.getSources().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ usage.getClients().add(createLinkAction);
+ assertSuperset(usage.getSources().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ usage.getClients().add(signalEvent);
+ assertSuperset(usage.getSources().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ usage.getClients().add(connectionPointReference);
+ assertSuperset(usage.getSources().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ usage.getClients().add(reclassifyObjectAction);
+ assertSuperset(usage.getSources().contains(reclassifyObjectAction));
+
+ Usage usage2 = UML.createUsage();
+ assertValid(usage2);
+ usage.getClients().add(usage2);
+ assertSuperset(usage.getSources().contains(usage2));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ usage.getClients().add(dataStoreNode);
+ assertSuperset(usage.getSources().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ usage.getClients().add(executionEnvironment);
+ assertSuperset(usage.getSources().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ usage.getClients().add(sendObjectAction);
+ assertSuperset(usage.getSources().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ usage.getClients().add(controlFlow);
+ assertSuperset(usage.getSources().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ usage.getClients().add(deploymentSpecification);
+ assertSuperset(usage.getSources().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ usage.getClients().add(partDecomposition);
+ assertSuperset(usage.getSources().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ usage.getClients().add(destroyLinkAction);
+ assertSuperset(usage.getSources().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ usage.getClients().add(realization);
+ assertSuperset(usage.getSources().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ usage.getClients().add(expansionNode);
+ assertSuperset(usage.getSources().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ usage.getClients().add(testIdentityAction);
+ assertSuperset(usage.getSources().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ usage.getClients().add(association);
+ assertSuperset(usage.getSources().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ usage.getClients().add(timeInterval);
+ assertSuperset(usage.getSources().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ usage.getClients().add(dataType);
+ assertSuperset(usage.getSources().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ usage.getClients().add(outputPin);
+ assertSuperset(usage.getSources().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ usage.getClients().add(substitution);
+ assertSuperset(usage.getSources().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ usage.getClients().add(include);
+ assertSuperset(usage.getSources().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ usage.getClients().add(extend);
+ assertSuperset(usage.getSources().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ usage.getClients().add(broadcastSignalAction);
+ assertSuperset(usage.getSources().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ usage.getClients().add(literalBoolean);
+ assertSuperset(usage.getSources().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ usage.getClients().add(finalState);
+ assertSuperset(usage.getSources().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ usage.getClients().add(raiseExceptionAction);
+ assertSuperset(usage.getSources().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ usage.getClients().add(durationConstraint);
+ assertSuperset(usage.getSources().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ usage.getClients().add(activityFinalNode);
+ assertSuperset(usage.getSources().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ usage.getClients().add(literalNull);
+ assertSuperset(usage.getSources().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ usage.getClients().add(callOperationAction);
+ assertSuperset(usage.getSources().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ usage.getClients().add(protocolStateMachine);
+ assertSuperset(usage.getSources().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ usage.getClients().add(loopNode);
+ assertSuperset(usage.getSources().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ usage.getClients().add(parameterSet);
+ assertSuperset(usage.getSources().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ usage.getClients().add(valueSpecificationAction);
+ assertSuperset(usage.getSources().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ usage.getClients().add(node);
+ assertSuperset(usage.getSources().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ usage.getClients().add(sequenceNode);
+ assertSuperset(usage.getSources().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ usage.getClients().add(constraint);
+ assertSuperset(usage.getSources().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ usage.getClients().add(destroyObjectAction);
+ assertSuperset(usage.getSources().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ usage.getClients().add(stateMachine);
+ assertSuperset(usage.getSources().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ usage.getClients().add(enumerationLiteral);
+ assertSuperset(usage.getSources().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ usage.getClients().add(actionExecutionSpecification);
+ assertSuperset(
+ usage.getSources().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ usage.getClients().add(functionBehavior);
+ assertSuperset(usage.getSources().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ usage.getClients().add(interface_);
+ assertSuperset(usage.getSources().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ usage.getClients().add(instanceSpecification);
+ assertSuperset(usage.getSources().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ usage.getClients().add(startClassifierBehaviorAction);
+ assertSuperset(
+ usage.getSources().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ usage.getClients().add(port);
+ assertSuperset(usage.getSources().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ usage.getClients().add(removeVariableValueAction);
+ assertSuperset(usage.getSources().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ usage.getClients().add(informationItem);
+ assertSuperset(usage.getSources().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ usage.getClients().add(literalReal);
+ assertSuperset(usage.getSources().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ usage.getClients().add(redefinableTemplateSignature);
+ assertSuperset(
+ usage.getSources().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ usage.getClients().add(executionOccurrenceSpecification);
+ assertSuperset(
+ usage.getSources().contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ usage.getClients().add(duration);
+ assertSuperset(usage.getSources().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ usage.getClients().add(package_);
+ assertSuperset(usage.getSources().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ usage.getClients().add(variable);
+ assertSuperset(usage.getSources().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ usage.getClients().add(destructionOccurrenceSpecification);
+ assertSuperset(
+ usage.getSources().contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ usage.getClients().add(lifeline);
+ assertSuperset(usage.getSources().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ usage.getClients().add(timeObservation);
+ assertSuperset(usage.getSources().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ usage.getClients().add(replyAction);
+ assertSuperset(usage.getSources().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ usage.getClients().add(gate);
+ assertSuperset(usage.getSources().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ usage.getClients().add(property);
+ assertSuperset(usage.getSources().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ usage.getClients().add(timeExpression);
+ assertSuperset(usage.getSources().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ usage.getClients().add(device);
+ assertSuperset(usage.getSources().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ usage.getClients().add(flowFinalNode);
+ assertSuperset(usage.getSources().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ usage.getClients().add(expansionRegion);
+ assertSuperset(usage.getSources().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ usage.getClients().add(abstraction);
+ assertSuperset(usage.getSources().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ usage.getClients().add(startObjectBehaviorAction);
+ assertSuperset(usage.getSources().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ usage.getClients().add(enumeration);
+ assertSuperset(usage.getSources().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ usage.getClients().add(primitiveType);
+ assertSuperset(usage.getSources().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ usage.getClients().add(profile);
+ assertSuperset(usage.getSources().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ usage.getClients().add(message);
+ assertSuperset(usage.getSources().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ usage.getClients().add(generalizationSet);
+ assertSuperset(usage.getSources().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ usage.getClients().add(continuation);
+ assertSuperset(usage.getSources().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ usage.getClients().add(signal);
+ assertSuperset(usage.getSources().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ usage.getClients().add(callBehaviorAction);
+ assertSuperset(usage.getSources().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ usage.getClients().add(objectFlow);
+ assertSuperset(usage.getSources().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ usage.getClients().add(stateInvariant);
+ assertSuperset(usage.getSources().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ usage.getClients().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ usage.getSources().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ usage.getClients().add(activityParameterNode);
+ assertSuperset(usage.getSources().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ usage.getClients().add(addStructuralFeatureValueAction);
+ assertSuperset(
+ usage.getSources().contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ usage.getClients().add(readVariableAction);
+ assertSuperset(usage.getSources().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ usage.getClients().add(interruptibleActivityRegion);
+ assertSuperset(
+ usage.getSources().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ usage.getClients().add(removeStructuralFeatureValueAction);
+ assertSuperset(
+ usage.getSources().contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ usage.getClients().add(opaqueExpression);
+ assertSuperset(usage.getSources().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ usage.getClients().add(timeEvent);
+ assertSuperset(usage.getSources().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ usage.getClients().add(generalOrdering);
+ assertSuperset(usage.getSources().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ usage.getClients().add(region);
+ assertSuperset(usage.getSources().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ usage.getClients().add(transition);
+ assertSuperset(usage.getSources().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ usage.getClients().add(anyReceiveEvent);
+ assertSuperset(usage.getSources().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ usage.getClients().add(messageOccurrenceSpecification);
+ assertSuperset(
+ usage.getSources().contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ usage.getClients().add(literalInteger);
+ assertSuperset(usage.getSources().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ usage.getClients().add(reduceAction);
+ assertSuperset(usage.getSources().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ usage.getClients().add(acceptEventAction);
+ assertSuperset(usage.getSources().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ usage.getClients().add(initialNode);
+ assertSuperset(usage.getSources().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ usage.getClients().add(centralBufferNode);
+ assertSuperset(usage.getSources().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ usage.getClients().add(combinedFragment);
+ assertSuperset(usage.getSources().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ usage.getClients().add(intervalConstraint);
+ assertSuperset(usage.getSources().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ usage.getClients().add(extension);
+ assertSuperset(usage.getSources().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ usage.getClients().add(occurrenceSpecification);
+ assertSuperset(usage.getSources().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ usage.getClients().add(extensionPoint);
+ assertSuperset(usage.getSources().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ usage.getClients().add(dependency);
+ assertSuperset(usage.getSources().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ usage.getClients().add(connector);
+ assertSuperset(usage.getSources().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ usage.getClients().add(expression);
+ assertSuperset(usage.getSources().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ usage.getClients().add(componentRealization);
+ assertSuperset(usage.getSources().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ usage.getClients().add(class_);
+ assertSuperset(usage.getSources().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ usage.getClients().add(state);
+ assertSuperset(usage.getSources().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ usage.getClients().add(protocolTransition);
+ assertSuperset(usage.getSources().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ usage.getClients().add(behaviorExecutionSpecification);
+ assertSuperset(
+ usage.getSources().contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ usage.getClients().add(collaborationUse);
+ assertSuperset(usage.getSources().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ usage.getClients().add(interactionOperand);
+ assertSuperset(usage.getSources().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ usage.getClients().add(acceptCallAction);
+ assertSuperset(usage.getSources().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ usage.getClients().add(addVariableValueAction);
+ assertSuperset(usage.getSources().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ usage.getClients().add(readLinkObjectEndAction);
+ assertSuperset(usage.getSources().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ usage.getClients().add(useCase);
+ assertSuperset(usage.getSources().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ usage.getClients().add(unmarshallAction);
+ assertSuperset(usage.getSources().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ usage.getClients().add(opaqueAction);
+ assertSuperset(usage.getSources().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ usage.getClients().add(stringExpression);
+ assertSuperset(usage.getSources().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ usage.getClients().add(mergeNode);
+ assertSuperset(usage.getSources().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ usage.getClients().add(changeEvent);
+ assertSuperset(usage.getSources().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ usage.getClients().add(createObjectAction);
+ assertSuperset(usage.getSources().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ usage.getClients().add(stereotype);
+ assertSuperset(usage.getSources().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ usage.getClients().add(readStructuralFeatureAction);
+ assertSuperset(
+ usage.getSources().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ usage.getClients().add(collaboration);
+ assertSuperset(usage.getSources().contains(collaboration));
+ }
+
+ public void testSupplier() {
+ Usage usage = UML.createUsage();
+ assertValid(usage);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ usage.getSuppliers().add(activity);
+ assertSuperset(usage.getTargets().contains(activity));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ usage.getSuppliers().add(communicationPath);
+ assertSuperset(usage.getTargets().contains(communicationPath));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ usage.getSuppliers().add(readSelfAction);
+ assertSuperset(usage.getTargets().contains(readSelfAction));
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ usage.getSuppliers().add(activityPartition);
+ assertSuperset(usage.getTargets().contains(activityPartition));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ usage.getSuppliers().add(inputPin);
+ assertSuperset(usage.getTargets().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ usage.getSuppliers().add(readLinkObjectEndQualifierAction);
+ assertSuperset(
+ usage.getTargets().contains(readLinkObjectEndQualifierAction));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ usage.getSuppliers().add(component);
+ assertSuperset(usage.getTargets().contains(component));
+
+ Manifestation manifestation = UML.createManifestation();
+ assertValid(manifestation);
+ usage.getSuppliers().add(manifestation);
+ assertSuperset(usage.getTargets().contains(manifestation));
+
+ DurationObservation durationObservation = UML
+ .createDurationObservation();
+ assertValid(durationObservation);
+ usage.getSuppliers().add(durationObservation);
+ assertSuperset(usage.getTargets().contains(durationObservation));
+
+ CallEvent callEvent = UML.createCallEvent();
+ assertValid(callEvent);
+ usage.getSuppliers().add(callEvent);
+ assertSuperset(usage.getTargets().contains(callEvent));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ usage.getSuppliers().add(joinNode);
+ assertSuperset(usage.getTargets().contains(joinNode));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ usage.getSuppliers().add(interaction);
+ assertSuperset(usage.getTargets().contains(interaction));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ usage.getSuppliers().add(createLinkObjectAction);
+ assertSuperset(usage.getTargets().contains(createLinkObjectAction));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ usage.getSuppliers().add(opaqueBehavior);
+ assertSuperset(usage.getTargets().contains(opaqueBehavior));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ usage.getSuppliers().add(literalUnlimitedNatural);
+ assertSuperset(usage.getTargets().contains(literalUnlimitedNatural));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ usage.getSuppliers().add(sendSignalAction);
+ assertSuperset(usage.getTargets().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ usage.getSuppliers().add(readLinkAction);
+ assertSuperset(usage.getTargets().contains(readLinkAction));
+
+ Operation operation = UML.createOperation();
+ assertValid(operation);
+ usage.getSuppliers().add(operation);
+ assertSuperset(usage.getTargets().contains(operation));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ usage.getSuppliers().add(clearAssociationAction);
+ assertSuperset(usage.getTargets().contains(clearAssociationAction));
+
+ Model model = UML.createModel();
+ assertValid(model);
+ usage.getSuppliers().add(model);
+ assertSuperset(usage.getTargets().contains(model));
+
+ Parameter parameter = UML.createParameter();
+ assertValid(parameter);
+ usage.getSuppliers().add(parameter);
+ assertSuperset(usage.getTargets().contains(parameter));
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ usage.getSuppliers().add(instanceValue);
+ assertSuperset(usage.getTargets().contains(instanceValue));
+
+ Trigger trigger = UML.createTrigger();
+ assertValid(trigger);
+ usage.getSuppliers().add(trigger);
+ assertSuperset(usage.getTargets().contains(trigger));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ usage.getSuppliers().add(interactionConstraint);
+ assertSuperset(usage.getTargets().contains(interactionConstraint));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ usage.getSuppliers().add(associationClass);
+ assertSuperset(usage.getTargets().contains(associationClass));
+
+ InteractionUse interactionUse = UML.createInteractionUse();
+ assertValid(interactionUse);
+ usage.getSuppliers().add(interactionUse);
+ assertSuperset(usage.getTargets().contains(interactionUse));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ usage.getSuppliers().add(clearStructuralFeatureAction);
+ assertSuperset(
+ usage.getTargets().contains(clearStructuralFeatureAction));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ usage.getSuppliers().add(interval);
+ assertSuperset(usage.getTargets().contains(interval));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ usage.getSuppliers().add(structuredActivityNode);
+ assertSuperset(usage.getTargets().contains(structuredActivityNode));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ usage.getSuppliers().add(literalString);
+ assertSuperset(usage.getTargets().contains(literalString));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ usage.getSuppliers().add(valuePin);
+ assertSuperset(usage.getTargets().contains(valuePin));
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ usage.getSuppliers().add(interfaceRealization);
+ assertSuperset(usage.getTargets().contains(interfaceRealization));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ usage.getSuppliers().add(forkNode);
+ assertSuperset(usage.getTargets().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ usage.getSuppliers().add(decisionNode);
+ assertSuperset(usage.getTargets().contains(decisionNode));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ usage.getSuppliers().add(actor);
+ assertSuperset(usage.getTargets().contains(actor));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ usage.getSuppliers().add(timeConstraint);
+ assertSuperset(usage.getTargets().contains(timeConstraint));
+
+ Reception reception = UML.createReception();
+ assertValid(reception);
+ usage.getSuppliers().add(reception);
+ assertSuperset(usage.getTargets().contains(reception));
+
+ Pseudostate pseudostate = UML.createPseudostate();
+ assertValid(pseudostate);
+ usage.getSuppliers().add(pseudostate);
+ assertSuperset(usage.getTargets().contains(pseudostate));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ usage.getSuppliers().add(durationInterval);
+ assertSuperset(usage.getTargets().contains(durationInterval));
+
+ Deployment deployment = UML.createDeployment();
+ assertValid(deployment);
+ usage.getSuppliers().add(deployment);
+ assertSuperset(usage.getTargets().contains(deployment));
+
+ ExtensionEnd extensionEnd = UML.createExtensionEnd();
+ assertValid(extensionEnd);
+ usage.getSuppliers().add(extensionEnd);
+ assertSuperset(usage.getTargets().contains(extensionEnd));
+
+ ConsiderIgnoreFragment considerIgnoreFragment = UML
+ .createConsiderIgnoreFragment();
+ assertValid(considerIgnoreFragment);
+ usage.getSuppliers().add(considerIgnoreFragment);
+ assertSuperset(usage.getTargets().contains(considerIgnoreFragment));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ usage.getSuppliers().add(conditionalNode);
+ assertSuperset(usage.getTargets().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ usage.getSuppliers().add(readExtentAction);
+ assertSuperset(usage.getTargets().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ usage.getSuppliers().add(actionInputPin);
+ assertSuperset(usage.getTargets().contains(actionInputPin));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ usage.getSuppliers().add(artifact);
+ assertSuperset(usage.getTargets().contains(artifact));
+
+ InformationFlow informationFlow = UML.createInformationFlow();
+ assertValid(informationFlow);
+ usage.getSuppliers().add(informationFlow);
+ assertSuperset(usage.getTargets().contains(informationFlow));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ usage.getSuppliers().add(clearVariableAction);
+ assertSuperset(usage.getTargets().contains(clearVariableAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ usage.getSuppliers().add(createLinkAction);
+ assertSuperset(usage.getTargets().contains(createLinkAction));
+
+ SignalEvent signalEvent = UML.createSignalEvent();
+ assertValid(signalEvent);
+ usage.getSuppliers().add(signalEvent);
+ assertSuperset(usage.getTargets().contains(signalEvent));
+
+ ConnectionPointReference connectionPointReference = UML
+ .createConnectionPointReference();
+ assertValid(connectionPointReference);
+ usage.getSuppliers().add(connectionPointReference);
+ assertSuperset(usage.getTargets().contains(connectionPointReference));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ usage.getSuppliers().add(reclassifyObjectAction);
+ assertSuperset(usage.getTargets().contains(reclassifyObjectAction));
+
+ Usage usage2 = UML.createUsage();
+ assertValid(usage2);
+ usage.getSuppliers().add(usage2);
+ assertSuperset(usage.getTargets().contains(usage2));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ usage.getSuppliers().add(dataStoreNode);
+ assertSuperset(usage.getTargets().contains(dataStoreNode));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ usage.getSuppliers().add(executionEnvironment);
+ assertSuperset(usage.getTargets().contains(executionEnvironment));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ usage.getSuppliers().add(sendObjectAction);
+ assertSuperset(usage.getTargets().contains(sendObjectAction));
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ usage.getSuppliers().add(controlFlow);
+ assertSuperset(usage.getTargets().contains(controlFlow));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ usage.getSuppliers().add(deploymentSpecification);
+ assertSuperset(usage.getTargets().contains(deploymentSpecification));
+
+ PartDecomposition partDecomposition = UML.createPartDecomposition();
+ assertValid(partDecomposition);
+ usage.getSuppliers().add(partDecomposition);
+ assertSuperset(usage.getTargets().contains(partDecomposition));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ usage.getSuppliers().add(destroyLinkAction);
+ assertSuperset(usage.getTargets().contains(destroyLinkAction));
+
+ Realization realization = UML.createRealization();
+ assertValid(realization);
+ usage.getSuppliers().add(realization);
+ assertSuperset(usage.getTargets().contains(realization));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ usage.getSuppliers().add(expansionNode);
+ assertSuperset(usage.getTargets().contains(expansionNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ usage.getSuppliers().add(testIdentityAction);
+ assertSuperset(usage.getTargets().contains(testIdentityAction));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ usage.getSuppliers().add(association);
+ assertSuperset(usage.getTargets().contains(association));
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ usage.getSuppliers().add(timeInterval);
+ assertSuperset(usage.getTargets().contains(timeInterval));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ usage.getSuppliers().add(dataType);
+ assertSuperset(usage.getTargets().contains(dataType));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ usage.getSuppliers().add(outputPin);
+ assertSuperset(usage.getTargets().contains(outputPin));
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ usage.getSuppliers().add(substitution);
+ assertSuperset(usage.getTargets().contains(substitution));
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ usage.getSuppliers().add(include);
+ assertSuperset(usage.getTargets().contains(include));
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ usage.getSuppliers().add(extend);
+ assertSuperset(usage.getTargets().contains(extend));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ usage.getSuppliers().add(broadcastSignalAction);
+ assertSuperset(usage.getTargets().contains(broadcastSignalAction));
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ usage.getSuppliers().add(literalBoolean);
+ assertSuperset(usage.getTargets().contains(literalBoolean));
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ usage.getSuppliers().add(finalState);
+ assertSuperset(usage.getTargets().contains(finalState));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ usage.getSuppliers().add(raiseExceptionAction);
+ assertSuperset(usage.getTargets().contains(raiseExceptionAction));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ usage.getSuppliers().add(durationConstraint);
+ assertSuperset(usage.getTargets().contains(durationConstraint));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ usage.getSuppliers().add(activityFinalNode);
+ assertSuperset(usage.getTargets().contains(activityFinalNode));
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ usage.getSuppliers().add(literalNull);
+ assertSuperset(usage.getTargets().contains(literalNull));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ usage.getSuppliers().add(callOperationAction);
+ assertSuperset(usage.getTargets().contains(callOperationAction));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ usage.getSuppliers().add(protocolStateMachine);
+ assertSuperset(usage.getTargets().contains(protocolStateMachine));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ usage.getSuppliers().add(loopNode);
+ assertSuperset(usage.getTargets().contains(loopNode));
+
+ ParameterSet parameterSet = UML.createParameterSet();
+ assertValid(parameterSet);
+ usage.getSuppliers().add(parameterSet);
+ assertSuperset(usage.getTargets().contains(parameterSet));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ usage.getSuppliers().add(valueSpecificationAction);
+ assertSuperset(usage.getTargets().contains(valueSpecificationAction));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ usage.getSuppliers().add(node);
+ assertSuperset(usage.getTargets().contains(node));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ usage.getSuppliers().add(sequenceNode);
+ assertSuperset(usage.getTargets().contains(sequenceNode));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ usage.getSuppliers().add(constraint);
+ assertSuperset(usage.getTargets().contains(constraint));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ usage.getSuppliers().add(destroyObjectAction);
+ assertSuperset(usage.getTargets().contains(destroyObjectAction));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ usage.getSuppliers().add(stateMachine);
+ assertSuperset(usage.getTargets().contains(stateMachine));
+
+ EnumerationLiteral enumerationLiteral = UML.createEnumerationLiteral();
+ assertValid(enumerationLiteral);
+ usage.getSuppliers().add(enumerationLiteral);
+ assertSuperset(usage.getTargets().contains(enumerationLiteral));
+
+ ActionExecutionSpecification actionExecutionSpecification = UML
+ .createActionExecutionSpecification();
+ assertValid(actionExecutionSpecification);
+ usage.getSuppliers().add(actionExecutionSpecification);
+ assertSuperset(
+ usage.getTargets().contains(actionExecutionSpecification));
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ usage.getSuppliers().add(functionBehavior);
+ assertSuperset(usage.getTargets().contains(functionBehavior));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ usage.getSuppliers().add(interface_);
+ assertSuperset(usage.getTargets().contains(interface_));
+
+ InstanceSpecification instanceSpecification = UML
+ .createInstanceSpecification();
+ assertValid(instanceSpecification);
+ usage.getSuppliers().add(instanceSpecification);
+ assertSuperset(usage.getTargets().contains(instanceSpecification));
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ usage.getSuppliers().add(startClassifierBehaviorAction);
+ assertSuperset(
+ usage.getTargets().contains(startClassifierBehaviorAction));
+
+ Port port = UML.createPort();
+ assertValid(port);
+ usage.getSuppliers().add(port);
+ assertSuperset(usage.getTargets().contains(port));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ usage.getSuppliers().add(removeVariableValueAction);
+ assertSuperset(usage.getTargets().contains(removeVariableValueAction));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ usage.getSuppliers().add(informationItem);
+ assertSuperset(usage.getTargets().contains(informationItem));
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ usage.getSuppliers().add(literalReal);
+ assertSuperset(usage.getTargets().contains(literalReal));
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ usage.getSuppliers().add(redefinableTemplateSignature);
+ assertSuperset(
+ usage.getTargets().contains(redefinableTemplateSignature));
+
+ ExecutionOccurrenceSpecification executionOccurrenceSpecification = UML
+ .createExecutionOccurrenceSpecification();
+ assertValid(executionOccurrenceSpecification);
+ usage.getSuppliers().add(executionOccurrenceSpecification);
+ assertSuperset(
+ usage.getTargets().contains(executionOccurrenceSpecification));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ usage.getSuppliers().add(duration);
+ assertSuperset(usage.getTargets().contains(duration));
+
+ org.eclipse.uml2.uml.Package package_ = UML.createPackage();
+ assertValid(package_);
+ usage.getSuppliers().add(package_);
+ assertSuperset(usage.getTargets().contains(package_));
+
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ usage.getSuppliers().add(variable);
+ assertSuperset(usage.getTargets().contains(variable));
+
+ DestructionOccurrenceSpecification destructionOccurrenceSpecification = UML
+ .createDestructionOccurrenceSpecification();
+ assertValid(destructionOccurrenceSpecification);
+ usage.getSuppliers().add(destructionOccurrenceSpecification);
+ assertSuperset(
+ usage.getTargets().contains(destructionOccurrenceSpecification));
+
+ Lifeline lifeline = UML.createLifeline();
+ assertValid(lifeline);
+ usage.getSuppliers().add(lifeline);
+ assertSuperset(usage.getTargets().contains(lifeline));
+
+ TimeObservation timeObservation = UML.createTimeObservation();
+ assertValid(timeObservation);
+ usage.getSuppliers().add(timeObservation);
+ assertSuperset(usage.getTargets().contains(timeObservation));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ usage.getSuppliers().add(replyAction);
+ assertSuperset(usage.getTargets().contains(replyAction));
+
+ Gate gate = UML.createGate();
+ assertValid(gate);
+ usage.getSuppliers().add(gate);
+ assertSuperset(usage.getTargets().contains(gate));
+
+ Property property = UML.createProperty();
+ assertValid(property);
+ usage.getSuppliers().add(property);
+ assertSuperset(usage.getTargets().contains(property));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ usage.getSuppliers().add(timeExpression);
+ assertSuperset(usage.getTargets().contains(timeExpression));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ usage.getSuppliers().add(device);
+ assertSuperset(usage.getTargets().contains(device));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ usage.getSuppliers().add(flowFinalNode);
+ assertSuperset(usage.getTargets().contains(flowFinalNode));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ usage.getSuppliers().add(expansionRegion);
+ assertSuperset(usage.getTargets().contains(expansionRegion));
+
+ Abstraction abstraction = UML.createAbstraction();
+ assertValid(abstraction);
+ usage.getSuppliers().add(abstraction);
+ assertSuperset(usage.getTargets().contains(abstraction));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ usage.getSuppliers().add(startObjectBehaviorAction);
+ assertSuperset(usage.getTargets().contains(startObjectBehaviorAction));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ usage.getSuppliers().add(enumeration);
+ assertSuperset(usage.getTargets().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ usage.getSuppliers().add(primitiveType);
+ assertSuperset(usage.getTargets().contains(primitiveType));
+
+ Profile profile = UML.createProfile();
+ assertValid(profile);
+ usage.getSuppliers().add(profile);
+ assertSuperset(usage.getTargets().contains(profile));
+
+ Message message = UML.createMessage();
+ assertValid(message);
+ usage.getSuppliers().add(message);
+ assertSuperset(usage.getTargets().contains(message));
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ usage.getSuppliers().add(generalizationSet);
+ assertSuperset(usage.getTargets().contains(generalizationSet));
+
+ Continuation continuation = UML.createContinuation();
+ assertValid(continuation);
+ usage.getSuppliers().add(continuation);
+ assertSuperset(usage.getTargets().contains(continuation));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ usage.getSuppliers().add(signal);
+ assertSuperset(usage.getTargets().contains(signal));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ usage.getSuppliers().add(callBehaviorAction);
+ assertSuperset(usage.getTargets().contains(callBehaviorAction));
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ usage.getSuppliers().add(objectFlow);
+ assertSuperset(usage.getTargets().contains(objectFlow));
+
+ StateInvariant stateInvariant = UML.createStateInvariant();
+ assertValid(stateInvariant);
+ usage.getSuppliers().add(stateInvariant);
+ assertSuperset(usage.getTargets().contains(stateInvariant));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ usage.getSuppliers().add(readIsClassifiedObjectAction);
+ assertSuperset(
+ usage.getTargets().contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ usage.getSuppliers().add(activityParameterNode);
+ assertSuperset(usage.getTargets().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ usage.getSuppliers().add(addStructuralFeatureValueAction);
+ assertSuperset(
+ usage.getTargets().contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ usage.getSuppliers().add(readVariableAction);
+ assertSuperset(usage.getTargets().contains(readVariableAction));
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ usage.getSuppliers().add(interruptibleActivityRegion);
+ assertSuperset(
+ usage.getTargets().contains(interruptibleActivityRegion));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ usage.getSuppliers().add(removeStructuralFeatureValueAction);
+ assertSuperset(
+ usage.getTargets().contains(removeStructuralFeatureValueAction));
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ usage.getSuppliers().add(opaqueExpression);
+ assertSuperset(usage.getTargets().contains(opaqueExpression));
+
+ TimeEvent timeEvent = UML.createTimeEvent();
+ assertValid(timeEvent);
+ usage.getSuppliers().add(timeEvent);
+ assertSuperset(usage.getTargets().contains(timeEvent));
+
+ GeneralOrdering generalOrdering = UML.createGeneralOrdering();
+ assertValid(generalOrdering);
+ usage.getSuppliers().add(generalOrdering);
+ assertSuperset(usage.getTargets().contains(generalOrdering));
+
+ Region region = UML.createRegion();
+ assertValid(region);
+ usage.getSuppliers().add(region);
+ assertSuperset(usage.getTargets().contains(region));
+
+ Transition transition = UML.createTransition();
+ assertValid(transition);
+ usage.getSuppliers().add(transition);
+ assertSuperset(usage.getTargets().contains(transition));
+
+ AnyReceiveEvent anyReceiveEvent = UML.createAnyReceiveEvent();
+ assertValid(anyReceiveEvent);
+ usage.getSuppliers().add(anyReceiveEvent);
+ assertSuperset(usage.getTargets().contains(anyReceiveEvent));
+
+ MessageOccurrenceSpecification messageOccurrenceSpecification = UML
+ .createMessageOccurrenceSpecification();
+ assertValid(messageOccurrenceSpecification);
+ usage.getSuppliers().add(messageOccurrenceSpecification);
+ assertSuperset(
+ usage.getTargets().contains(messageOccurrenceSpecification));
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ usage.getSuppliers().add(literalInteger);
+ assertSuperset(usage.getTargets().contains(literalInteger));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ usage.getSuppliers().add(reduceAction);
+ assertSuperset(usage.getTargets().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ usage.getSuppliers().add(acceptEventAction);
+ assertSuperset(usage.getTargets().contains(acceptEventAction));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ usage.getSuppliers().add(initialNode);
+ assertSuperset(usage.getTargets().contains(initialNode));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ usage.getSuppliers().add(centralBufferNode);
+ assertSuperset(usage.getTargets().contains(centralBufferNode));
+
+ CombinedFragment combinedFragment = UML.createCombinedFragment();
+ assertValid(combinedFragment);
+ usage.getSuppliers().add(combinedFragment);
+ assertSuperset(usage.getTargets().contains(combinedFragment));
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ usage.getSuppliers().add(intervalConstraint);
+ assertSuperset(usage.getTargets().contains(intervalConstraint));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ usage.getSuppliers().add(extension);
+ assertSuperset(usage.getTargets().contains(extension));
+
+ OccurrenceSpecification occurrenceSpecification = UML
+ .createOccurrenceSpecification();
+ assertValid(occurrenceSpecification);
+ usage.getSuppliers().add(occurrenceSpecification);
+ assertSuperset(usage.getTargets().contains(occurrenceSpecification));
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ usage.getSuppliers().add(extensionPoint);
+ assertSuperset(usage.getTargets().contains(extensionPoint));
+
+ Dependency dependency = UML.createDependency();
+ assertValid(dependency);
+ usage.getSuppliers().add(dependency);
+ assertSuperset(usage.getTargets().contains(dependency));
+
+ Connector connector = UML.createConnector();
+ assertValid(connector);
+ usage.getSuppliers().add(connector);
+ assertSuperset(usage.getTargets().contains(connector));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ usage.getSuppliers().add(expression);
+ assertSuperset(usage.getTargets().contains(expression));
+
+ ComponentRealization componentRealization = UML
+ .createComponentRealization();
+ assertValid(componentRealization);
+ usage.getSuppliers().add(componentRealization);
+ assertSuperset(usage.getTargets().contains(componentRealization));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ usage.getSuppliers().add(class_);
+ assertSuperset(usage.getTargets().contains(class_));
+
+ State state = UML.createState();
+ assertValid(state);
+ usage.getSuppliers().add(state);
+ assertSuperset(usage.getTargets().contains(state));
+
+ ProtocolTransition protocolTransition = UML.createProtocolTransition();
+ assertValid(protocolTransition);
+ usage.getSuppliers().add(protocolTransition);
+ assertSuperset(usage.getTargets().contains(protocolTransition));
+
+ BehaviorExecutionSpecification behaviorExecutionSpecification = UML
+ .createBehaviorExecutionSpecification();
+ assertValid(behaviorExecutionSpecification);
+ usage.getSuppliers().add(behaviorExecutionSpecification);
+ assertSuperset(
+ usage.getTargets().contains(behaviorExecutionSpecification));
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ usage.getSuppliers().add(collaborationUse);
+ assertSuperset(usage.getTargets().contains(collaborationUse));
+
+ InteractionOperand interactionOperand = UML.createInteractionOperand();
+ assertValid(interactionOperand);
+ usage.getSuppliers().add(interactionOperand);
+ assertSuperset(usage.getTargets().contains(interactionOperand));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ usage.getSuppliers().add(acceptCallAction);
+ assertSuperset(usage.getTargets().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ usage.getSuppliers().add(addVariableValueAction);
+ assertSuperset(usage.getTargets().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ usage.getSuppliers().add(readLinkObjectEndAction);
+ assertSuperset(usage.getTargets().contains(readLinkObjectEndAction));
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ usage.getSuppliers().add(useCase);
+ assertSuperset(usage.getTargets().contains(useCase));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ usage.getSuppliers().add(unmarshallAction);
+ assertSuperset(usage.getTargets().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ usage.getSuppliers().add(opaqueAction);
+ assertSuperset(usage.getTargets().contains(opaqueAction));
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ usage.getSuppliers().add(stringExpression);
+ assertSuperset(usage.getTargets().contains(stringExpression));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ usage.getSuppliers().add(mergeNode);
+ assertSuperset(usage.getTargets().contains(mergeNode));
+
+ ChangeEvent changeEvent = UML.createChangeEvent();
+ assertValid(changeEvent);
+ usage.getSuppliers().add(changeEvent);
+ assertSuperset(usage.getTargets().contains(changeEvent));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ usage.getSuppliers().add(createObjectAction);
+ assertSuperset(usage.getTargets().contains(createObjectAction));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ usage.getSuppliers().add(stereotype);
+ assertSuperset(usage.getTargets().contains(stereotype));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ usage.getSuppliers().add(readStructuralFeatureAction);
+ assertSuperset(
+ usage.getTargets().contains(readStructuralFeatureAction));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ usage.getSuppliers().add(collaboration);
+ assertSuperset(usage.getTargets().contains(collaboration));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/UseCaseTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/UseCaseTest.java
new file mode 100755
index 00000000..d2a1cffd
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/UseCaseTest.java
@@ -0,0 +1,710 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.ExtensionPoint;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UseCase;
+
+/**
+ * @author Eike Stepper
+ */
+public class UseCaseTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ useCase.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ useCase.getOwnedComments().add(comment);
+ assertSuperset(useCase.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ EList<Element> elements = useCase.getOwnedElements();
+ EList<Element> elements2 = useCase.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ EList<Dependency> dependencys = useCase.getClientDependencies();
+ EList<Dependency> dependencys2 = useCase.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ useCase.setNameExpression(stringExpression);
+ assertSuperset(useCase.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testOwnedRule() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ useCase.getOwnedRules().add(intervalConstraint);
+ assertSuperset(useCase.getOwnedMembers().contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ useCase.getOwnedRules().add(timeConstraint);
+ assertSuperset(useCase.getOwnedMembers().contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ useCase.getOwnedRules().add(interactionConstraint);
+ assertSuperset(
+ useCase.getOwnedMembers().contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ useCase.getOwnedRules().add(constraint);
+ assertSuperset(useCase.getOwnedMembers().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ useCase.getOwnedRules().add(durationConstraint);
+ assertSuperset(useCase.getOwnedMembers().contains(durationConstraint));
+ }
+
+ public void testElementImport() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ ElementImport elementImport = UML.createElementImport();
+ assertValid(elementImport);
+ useCase.getElementImports().add(elementImport);
+ assertSuperset(useCase.getOwnedElements().contains(elementImport));
+ }
+
+ public void testPackageImport() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ PackageImport packageImport = UML.createPackageImport();
+ assertValid(packageImport);
+ useCase.getPackageImports().add(packageImport);
+ assertSuperset(useCase.getOwnedElements().contains(packageImport));
+ }
+
+ public void testOwnedMember() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ EList<NamedElement> namedElements = useCase.getOwnedMembers();
+ EList<NamedElement> namedElements2 = useCase.getOwnedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testImportedMember() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ EList<PackageableElement> packageableElements = useCase
+ .getImportedMembers();
+ EList<PackageableElement> packageableElements2 = useCase
+ .getImportedMembers();
+ assertSame(packageableElements, packageableElements2);
+ }
+
+ public void testMember() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ EList<NamedElement> namedElements = useCase.getMembers();
+ EList<NamedElement> namedElements2 = useCase.getMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testRedefinedElement() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ EList<RedefinableElement> redefinableElements = useCase
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = useCase
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ EList<Classifier> classifiers = useCase.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = useCase.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testOwningTemplateParameter() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ useCase.setOwningTemplateParameter(classifierTemplateParameter);
+ assertSuperset(useCase.getOwner() == classifierTemplateParameter);
+ assertSuperset(
+ useCase.getTemplateParameter() == classifierTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ ClassifierTemplateParameter classifierTemplateParameter = UML
+ .createClassifierTemplateParameter();
+ assertValid(classifierTemplateParameter);
+ useCase.setTemplateParameter(classifierTemplateParameter);
+ }
+
+ public void testTemplateBinding() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ TemplateBinding templateBinding = UML.createTemplateBinding();
+ assertValid(templateBinding);
+ useCase.getTemplateBindings().add(templateBinding);
+ assertSuperset(useCase.getOwnedElements().contains(templateBinding));
+ }
+
+ public void testOwnedTemplateSignature() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ RedefinableTemplateSignature redefinableTemplateSignature = UML
+ .createRedefinableTemplateSignature();
+ assertValid(redefinableTemplateSignature);
+ useCase.setOwnedTemplateSignature(redefinableTemplateSignature);
+ assertSuperset(
+ useCase.getOwnedElements().contains(redefinableTemplateSignature));
+ }
+
+ public void testFeature() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ EList<Feature> features = useCase.getFeatures();
+ EList<Feature> features2 = useCase.getFeatures();
+ assertSame(features, features2);
+ }
+
+ public void testAttribute() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ EList<Property> propertys = useCase.getAttributes();
+ EList<Property> propertys2 = useCase.getAttributes();
+ assertSame(propertys, propertys2);
+ }
+
+ public void testCollaborationUse() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ useCase.getCollaborationUses().add(collaborationUse);
+ assertSuperset(useCase.getOwnedElements().contains(collaborationUse));
+ }
+
+ public void testGeneral() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ EList<Classifier> classifiers = useCase.getGenerals();
+ EList<Classifier> classifiers2 = useCase.getGenerals();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testGeneralization() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ Generalization generalization = UML.createGeneralization();
+ assertValid(generalization);
+ useCase.getGeneralizations().add(generalization);
+ assertSuperset(useCase.getOwnedElements().contains(generalization));
+ }
+
+ public void testPowertypeExtent() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ GeneralizationSet generalizationSet = UML.createGeneralizationSet();
+ assertValid(generalizationSet);
+ useCase.getPowertypeExtents().add(generalizationSet);
+ }
+
+ public void testInheritedMember() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ EList<NamedElement> namedElements = useCase.getInheritedMembers();
+ EList<NamedElement> namedElements2 = useCase.getInheritedMembers();
+ assertSame(namedElements, namedElements2);
+ }
+
+ public void testOwnedUseCase() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ UseCase useCase2 = UML.createUseCase();
+ assertValid(useCase2);
+ useCase.getOwnedUseCases().add(useCase2);
+ assertSuperset(useCase.getOwnedMembers().contains(useCase2));
+ }
+
+ public void testUseCase() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ UseCase useCase2 = UML.createUseCase();
+ assertValid(useCase2);
+ useCase.getUseCases().add(useCase2);
+ }
+
+ public void testRedefinedClassifier() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ useCase.getRedefinedClassifiers().add(functionBehavior);
+ assertSuperset(
+ useCase.getRedefinedElements().contains(functionBehavior));
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ useCase.getRedefinedClassifiers().add(activity);
+ assertSuperset(useCase.getRedefinedElements().contains(activity));
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ useCase.getRedefinedClassifiers().add(interface_);
+ assertSuperset(useCase.getRedefinedElements().contains(interface_));
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ useCase.getRedefinedClassifiers().add(informationItem);
+ assertSuperset(
+ useCase.getRedefinedElements().contains(informationItem));
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ useCase.getRedefinedClassifiers().add(communicationPath);
+ assertSuperset(
+ useCase.getRedefinedElements().contains(communicationPath));
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ useCase.getRedefinedClassifiers().add(executionEnvironment);
+ assertSuperset(
+ useCase.getRedefinedElements().contains(executionEnvironment));
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ useCase.getRedefinedClassifiers().add(component);
+ assertSuperset(useCase.getRedefinedElements().contains(component));
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ useCase.getRedefinedClassifiers().add(interaction);
+ assertSuperset(useCase.getRedefinedElements().contains(interaction));
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ useCase.getRedefinedClassifiers().add(deploymentSpecification);
+ assertSuperset(
+ useCase.getRedefinedElements().contains(deploymentSpecification));
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ useCase.getRedefinedClassifiers().add(opaqueBehavior);
+ assertSuperset(useCase.getRedefinedElements().contains(opaqueBehavior));
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ useCase.getRedefinedClassifiers().add(association);
+ assertSuperset(useCase.getRedefinedElements().contains(association));
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ useCase.getRedefinedClassifiers().add(dataType);
+ assertSuperset(useCase.getRedefinedElements().contains(dataType));
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ useCase.getRedefinedClassifiers().add(device);
+ assertSuperset(useCase.getRedefinedElements().contains(device));
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ useCase.getRedefinedClassifiers().add(extension);
+ assertSuperset(useCase.getRedefinedElements().contains(extension));
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ useCase.getRedefinedClassifiers().add(associationClass);
+ assertSuperset(
+ useCase.getRedefinedElements().contains(associationClass));
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ useCase.getRedefinedClassifiers().add(class_);
+ assertSuperset(useCase.getRedefinedElements().contains(class_));
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ useCase.getRedefinedClassifiers().add(enumeration);
+ assertSuperset(useCase.getRedefinedElements().contains(enumeration));
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ useCase.getRedefinedClassifiers().add(primitiveType);
+ assertSuperset(useCase.getRedefinedElements().contains(primitiveType));
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ useCase.getRedefinedClassifiers().add(actor);
+ assertSuperset(useCase.getRedefinedElements().contains(actor));
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ useCase.getRedefinedClassifiers().add(protocolStateMachine);
+ assertSuperset(
+ useCase.getRedefinedElements().contains(protocolStateMachine));
+
+ UseCase useCase2 = UML.createUseCase();
+ assertValid(useCase2);
+ useCase.getRedefinedClassifiers().add(useCase2);
+ assertSuperset(useCase.getRedefinedElements().contains(useCase2));
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ useCase.getRedefinedClassifiers().add(signal);
+ assertSuperset(useCase.getRedefinedElements().contains(signal));
+
+ Node node = UML.createNode();
+ assertValid(node);
+ useCase.getRedefinedClassifiers().add(node);
+ assertSuperset(useCase.getRedefinedElements().contains(node));
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ useCase.getRedefinedClassifiers().add(stereotype);
+ assertSuperset(useCase.getRedefinedElements().contains(stereotype));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ useCase.getRedefinedClassifiers().add(stateMachine);
+ assertSuperset(useCase.getRedefinedElements().contains(stateMachine));
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ useCase.getRedefinedClassifiers().add(artifact);
+ assertSuperset(useCase.getRedefinedElements().contains(artifact));
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ useCase.getRedefinedClassifiers().add(collaboration);
+ assertSuperset(useCase.getRedefinedElements().contains(collaboration));
+ }
+
+ public void testRepresentation() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ CollaborationUse collaborationUse = UML.createCollaborationUse();
+ assertValid(collaborationUse);
+ useCase.setRepresentation(collaborationUse);
+ assertSuperset(
+ useCase.getCollaborationUses().contains(collaborationUse));
+ }
+
+ public void testSubstitution() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ Substitution substitution = UML.createSubstitution();
+ assertValid(substitution);
+ useCase.getSubstitutions().add(substitution);
+ assertSuperset(useCase.getOwnedElements().contains(substitution));
+ assertSuperset(useCase.getClientDependencies().contains(substitution));
+ }
+
+ public void testClassifierBehavior() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ useCase.setClassifierBehavior(protocolStateMachine);
+ assertSuperset(
+ useCase.getOwnedBehaviors().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ useCase.setClassifierBehavior(stateMachine);
+ assertSuperset(useCase.getOwnedBehaviors().contains(stateMachine));
+ }
+
+ public void testInterfaceRealization() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ InterfaceRealization interfaceRealization = UML
+ .createInterfaceRealization();
+ assertValid(interfaceRealization);
+ useCase.getInterfaceRealizations().add(interfaceRealization);
+ assertSuperset(
+ useCase.getOwnedElements().contains(interfaceRealization));
+ assertSuperset(
+ useCase.getClientDependencies().contains(interfaceRealization));
+ }
+
+ public void testOwnedBehavior() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ useCase.getOwnedBehaviors().add(protocolStateMachine);
+ assertSuperset(
+ useCase.getOwnedMembers().contains(protocolStateMachine));
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ useCase.getOwnedBehaviors().add(stateMachine);
+ assertSuperset(useCase.getOwnedMembers().contains(stateMachine));
+ }
+
+ public void testExtend() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ Extend extend = UML.createExtend();
+ assertValid(extend);
+ useCase.getExtends().add(extend);
+ assertSuperset(useCase.getOwnedMembers().contains(extend));
+ }
+
+ public void testExtensionPoint() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ ExtensionPoint extensionPoint = UML.createExtensionPoint();
+ assertValid(extensionPoint);
+ useCase.getExtensionPoints().add(extensionPoint);
+ assertSuperset(useCase.getOwnedMembers().contains(extensionPoint));
+ }
+
+ public void testInclude() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ Include include = UML.createInclude();
+ assertValid(include);
+ useCase.getIncludes().add(include);
+ assertSuperset(useCase.getOwnedMembers().contains(include));
+ }
+
+ public void testSubject() {
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ useCase.getSubjects().add(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ useCase.getSubjects().add(activity);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ useCase.getSubjects().add(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ useCase.getSubjects().add(informationItem);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ useCase.getSubjects().add(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ useCase.getSubjects().add(executionEnvironment);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ useCase.getSubjects().add(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ useCase.getSubjects().add(interaction);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ useCase.getSubjects().add(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ useCase.getSubjects().add(opaqueBehavior);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ useCase.getSubjects().add(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ useCase.getSubjects().add(dataType);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ useCase.getSubjects().add(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ useCase.getSubjects().add(extension);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ useCase.getSubjects().add(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ useCase.getSubjects().add(class_);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ useCase.getSubjects().add(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ useCase.getSubjects().add(primitiveType);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ useCase.getSubjects().add(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ useCase.getSubjects().add(protocolStateMachine);
+
+ UseCase useCase2 = UML.createUseCase();
+ assertValid(useCase2);
+ useCase.getSubjects().add(useCase2);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ useCase.getSubjects().add(signal);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ useCase.getSubjects().add(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ useCase.getSubjects().add(stereotype);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ useCase.getSubjects().add(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ useCase.getSubjects().add(artifact);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ useCase.getSubjects().add(collaboration);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ValuePinTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ValuePinTest.java
new file mode 100755
index 00000000..01ccbd07
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ValuePinTest.java
@@ -0,0 +1,1234 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ValuePinTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ valuePin.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ valuePin.getOwnedComments().add(comment);
+ assertSuperset(valuePin.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ EList<Element> elements = valuePin.getOwnedElements();
+ EList<Element> elements2 = valuePin.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ EList<Dependency> dependencys = valuePin.getClientDependencies();
+ EList<Dependency> dependencys2 = valuePin.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ valuePin.setNameExpression(stringExpression);
+ assertSuperset(valuePin.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ EList<RedefinableElement> redefinableElements = valuePin
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = valuePin
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ EList<Classifier> classifiers = valuePin.getRedefinitionContexts();
+ EList<Classifier> classifiers2 = valuePin.getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ EList<ActivityGroup> activityGroups = valuePin.getInGroups();
+ EList<ActivityGroup> activityGroups2 = valuePin.getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ valuePin.getInInterruptibleRegions().add(interruptibleActivityRegion);
+ assertSuperset(
+ valuePin.getInGroups().contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ valuePin.setInStructuredNode(loopNode);
+ assertSuperset(valuePin.getInGroups().contains(loopNode));
+ assertSuperset(valuePin.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ valuePin.setInStructuredNode(expansionRegion);
+ assertSuperset(valuePin.getInGroups().contains(expansionRegion));
+ assertSuperset(valuePin.getOwner() == expansionRegion);
+
+ ValuePin valuePin2 = UML.createValuePin();
+ assertValid(valuePin2);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ valuePin2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(
+ valuePin2.getInGroups().contains(structuredActivityNode));
+ assertSuperset(valuePin2.getOwner() == structuredActivityNode);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ valuePin2.setInStructuredNode(conditionalNode);
+ assertSuperset(valuePin2.getInGroups().contains(conditionalNode));
+ assertSuperset(valuePin2.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ valuePin.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ valuePin.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ valuePin.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ valuePin.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ valuePin.getRedefinedNodes().add(startClassifierBehaviorAction);
+ assertSuperset(valuePin.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ valuePin.getRedefinedNodes().add(removeVariableValueAction);
+ assertSuperset(valuePin.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ valuePin.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ valuePin.getRedefinedNodes().add(inputPin);
+ assertSuperset(valuePin.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ valuePin.getRedefinedNodes().add(readLinkObjectEndQualifierAction);
+ assertSuperset(valuePin.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ valuePin.getRedefinedNodes().add(joinNode);
+ assertSuperset(valuePin.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ valuePin.getRedefinedNodes().add(createLinkObjectAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ valuePin.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ valuePin.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ valuePin.getRedefinedNodes().add(replyAction);
+ assertSuperset(valuePin.getRedefinedElements().contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ valuePin.getRedefinedNodes().add(clearAssociationAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ valuePin.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(valuePin.getRedefinedElements().contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ valuePin.getRedefinedNodes().add(clearStructuralFeatureAction);
+ assertSuperset(valuePin.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ valuePin.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ valuePin.getRedefinedNodes().add(structuredActivityNode);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(structuredActivityNode));
+
+ ValuePin valuePin2 = UML.createValuePin();
+ assertValid(valuePin2);
+ valuePin.getRedefinedNodes().add(valuePin2);
+ assertSuperset(valuePin.getRedefinedElements().contains(valuePin2));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ valuePin.getRedefinedNodes().add(startObjectBehaviorAction);
+ assertSuperset(valuePin.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ valuePin.getRedefinedNodes().add(forkNode);
+ assertSuperset(valuePin.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ valuePin.getRedefinedNodes().add(decisionNode);
+ assertSuperset(valuePin.getRedefinedElements().contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ valuePin.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ valuePin.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ valuePin.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ valuePin.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ valuePin.getRedefinedNodes().add(readIsClassifiedObjectAction);
+ assertSuperset(valuePin.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ valuePin.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ valuePin.getRedefinedNodes().add(addStructuralFeatureValueAction);
+ assertSuperset(valuePin.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ valuePin.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ valuePin.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ valuePin.getRedefinedNodes().add(removeStructuralFeatureValueAction);
+ assertSuperset(valuePin.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ valuePin.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ valuePin.getRedefinedNodes().add(reclassifyObjectAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ valuePin.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(valuePin.getRedefinedElements().contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ valuePin.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ valuePin.getRedefinedNodes().add(reduceAction);
+ assertSuperset(valuePin.getRedefinedElements().contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ valuePin.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ valuePin.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ valuePin.getRedefinedNodes().add(expansionNode);
+ assertSuperset(valuePin.getRedefinedElements().contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ valuePin.getRedefinedNodes().add(initialNode);
+ assertSuperset(valuePin.getRedefinedElements().contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ valuePin.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ valuePin.getRedefinedNodes().add(outputPin);
+ assertSuperset(valuePin.getRedefinedElements().contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ valuePin.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ valuePin.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ valuePin.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ valuePin.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ valuePin.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ valuePin.getRedefinedNodes().add(loopNode);
+ assertSuperset(valuePin.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ valuePin.getRedefinedNodes().add(valueSpecificationAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(valueSpecificationAction));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ valuePin.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ valuePin.getRedefinedNodes().add(addVariableValueAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ valuePin.getRedefinedNodes().add(readLinkObjectEndAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ valuePin.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ valuePin.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(valuePin.getRedefinedElements().contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ valuePin.getRedefinedNodes().add(mergeNode);
+ assertSuperset(valuePin.getRedefinedElements().contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ valuePin.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(valuePin.getRedefinedElements().contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ valuePin.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ valuePin.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(
+ valuePin.getRedefinedElements().contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ valuePin.getRedefinedNodes().add(readStructuralFeatureAction);
+ assertSuperset(valuePin.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ valuePin.getInPartitions().add(activityPartition);
+ assertSuperset(valuePin.getInGroups().contains(activityPartition));
+ }
+
+ public void testType() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ valuePin.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ valuePin.setType(activity);
+
+ ValuePin valuePin2 = UML.createValuePin();
+ assertValid(valuePin2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ valuePin2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ valuePin2.setType(informationItem);
+
+ ValuePin valuePin3 = UML.createValuePin();
+ assertValid(valuePin3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ valuePin3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ valuePin3.setType(executionEnvironment);
+
+ ValuePin valuePin4 = UML.createValuePin();
+ assertValid(valuePin4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ valuePin4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ valuePin4.setType(interaction);
+
+ ValuePin valuePin5 = UML.createValuePin();
+ assertValid(valuePin5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ valuePin5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ valuePin5.setType(opaqueBehavior);
+
+ ValuePin valuePin6 = UML.createValuePin();
+ assertValid(valuePin6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ valuePin6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ valuePin6.setType(dataType);
+
+ ValuePin valuePin7 = UML.createValuePin();
+ assertValid(valuePin7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ valuePin7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ valuePin7.setType(extension);
+
+ ValuePin valuePin8 = UML.createValuePin();
+ assertValid(valuePin8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ valuePin8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ valuePin8.setType(class_);
+
+ ValuePin valuePin9 = UML.createValuePin();
+ assertValid(valuePin9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ valuePin9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ valuePin9.setType(primitiveType);
+
+ ValuePin valuePin10 = UML.createValuePin();
+ assertValid(valuePin10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ valuePin10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ valuePin10.setType(protocolStateMachine);
+
+ ValuePin valuePin11 = UML.createValuePin();
+ assertValid(valuePin11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ valuePin11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ valuePin11.setType(signal);
+
+ ValuePin valuePin12 = UML.createValuePin();
+ assertValid(valuePin12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ valuePin12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ valuePin12.setType(stereotype);
+
+ ValuePin valuePin13 = UML.createValuePin();
+ assertValid(valuePin13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ valuePin13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ valuePin13.setType(artifact);
+
+ ValuePin valuePin14 = UML.createValuePin();
+ assertValid(valuePin14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ valuePin14.setType(collaboration);
+ }
+
+ public void testInState() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ FinalState finalState = UML.createFinalState();
+ assertValid(finalState);
+ valuePin.getInStates().add(finalState);
+
+ State state = UML.createState();
+ assertValid(state);
+ valuePin.getInStates().add(state);
+ }
+
+ public void testSelection() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ valuePin.setSelection(protocolStateMachine);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ valuePin.setSelection(stateMachine);
+ }
+
+ public void testUpperBound() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ valuePin.setUpperBound(literalBoolean);
+ assertSuperset(valuePin.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ valuePin.setUpperBound(interval);
+ assertSuperset(valuePin.getOwnedElements().contains(interval));
+
+ ValuePin valuePin2 = UML.createValuePin();
+ assertValid(valuePin2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ valuePin2.setUpperBound(opaqueExpression);
+ assertSuperset(valuePin2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ valuePin2.setUpperBound(expression);
+ assertSuperset(valuePin2.getOwnedElements().contains(expression));
+
+ ValuePin valuePin3 = UML.createValuePin();
+ assertValid(valuePin3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ valuePin3.setUpperBound(literalReal);
+ assertSuperset(valuePin3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ valuePin3.setUpperBound(literalString);
+ assertSuperset(valuePin3.getOwnedElements().contains(literalString));
+
+ ValuePin valuePin4 = UML.createValuePin();
+ assertValid(valuePin4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ valuePin4.setUpperBound(literalNull);
+ assertSuperset(valuePin4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ valuePin4.setUpperBound(duration);
+ assertSuperset(valuePin4.getOwnedElements().contains(duration));
+
+ ValuePin valuePin5 = UML.createValuePin();
+ assertValid(valuePin5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ valuePin5.setUpperBound(literalInteger);
+ assertSuperset(valuePin5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ valuePin5.setUpperBound(durationInterval);
+ assertSuperset(valuePin5.getOwnedElements().contains(durationInterval));
+
+ ValuePin valuePin6 = UML.createValuePin();
+ assertValid(valuePin6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ valuePin6.setUpperBound(stringExpression);
+ assertSuperset(valuePin6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ valuePin6.setUpperBound(literalUnlimitedNatural);
+ assertSuperset(
+ valuePin6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ValuePin valuePin7 = UML.createValuePin();
+ assertValid(valuePin7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ valuePin7.setUpperBound(timeInterval);
+ assertSuperset(valuePin7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ valuePin7.setUpperBound(timeExpression);
+ assertSuperset(valuePin7.getOwnedElements().contains(timeExpression));
+
+ ValuePin valuePin8 = UML.createValuePin();
+ assertValid(valuePin8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ valuePin8.setUpperBound(instanceValue);
+ assertSuperset(valuePin8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testLowerValue() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ valuePin.setLowerValue(literalBoolean);
+ assertSuperset(valuePin.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ valuePin.setLowerValue(interval);
+ assertSuperset(valuePin.getOwnedElements().contains(interval));
+
+ ValuePin valuePin2 = UML.createValuePin();
+ assertValid(valuePin2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ valuePin2.setLowerValue(opaqueExpression);
+ assertSuperset(valuePin2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ valuePin2.setLowerValue(expression);
+ assertSuperset(valuePin2.getOwnedElements().contains(expression));
+
+ ValuePin valuePin3 = UML.createValuePin();
+ assertValid(valuePin3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ valuePin3.setLowerValue(literalReal);
+ assertSuperset(valuePin3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ valuePin3.setLowerValue(literalString);
+ assertSuperset(valuePin3.getOwnedElements().contains(literalString));
+
+ ValuePin valuePin4 = UML.createValuePin();
+ assertValid(valuePin4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ valuePin4.setLowerValue(literalNull);
+ assertSuperset(valuePin4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ valuePin4.setLowerValue(duration);
+ assertSuperset(valuePin4.getOwnedElements().contains(duration));
+
+ ValuePin valuePin5 = UML.createValuePin();
+ assertValid(valuePin5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ valuePin5.setLowerValue(literalInteger);
+ assertSuperset(valuePin5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ valuePin5.setLowerValue(durationInterval);
+ assertSuperset(valuePin5.getOwnedElements().contains(durationInterval));
+
+ ValuePin valuePin6 = UML.createValuePin();
+ assertValid(valuePin6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ valuePin6.setLowerValue(stringExpression);
+ assertSuperset(valuePin6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ valuePin6.setLowerValue(literalUnlimitedNatural);
+ assertSuperset(
+ valuePin6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ValuePin valuePin7 = UML.createValuePin();
+ assertValid(valuePin7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ valuePin7.setLowerValue(timeInterval);
+ assertSuperset(valuePin7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ valuePin7.setLowerValue(timeExpression);
+ assertSuperset(valuePin7.getOwnedElements().contains(timeExpression));
+
+ ValuePin valuePin8 = UML.createValuePin();
+ assertValid(valuePin8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ valuePin8.setLowerValue(instanceValue);
+ assertSuperset(valuePin8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testUpperValue() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ valuePin.setUpperValue(literalBoolean);
+ assertSuperset(valuePin.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ valuePin.setUpperValue(interval);
+ assertSuperset(valuePin.getOwnedElements().contains(interval));
+
+ ValuePin valuePin2 = UML.createValuePin();
+ assertValid(valuePin2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ valuePin2.setUpperValue(opaqueExpression);
+ assertSuperset(valuePin2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ valuePin2.setUpperValue(expression);
+ assertSuperset(valuePin2.getOwnedElements().contains(expression));
+
+ ValuePin valuePin3 = UML.createValuePin();
+ assertValid(valuePin3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ valuePin3.setUpperValue(literalReal);
+ assertSuperset(valuePin3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ valuePin3.setUpperValue(literalString);
+ assertSuperset(valuePin3.getOwnedElements().contains(literalString));
+
+ ValuePin valuePin4 = UML.createValuePin();
+ assertValid(valuePin4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ valuePin4.setUpperValue(literalNull);
+ assertSuperset(valuePin4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ valuePin4.setUpperValue(duration);
+ assertSuperset(valuePin4.getOwnedElements().contains(duration));
+
+ ValuePin valuePin5 = UML.createValuePin();
+ assertValid(valuePin5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ valuePin5.setUpperValue(literalInteger);
+ assertSuperset(valuePin5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ valuePin5.setUpperValue(durationInterval);
+ assertSuperset(valuePin5.getOwnedElements().contains(durationInterval));
+
+ ValuePin valuePin6 = UML.createValuePin();
+ assertValid(valuePin6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ valuePin6.setUpperValue(stringExpression);
+ assertSuperset(valuePin6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ valuePin6.setUpperValue(literalUnlimitedNatural);
+ assertSuperset(
+ valuePin6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ValuePin valuePin7 = UML.createValuePin();
+ assertValid(valuePin7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ valuePin7.setUpperValue(timeInterval);
+ assertSuperset(valuePin7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ valuePin7.setUpperValue(timeExpression);
+ assertSuperset(valuePin7.getOwnedElements().contains(timeExpression));
+
+ ValuePin valuePin8 = UML.createValuePin();
+ assertValid(valuePin8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ valuePin8.setUpperValue(instanceValue);
+ assertSuperset(valuePin8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testValue() {
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ valuePin.setValue(literalBoolean);
+ assertSuperset(valuePin.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ valuePin.setValue(interval);
+ assertSuperset(valuePin.getOwnedElements().contains(interval));
+
+ ValuePin valuePin2 = UML.createValuePin();
+ assertValid(valuePin2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ valuePin2.setValue(opaqueExpression);
+ assertSuperset(valuePin2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ valuePin2.setValue(expression);
+ assertSuperset(valuePin2.getOwnedElements().contains(expression));
+
+ ValuePin valuePin3 = UML.createValuePin();
+ assertValid(valuePin3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ valuePin3.setValue(literalReal);
+ assertSuperset(valuePin3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ valuePin3.setValue(literalString);
+ assertSuperset(valuePin3.getOwnedElements().contains(literalString));
+
+ ValuePin valuePin4 = UML.createValuePin();
+ assertValid(valuePin4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ valuePin4.setValue(literalNull);
+ assertSuperset(valuePin4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ valuePin4.setValue(duration);
+ assertSuperset(valuePin4.getOwnedElements().contains(duration));
+
+ ValuePin valuePin5 = UML.createValuePin();
+ assertValid(valuePin5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ valuePin5.setValue(literalInteger);
+ assertSuperset(valuePin5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ valuePin5.setValue(durationInterval);
+ assertSuperset(valuePin5.getOwnedElements().contains(durationInterval));
+
+ ValuePin valuePin6 = UML.createValuePin();
+ assertValid(valuePin6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ valuePin6.setValue(stringExpression);
+ assertSuperset(valuePin6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ valuePin6.setValue(literalUnlimitedNatural);
+ assertSuperset(
+ valuePin6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ ValuePin valuePin7 = UML.createValuePin();
+ assertValid(valuePin7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ valuePin7.setValue(timeInterval);
+ assertSuperset(valuePin7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ valuePin7.setValue(timeExpression);
+ assertSuperset(valuePin7.getOwnedElements().contains(timeExpression));
+
+ ValuePin valuePin8 = UML.createValuePin();
+ assertValid(valuePin8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ valuePin8.setValue(instanceValue);
+ assertSuperset(valuePin8.getOwnedElements().contains(instanceValue));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ValueSpecificationActionTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ValueSpecificationActionTest.java
new file mode 100755
index 00000000..fbf0319e
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/ValueSpecificationActionTest.java
@@ -0,0 +1,937 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.ActivityFinalNode;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.ExceptionHandler;
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.FlowFinalNode;
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InitialNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.MergeNode;
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.ReduceAction;
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.StartObjectBehaviorAction;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UnmarshallAction;
+import org.eclipse.uml2.uml.ValuePin;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+/**
+ * @author Eike Stepper
+ */
+public class ValueSpecificationActionTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ valueSpecificationAction.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ valueSpecificationAction.getOwnedComments().add(comment);
+ assertSuperset(
+ valueSpecificationAction.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ EList<Element> elements = valueSpecificationAction.getOwnedElements();
+ EList<Element> elements2 = valueSpecificationAction.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ EList<Dependency> dependencys = valueSpecificationAction
+ .getClientDependencies();
+ EList<Dependency> dependencys2 = valueSpecificationAction
+ .getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ valueSpecificationAction.setNameExpression(stringExpression);
+ assertSuperset(valueSpecificationAction.getOwnedElements()
+ .contains(stringExpression));
+ }
+
+ public void testRedefinedElement() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ EList<RedefinableElement> redefinableElements = valueSpecificationAction
+ .getRedefinedElements();
+ EList<RedefinableElement> redefinableElements2 = valueSpecificationAction
+ .getRedefinedElements();
+ assertSame(redefinableElements, redefinableElements2);
+ }
+
+ public void testRedefinitionContext() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ EList<Classifier> classifiers = valueSpecificationAction
+ .getRedefinitionContexts();
+ EList<Classifier> classifiers2 = valueSpecificationAction
+ .getRedefinitionContexts();
+ assertSame(classifiers, classifiers2);
+ }
+
+ public void testInGroup() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ EList<ActivityGroup> activityGroups = valueSpecificationAction
+ .getInGroups();
+ EList<ActivityGroup> activityGroups2 = valueSpecificationAction
+ .getInGroups();
+ assertSame(activityGroups, activityGroups2);
+ }
+
+ public void testInInterruptibleRegion() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ InterruptibleActivityRegion interruptibleActivityRegion = UML
+ .createInterruptibleActivityRegion();
+ assertValid(interruptibleActivityRegion);
+ valueSpecificationAction.getInInterruptibleRegions()
+ .add(interruptibleActivityRegion);
+ assertSuperset(valueSpecificationAction.getInGroups()
+ .contains(interruptibleActivityRegion));
+ }
+
+ public void testInStructuredNode() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ valueSpecificationAction.setInStructuredNode(loopNode);
+ assertSuperset(
+ valueSpecificationAction.getInGroups().contains(loopNode));
+ assertSuperset(valueSpecificationAction.getOwner() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ valueSpecificationAction.setInStructuredNode(expansionRegion);
+ assertSuperset(
+ valueSpecificationAction.getInGroups().contains(expansionRegion));
+ assertSuperset(valueSpecificationAction.getOwner() == expansionRegion);
+
+ ValueSpecificationAction valueSpecificationAction2 = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ valueSpecificationAction2.setInStructuredNode(sequenceNode);
+ assertSuperset(
+ valueSpecificationAction2.getInGroups().contains(sequenceNode));
+ assertSuperset(valueSpecificationAction2.getOwner() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ valueSpecificationAction2.setInStructuredNode(structuredActivityNode);
+ assertSuperset(valueSpecificationAction2.getInGroups()
+ .contains(structuredActivityNode));
+ assertSuperset(
+ valueSpecificationAction2.getOwner() == structuredActivityNode);
+
+ ValueSpecificationAction valueSpecificationAction3 = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ valueSpecificationAction3.setInStructuredNode(conditionalNode);
+ assertSuperset(
+ valueSpecificationAction3.getInGroups().contains(conditionalNode));
+ assertSuperset(valueSpecificationAction3.getOwner() == conditionalNode);
+ }
+
+ public void testIncoming() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ valueSpecificationAction.getIncomings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ valueSpecificationAction.getIncomings().add(objectFlow);
+ }
+
+ public void testOutgoing() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ ControlFlow controlFlow = UML.createControlFlow();
+ assertValid(controlFlow);
+ valueSpecificationAction.getOutgoings().add(controlFlow);
+
+ ObjectFlow objectFlow = UML.createObjectFlow();
+ assertValid(objectFlow);
+ valueSpecificationAction.getOutgoings().add(objectFlow);
+ }
+
+ public void testRedefinedNode() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ StartClassifierBehaviorAction startClassifierBehaviorAction = UML
+ .createStartClassifierBehaviorAction();
+ assertValid(startClassifierBehaviorAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(startClassifierBehaviorAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(startClassifierBehaviorAction));
+
+ RemoveVariableValueAction removeVariableValueAction = UML
+ .createRemoveVariableValueAction();
+ assertValid(removeVariableValueAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(removeVariableValueAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(removeVariableValueAction));
+
+ ReadSelfAction readSelfAction = UML.createReadSelfAction();
+ assertValid(readSelfAction);
+ valueSpecificationAction.getRedefinedNodes().add(readSelfAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(readSelfAction));
+
+ InputPin inputPin = UML.createInputPin();
+ assertValid(inputPin);
+ valueSpecificationAction.getRedefinedNodes().add(inputPin);
+ assertSuperset(
+ valueSpecificationAction.getRedefinedElements().contains(inputPin));
+
+ ReadLinkObjectEndQualifierAction readLinkObjectEndQualifierAction = UML
+ .createReadLinkObjectEndQualifierAction();
+ assertValid(readLinkObjectEndQualifierAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(readLinkObjectEndQualifierAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(readLinkObjectEndQualifierAction));
+
+ JoinNode joinNode = UML.createJoinNode();
+ assertValid(joinNode);
+ valueSpecificationAction.getRedefinedNodes().add(joinNode);
+ assertSuperset(
+ valueSpecificationAction.getRedefinedElements().contains(joinNode));
+
+ CreateLinkObjectAction createLinkObjectAction = UML
+ .createCreateLinkObjectAction();
+ assertValid(createLinkObjectAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(createLinkObjectAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(createLinkObjectAction));
+
+ SendSignalAction sendSignalAction = UML.createSendSignalAction();
+ assertValid(sendSignalAction);
+ valueSpecificationAction.getRedefinedNodes().add(sendSignalAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(sendSignalAction));
+
+ ReadLinkAction readLinkAction = UML.createReadLinkAction();
+ assertValid(readLinkAction);
+ valueSpecificationAction.getRedefinedNodes().add(readLinkAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(readLinkAction));
+
+ ReplyAction replyAction = UML.createReplyAction();
+ assertValid(replyAction);
+ valueSpecificationAction.getRedefinedNodes().add(replyAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(replyAction));
+
+ ClearAssociationAction clearAssociationAction = UML
+ .createClearAssociationAction();
+ assertValid(clearAssociationAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(clearAssociationAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(clearAssociationAction));
+
+ FlowFinalNode flowFinalNode = UML.createFlowFinalNode();
+ assertValid(flowFinalNode);
+ valueSpecificationAction.getRedefinedNodes().add(flowFinalNode);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(flowFinalNode));
+
+ ClearStructuralFeatureAction clearStructuralFeatureAction = UML
+ .createClearStructuralFeatureAction();
+ assertValid(clearStructuralFeatureAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(clearStructuralFeatureAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(clearStructuralFeatureAction));
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ valueSpecificationAction.getRedefinedNodes().add(expansionRegion);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(expansionRegion));
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(structuredActivityNode);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(structuredActivityNode));
+
+ ValuePin valuePin = UML.createValuePin();
+ assertValid(valuePin);
+ valueSpecificationAction.getRedefinedNodes().add(valuePin);
+ assertSuperset(
+ valueSpecificationAction.getRedefinedElements().contains(valuePin));
+
+ StartObjectBehaviorAction startObjectBehaviorAction = UML
+ .createStartObjectBehaviorAction();
+ assertValid(startObjectBehaviorAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(startObjectBehaviorAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(startObjectBehaviorAction));
+
+ ForkNode forkNode = UML.createForkNode();
+ assertValid(forkNode);
+ valueSpecificationAction.getRedefinedNodes().add(forkNode);
+ assertSuperset(
+ valueSpecificationAction.getRedefinedElements().contains(forkNode));
+
+ DecisionNode decisionNode = UML.createDecisionNode();
+ assertValid(decisionNode);
+ valueSpecificationAction.getRedefinedNodes().add(decisionNode);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(decisionNode));
+
+ CallBehaviorAction callBehaviorAction = UML.createCallBehaviorAction();
+ assertValid(callBehaviorAction);
+ valueSpecificationAction.getRedefinedNodes().add(callBehaviorAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(callBehaviorAction));
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ valueSpecificationAction.getRedefinedNodes().add(conditionalNode);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(conditionalNode));
+
+ ReadExtentAction readExtentAction = UML.createReadExtentAction();
+ assertValid(readExtentAction);
+ valueSpecificationAction.getRedefinedNodes().add(readExtentAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(readExtentAction));
+
+ ActionInputPin actionInputPin = UML.createActionInputPin();
+ assertValid(actionInputPin);
+ valueSpecificationAction.getRedefinedNodes().add(actionInputPin);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(actionInputPin));
+
+ ReadIsClassifiedObjectAction readIsClassifiedObjectAction = UML
+ .createReadIsClassifiedObjectAction();
+ assertValid(readIsClassifiedObjectAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(readIsClassifiedObjectAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(readIsClassifiedObjectAction));
+
+ ActivityParameterNode activityParameterNode = UML
+ .createActivityParameterNode();
+ assertValid(activityParameterNode);
+ valueSpecificationAction.getRedefinedNodes().add(activityParameterNode);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(activityParameterNode));
+
+ AddStructuralFeatureValueAction addStructuralFeatureValueAction = UML
+ .createAddStructuralFeatureValueAction();
+ assertValid(addStructuralFeatureValueAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(addStructuralFeatureValueAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(addStructuralFeatureValueAction));
+
+ ReadVariableAction readVariableAction = UML.createReadVariableAction();
+ assertValid(readVariableAction);
+ valueSpecificationAction.getRedefinedNodes().add(readVariableAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(readVariableAction));
+
+ ClearVariableAction clearVariableAction = UML
+ .createClearVariableAction();
+ assertValid(clearVariableAction);
+ valueSpecificationAction.getRedefinedNodes().add(clearVariableAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(clearVariableAction));
+
+ RemoveStructuralFeatureValueAction removeStructuralFeatureValueAction = UML
+ .createRemoveStructuralFeatureValueAction();
+ assertValid(removeStructuralFeatureValueAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(removeStructuralFeatureValueAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(removeStructuralFeatureValueAction));
+
+ CreateLinkAction createLinkAction = UML.createCreateLinkAction();
+ assertValid(createLinkAction);
+ valueSpecificationAction.getRedefinedNodes().add(createLinkAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(createLinkAction));
+
+ ReclassifyObjectAction reclassifyObjectAction = UML
+ .createReclassifyObjectAction();
+ assertValid(reclassifyObjectAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(reclassifyObjectAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(reclassifyObjectAction));
+
+ DataStoreNode dataStoreNode = UML.createDataStoreNode();
+ assertValid(dataStoreNode);
+ valueSpecificationAction.getRedefinedNodes().add(dataStoreNode);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(dataStoreNode));
+
+ SendObjectAction sendObjectAction = UML.createSendObjectAction();
+ assertValid(sendObjectAction);
+ valueSpecificationAction.getRedefinedNodes().add(sendObjectAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(sendObjectAction));
+
+ ReduceAction reduceAction = UML.createReduceAction();
+ assertValid(reduceAction);
+ valueSpecificationAction.getRedefinedNodes().add(reduceAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(reduceAction));
+
+ AcceptEventAction acceptEventAction = UML.createAcceptEventAction();
+ assertValid(acceptEventAction);
+ valueSpecificationAction.getRedefinedNodes().add(acceptEventAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(acceptEventAction));
+
+ DestroyLinkAction destroyLinkAction = UML.createDestroyLinkAction();
+ assertValid(destroyLinkAction);
+ valueSpecificationAction.getRedefinedNodes().add(destroyLinkAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(destroyLinkAction));
+
+ ExpansionNode expansionNode = UML.createExpansionNode();
+ assertValid(expansionNode);
+ valueSpecificationAction.getRedefinedNodes().add(expansionNode);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(expansionNode));
+
+ InitialNode initialNode = UML.createInitialNode();
+ assertValid(initialNode);
+ valueSpecificationAction.getRedefinedNodes().add(initialNode);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(initialNode));
+
+ TestIdentityAction testIdentityAction = UML.createTestIdentityAction();
+ assertValid(testIdentityAction);
+ valueSpecificationAction.getRedefinedNodes().add(testIdentityAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(testIdentityAction));
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ valueSpecificationAction.getRedefinedNodes().add(outputPin);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(outputPin));
+
+ CentralBufferNode centralBufferNode = UML.createCentralBufferNode();
+ assertValid(centralBufferNode);
+ valueSpecificationAction.getRedefinedNodes().add(centralBufferNode);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(centralBufferNode));
+
+ BroadcastSignalAction broadcastSignalAction = UML
+ .createBroadcastSignalAction();
+ assertValid(broadcastSignalAction);
+ valueSpecificationAction.getRedefinedNodes().add(broadcastSignalAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(broadcastSignalAction));
+
+ RaiseExceptionAction raiseExceptionAction = UML
+ .createRaiseExceptionAction();
+ assertValid(raiseExceptionAction);
+ valueSpecificationAction.getRedefinedNodes().add(raiseExceptionAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(raiseExceptionAction));
+
+ ActivityFinalNode activityFinalNode = UML.createActivityFinalNode();
+ assertValid(activityFinalNode);
+ valueSpecificationAction.getRedefinedNodes().add(activityFinalNode);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(activityFinalNode));
+
+ CallOperationAction callOperationAction = UML
+ .createCallOperationAction();
+ assertValid(callOperationAction);
+ valueSpecificationAction.getRedefinedNodes().add(callOperationAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(callOperationAction));
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ valueSpecificationAction.getRedefinedNodes().add(loopNode);
+ assertSuperset(
+ valueSpecificationAction.getRedefinedElements().contains(loopNode));
+
+ ValueSpecificationAction valueSpecificationAction2 = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction2);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(valueSpecificationAction2);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(valueSpecificationAction2));
+
+ AcceptCallAction acceptCallAction = UML.createAcceptCallAction();
+ assertValid(acceptCallAction);
+ valueSpecificationAction.getRedefinedNodes().add(acceptCallAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(acceptCallAction));
+
+ AddVariableValueAction addVariableValueAction = UML
+ .createAddVariableValueAction();
+ assertValid(addVariableValueAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(addVariableValueAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(addVariableValueAction));
+
+ ReadLinkObjectEndAction readLinkObjectEndAction = UML
+ .createReadLinkObjectEndAction();
+ assertValid(readLinkObjectEndAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(readLinkObjectEndAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(readLinkObjectEndAction));
+
+ UnmarshallAction unmarshallAction = UML.createUnmarshallAction();
+ assertValid(unmarshallAction);
+ valueSpecificationAction.getRedefinedNodes().add(unmarshallAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(unmarshallAction));
+
+ OpaqueAction opaqueAction = UML.createOpaqueAction();
+ assertValid(opaqueAction);
+ valueSpecificationAction.getRedefinedNodes().add(opaqueAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(opaqueAction));
+
+ MergeNode mergeNode = UML.createMergeNode();
+ assertValid(mergeNode);
+ valueSpecificationAction.getRedefinedNodes().add(mergeNode);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(mergeNode));
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ valueSpecificationAction.getRedefinedNodes().add(sequenceNode);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(sequenceNode));
+
+ CreateObjectAction createObjectAction = UML.createCreateObjectAction();
+ assertValid(createObjectAction);
+ valueSpecificationAction.getRedefinedNodes().add(createObjectAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(createObjectAction));
+
+ DestroyObjectAction destroyObjectAction = UML
+ .createDestroyObjectAction();
+ assertValid(destroyObjectAction);
+ valueSpecificationAction.getRedefinedNodes().add(destroyObjectAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(destroyObjectAction));
+
+ ReadStructuralFeatureAction readStructuralFeatureAction = UML
+ .createReadStructuralFeatureAction();
+ assertValid(readStructuralFeatureAction);
+ valueSpecificationAction.getRedefinedNodes()
+ .add(readStructuralFeatureAction);
+ assertSuperset(valueSpecificationAction.getRedefinedElements()
+ .contains(readStructuralFeatureAction));
+ }
+
+ public void testInPartition() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ ActivityPartition activityPartition = UML.createActivityPartition();
+ assertValid(activityPartition);
+ valueSpecificationAction.getInPartitions().add(activityPartition);
+ assertSuperset(
+ valueSpecificationAction.getInGroups().contains(activityPartition));
+ }
+
+ public void testHandler() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ ExceptionHandler exceptionHandler = UML.createExceptionHandler();
+ assertValid(exceptionHandler);
+ valueSpecificationAction.getHandlers().add(exceptionHandler);
+ assertSuperset(valueSpecificationAction.getOwnedElements()
+ .contains(exceptionHandler));
+ }
+
+ public void testInput() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ EList<InputPin> inputPins = valueSpecificationAction.getInputs();
+ EList<InputPin> inputPins2 = valueSpecificationAction.getInputs();
+ assertSame(inputPins, inputPins2);
+ }
+
+ public void testLocalPostcondition() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ valueSpecificationAction.getLocalPostconditions()
+ .add(intervalConstraint);
+ assertSuperset(valueSpecificationAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ valueSpecificationAction.getLocalPostconditions().add(timeConstraint);
+ assertSuperset(valueSpecificationAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ valueSpecificationAction.getLocalPostconditions()
+ .add(interactionConstraint);
+ assertSuperset(valueSpecificationAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ valueSpecificationAction.getLocalPostconditions().add(constraint);
+ assertSuperset(
+ valueSpecificationAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ valueSpecificationAction.getLocalPostconditions()
+ .add(durationConstraint);
+ assertSuperset(valueSpecificationAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testLocalPrecondition() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ IntervalConstraint intervalConstraint = UML.createIntervalConstraint();
+ assertValid(intervalConstraint);
+ valueSpecificationAction.getLocalPreconditions()
+ .add(intervalConstraint);
+ assertSuperset(valueSpecificationAction.getOwnedElements()
+ .contains(intervalConstraint));
+
+ TimeConstraint timeConstraint = UML.createTimeConstraint();
+ assertValid(timeConstraint);
+ valueSpecificationAction.getLocalPreconditions().add(timeConstraint);
+ assertSuperset(valueSpecificationAction.getOwnedElements()
+ .contains(timeConstraint));
+
+ InteractionConstraint interactionConstraint = UML
+ .createInteractionConstraint();
+ assertValid(interactionConstraint);
+ valueSpecificationAction.getLocalPreconditions()
+ .add(interactionConstraint);
+ assertSuperset(valueSpecificationAction.getOwnedElements()
+ .contains(interactionConstraint));
+
+ Constraint constraint = UML.createConstraint();
+ assertValid(constraint);
+ valueSpecificationAction.getLocalPreconditions().add(constraint);
+ assertSuperset(
+ valueSpecificationAction.getOwnedElements().contains(constraint));
+
+ DurationConstraint durationConstraint = UML.createDurationConstraint();
+ assertValid(durationConstraint);
+ valueSpecificationAction.getLocalPreconditions()
+ .add(durationConstraint);
+ assertSuperset(valueSpecificationAction.getOwnedElements()
+ .contains(durationConstraint));
+ }
+
+ public void testOutput() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+ EList<OutputPin> outputPins = valueSpecificationAction.getOutputs();
+ EList<OutputPin> outputPins2 = valueSpecificationAction.getOutputs();
+ assertSame(outputPins, outputPins2);
+ }
+
+ public void testResult() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ OutputPin outputPin = UML.createOutputPin();
+ assertValid(outputPin);
+ valueSpecificationAction.setResult(outputPin);
+ assertSuperset(
+ valueSpecificationAction.getOutputs().contains(outputPin));
+ }
+
+ public void testValue() {
+ ValueSpecificationAction valueSpecificationAction = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ valueSpecificationAction.setValue(literalBoolean);
+ assertSuperset(valueSpecificationAction.getOwnedElements()
+ .contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ valueSpecificationAction.setValue(interval);
+ assertSuperset(
+ valueSpecificationAction.getOwnedElements().contains(interval));
+
+ ValueSpecificationAction valueSpecificationAction2 = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ valueSpecificationAction2.setValue(opaqueExpression);
+ assertSuperset(valueSpecificationAction2.getOwnedElements()
+ .contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ valueSpecificationAction2.setValue(expression);
+ assertSuperset(
+ valueSpecificationAction2.getOwnedElements().contains(expression));
+
+ ValueSpecificationAction valueSpecificationAction3 = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ valueSpecificationAction3.setValue(literalReal);
+ assertSuperset(
+ valueSpecificationAction3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ valueSpecificationAction3.setValue(literalString);
+ assertSuperset(valueSpecificationAction3.getOwnedElements()
+ .contains(literalString));
+
+ ValueSpecificationAction valueSpecificationAction4 = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ valueSpecificationAction4.setValue(literalNull);
+ assertSuperset(
+ valueSpecificationAction4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ valueSpecificationAction4.setValue(duration);
+ assertSuperset(
+ valueSpecificationAction4.getOwnedElements().contains(duration));
+
+ ValueSpecificationAction valueSpecificationAction5 = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ valueSpecificationAction5.setValue(literalInteger);
+ assertSuperset(valueSpecificationAction5.getOwnedElements()
+ .contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ valueSpecificationAction5.setValue(durationInterval);
+ assertSuperset(valueSpecificationAction5.getOwnedElements()
+ .contains(durationInterval));
+
+ ValueSpecificationAction valueSpecificationAction6 = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ valueSpecificationAction6.setValue(stringExpression);
+ assertSuperset(valueSpecificationAction6.getOwnedElements()
+ .contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ valueSpecificationAction6.setValue(literalUnlimitedNatural);
+ assertSuperset(valueSpecificationAction6.getOwnedElements()
+ .contains(literalUnlimitedNatural));
+
+ ValueSpecificationAction valueSpecificationAction7 = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ valueSpecificationAction7.setValue(timeInterval);
+ assertSuperset(valueSpecificationAction7.getOwnedElements()
+ .contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ valueSpecificationAction7.setValue(timeExpression);
+ assertSuperset(valueSpecificationAction7.getOwnedElements()
+ .contains(timeExpression));
+
+ ValueSpecificationAction valueSpecificationAction8 = UML
+ .createValueSpecificationAction();
+ assertValid(valueSpecificationAction8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ valueSpecificationAction8.setValue(instanceValue);
+ assertSuperset(valueSpecificationAction8.getOwnedElements()
+ .contains(instanceValue));
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/VariableTest.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/VariableTest.java
new file mode 100755
index 00000000..0f7b4e90
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/VariableTest.java
@@ -0,0 +1,553 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.ConnectableElementTemplateParameter;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.DurationInterval;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.TimeInterval;
+import org.eclipse.uml2.uml.UseCase;
+import org.eclipse.uml2.uml.Variable;
+
+/**
+ * @author Eike Stepper
+ */
+public class VariableTest
+ extends _Abstract_Compliance_Test_ {
+
+ public void testEAnnotations() {
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+
+ EAnnotation eAnnotation = ECORE.createEAnnotation();
+ assertValid(eAnnotation);
+ variable.getEAnnotations().add(eAnnotation);
+ }
+
+ public void testOwnedComment() {
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+
+ Comment comment = UML.createComment();
+ assertValid(comment);
+ variable.getOwnedComments().add(comment);
+ assertSuperset(variable.getOwnedElements().contains(comment));
+ }
+
+ public void testOwnedElement() {
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ EList<Element> elements = variable.getOwnedElements();
+ EList<Element> elements2 = variable.getOwnedElements();
+ assertSame(elements, elements2);
+ }
+
+ public void testClientDependency() {
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+ EList<Dependency> dependencys = variable.getClientDependencies();
+ EList<Dependency> dependencys2 = variable.getClientDependencies();
+ assertSame(dependencys, dependencys2);
+ }
+
+ public void testNameExpression() {
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ variable.setNameExpression(stringExpression);
+ assertSuperset(variable.getOwnedElements().contains(stringExpression));
+ }
+
+ public void testType() {
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+
+ FunctionBehavior functionBehavior = UML.createFunctionBehavior();
+ assertValid(functionBehavior);
+ variable.setType(functionBehavior);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ variable.setType(activity);
+
+ Variable variable2 = UML.createVariable();
+ assertValid(variable2);
+
+ Interface interface_ = UML.createInterface();
+ assertValid(interface_);
+ variable2.setType(interface_);
+
+ InformationItem informationItem = UML.createInformationItem();
+ assertValid(informationItem);
+ variable2.setType(informationItem);
+
+ Variable variable3 = UML.createVariable();
+ assertValid(variable3);
+
+ CommunicationPath communicationPath = UML.createCommunicationPath();
+ assertValid(communicationPath);
+ variable3.setType(communicationPath);
+
+ ExecutionEnvironment executionEnvironment = UML
+ .createExecutionEnvironment();
+ assertValid(executionEnvironment);
+ variable3.setType(executionEnvironment);
+
+ Variable variable4 = UML.createVariable();
+ assertValid(variable4);
+
+ Component component = UML.createComponent();
+ assertValid(component);
+ variable4.setType(component);
+
+ Interaction interaction = UML.createInteraction();
+ assertValid(interaction);
+ variable4.setType(interaction);
+
+ Variable variable5 = UML.createVariable();
+ assertValid(variable5);
+
+ DeploymentSpecification deploymentSpecification = UML
+ .createDeploymentSpecification();
+ assertValid(deploymentSpecification);
+ variable5.setType(deploymentSpecification);
+
+ OpaqueBehavior opaqueBehavior = UML.createOpaqueBehavior();
+ assertValid(opaqueBehavior);
+ variable5.setType(opaqueBehavior);
+
+ Variable variable6 = UML.createVariable();
+ assertValid(variable6);
+
+ Association association = UML.createAssociation();
+ assertValid(association);
+ variable6.setType(association);
+
+ DataType dataType = UML.createDataType();
+ assertValid(dataType);
+ variable6.setType(dataType);
+
+ Variable variable7 = UML.createVariable();
+ assertValid(variable7);
+
+ Device device = UML.createDevice();
+ assertValid(device);
+ variable7.setType(device);
+
+ Extension extension = UML.createExtension();
+ assertValid(extension);
+ variable7.setType(extension);
+
+ Variable variable8 = UML.createVariable();
+ assertValid(variable8);
+
+ AssociationClass associationClass = UML.createAssociationClass();
+ assertValid(associationClass);
+ variable8.setType(associationClass);
+
+ org.eclipse.uml2.uml.Class class_ = UML.createClass();
+ assertValid(class_);
+ variable8.setType(class_);
+
+ Variable variable9 = UML.createVariable();
+ assertValid(variable9);
+
+ Enumeration enumeration = UML.createEnumeration();
+ assertValid(enumeration);
+ variable9.setType(enumeration);
+
+ PrimitiveType primitiveType = UML.createPrimitiveType();
+ assertValid(primitiveType);
+ variable9.setType(primitiveType);
+
+ Variable variable10 = UML.createVariable();
+ assertValid(variable10);
+
+ Actor actor = UML.createActor();
+ assertValid(actor);
+ variable10.setType(actor);
+
+ ProtocolStateMachine protocolStateMachine = UML
+ .createProtocolStateMachine();
+ assertValid(protocolStateMachine);
+ variable10.setType(protocolStateMachine);
+
+ Variable variable11 = UML.createVariable();
+ assertValid(variable11);
+
+ UseCase useCase = UML.createUseCase();
+ assertValid(useCase);
+ variable11.setType(useCase);
+
+ Signal signal = UML.createSignal();
+ assertValid(signal);
+ variable11.setType(signal);
+
+ Variable variable12 = UML.createVariable();
+ assertValid(variable12);
+
+ Node node = UML.createNode();
+ assertValid(node);
+ variable12.setType(node);
+
+ Stereotype stereotype = UML.createStereotype();
+ assertValid(stereotype);
+ variable12.setType(stereotype);
+
+ Variable variable13 = UML.createVariable();
+ assertValid(variable13);
+
+ StateMachine stateMachine = UML.createStateMachine();
+ assertValid(stateMachine);
+ variable13.setType(stateMachine);
+
+ Artifact artifact = UML.createArtifact();
+ assertValid(artifact);
+ variable13.setType(artifact);
+
+ Variable variable14 = UML.createVariable();
+ assertValid(variable14);
+
+ Collaboration collaboration = UML.createCollaboration();
+ assertValid(collaboration);
+ variable14.setType(collaboration);
+ }
+
+ public void testOwningTemplateParameter() {
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ variable
+ .setOwningTemplateParameter(connectableElementTemplateParameter);
+ assertSuperset(
+ variable.getOwner() == connectableElementTemplateParameter);
+ assertSuperset(variable
+ .getTemplateParameter() == connectableElementTemplateParameter);
+ }
+
+ public void testTemplateParameter() {
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+
+ ConnectableElementTemplateParameter connectableElementTemplateParameter = UML
+ .createConnectableElementTemplateParameter();
+ assertValid(connectableElementTemplateParameter);
+ variable.setTemplateParameter(connectableElementTemplateParameter);
+ }
+
+ public void testLowerValue() {
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ variable.setLowerValue(literalBoolean);
+ assertSuperset(variable.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ variable.setLowerValue(interval);
+ assertSuperset(variable.getOwnedElements().contains(interval));
+
+ Variable variable2 = UML.createVariable();
+ assertValid(variable2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ variable2.setLowerValue(opaqueExpression);
+ assertSuperset(variable2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ variable2.setLowerValue(expression);
+ assertSuperset(variable2.getOwnedElements().contains(expression));
+
+ Variable variable3 = UML.createVariable();
+ assertValid(variable3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ variable3.setLowerValue(literalReal);
+ assertSuperset(variable3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ variable3.setLowerValue(literalString);
+ assertSuperset(variable3.getOwnedElements().contains(literalString));
+
+ Variable variable4 = UML.createVariable();
+ assertValid(variable4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ variable4.setLowerValue(literalNull);
+ assertSuperset(variable4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ variable4.setLowerValue(duration);
+ assertSuperset(variable4.getOwnedElements().contains(duration));
+
+ Variable variable5 = UML.createVariable();
+ assertValid(variable5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ variable5.setLowerValue(literalInteger);
+ assertSuperset(variable5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ variable5.setLowerValue(durationInterval);
+ assertSuperset(variable5.getOwnedElements().contains(durationInterval));
+
+ Variable variable6 = UML.createVariable();
+ assertValid(variable6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ variable6.setLowerValue(stringExpression);
+ assertSuperset(variable6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ variable6.setLowerValue(literalUnlimitedNatural);
+ assertSuperset(
+ variable6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Variable variable7 = UML.createVariable();
+ assertValid(variable7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ variable7.setLowerValue(timeInterval);
+ assertSuperset(variable7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ variable7.setLowerValue(timeExpression);
+ assertSuperset(variable7.getOwnedElements().contains(timeExpression));
+
+ Variable variable8 = UML.createVariable();
+ assertValid(variable8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ variable8.setLowerValue(instanceValue);
+ assertSuperset(variable8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testUpperValue() {
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+
+ LiteralBoolean literalBoolean = UML.createLiteralBoolean();
+ assertValid(literalBoolean);
+ variable.setUpperValue(literalBoolean);
+ assertSuperset(variable.getOwnedElements().contains(literalBoolean));
+
+ Interval interval = UML.createInterval();
+ assertValid(interval);
+ variable.setUpperValue(interval);
+ assertSuperset(variable.getOwnedElements().contains(interval));
+
+ Variable variable2 = UML.createVariable();
+ assertValid(variable2);
+
+ OpaqueExpression opaqueExpression = UML.createOpaqueExpression();
+ assertValid(opaqueExpression);
+ variable2.setUpperValue(opaqueExpression);
+ assertSuperset(variable2.getOwnedElements().contains(opaqueExpression));
+
+ Expression expression = UML.createExpression();
+ assertValid(expression);
+ variable2.setUpperValue(expression);
+ assertSuperset(variable2.getOwnedElements().contains(expression));
+
+ Variable variable3 = UML.createVariable();
+ assertValid(variable3);
+
+ LiteralReal literalReal = UML.createLiteralReal();
+ assertValid(literalReal);
+ variable3.setUpperValue(literalReal);
+ assertSuperset(variable3.getOwnedElements().contains(literalReal));
+
+ LiteralString literalString = UML.createLiteralString();
+ assertValid(literalString);
+ variable3.setUpperValue(literalString);
+ assertSuperset(variable3.getOwnedElements().contains(literalString));
+
+ Variable variable4 = UML.createVariable();
+ assertValid(variable4);
+
+ LiteralNull literalNull = UML.createLiteralNull();
+ assertValid(literalNull);
+ variable4.setUpperValue(literalNull);
+ assertSuperset(variable4.getOwnedElements().contains(literalNull));
+
+ Duration duration = UML.createDuration();
+ assertValid(duration);
+ variable4.setUpperValue(duration);
+ assertSuperset(variable4.getOwnedElements().contains(duration));
+
+ Variable variable5 = UML.createVariable();
+ assertValid(variable5);
+
+ LiteralInteger literalInteger = UML.createLiteralInteger();
+ assertValid(literalInteger);
+ variable5.setUpperValue(literalInteger);
+ assertSuperset(variable5.getOwnedElements().contains(literalInteger));
+
+ DurationInterval durationInterval = UML.createDurationInterval();
+ assertValid(durationInterval);
+ variable5.setUpperValue(durationInterval);
+ assertSuperset(variable5.getOwnedElements().contains(durationInterval));
+
+ Variable variable6 = UML.createVariable();
+ assertValid(variable6);
+
+ StringExpression stringExpression = UML.createStringExpression();
+ assertValid(stringExpression);
+ variable6.setUpperValue(stringExpression);
+ assertSuperset(variable6.getOwnedElements().contains(stringExpression));
+
+ LiteralUnlimitedNatural literalUnlimitedNatural = UML
+ .createLiteralUnlimitedNatural();
+ assertValid(literalUnlimitedNatural);
+ variable6.setUpperValue(literalUnlimitedNatural);
+ assertSuperset(
+ variable6.getOwnedElements().contains(literalUnlimitedNatural));
+
+ Variable variable7 = UML.createVariable();
+ assertValid(variable7);
+
+ TimeInterval timeInterval = UML.createTimeInterval();
+ assertValid(timeInterval);
+ variable7.setUpperValue(timeInterval);
+ assertSuperset(variable7.getOwnedElements().contains(timeInterval));
+
+ TimeExpression timeExpression = UML.createTimeExpression();
+ assertValid(timeExpression);
+ variable7.setUpperValue(timeExpression);
+ assertSuperset(variable7.getOwnedElements().contains(timeExpression));
+
+ Variable variable8 = UML.createVariable();
+ assertValid(variable8);
+
+ InstanceValue instanceValue = UML.createInstanceValue();
+ assertValid(instanceValue);
+ variable8.setUpperValue(instanceValue);
+ assertSuperset(variable8.getOwnedElements().contains(instanceValue));
+ }
+
+ public void testActivityScope() {
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+
+ Activity activity = UML.createActivity();
+ assertValid(activity);
+ variable.setActivityScope(activity);
+ assertSuperset(variable.getNamespace() == activity);
+ }
+
+ public void testScope() {
+ Variable variable = UML.createVariable();
+ assertValid(variable);
+
+ LoopNode loopNode = UML.createLoopNode();
+ assertValid(loopNode);
+ variable.setScope(loopNode);
+ assertSuperset(variable.getNamespace() == loopNode);
+
+ ExpansionRegion expansionRegion = UML.createExpansionRegion();
+ assertValid(expansionRegion);
+ variable.setScope(expansionRegion);
+ assertSuperset(variable.getNamespace() == expansionRegion);
+
+ Variable variable2 = UML.createVariable();
+ assertValid(variable2);
+
+ SequenceNode sequenceNode = UML.createSequenceNode();
+ assertValid(sequenceNode);
+ variable2.setScope(sequenceNode);
+ assertSuperset(variable2.getNamespace() == sequenceNode);
+
+ StructuredActivityNode structuredActivityNode = UML
+ .createStructuredActivityNode();
+ assertValid(structuredActivityNode);
+ variable2.setScope(structuredActivityNode);
+ assertSuperset(variable2.getNamespace() == structuredActivityNode);
+
+ Variable variable3 = UML.createVariable();
+ assertValid(variable3);
+
+ ConditionalNode conditionalNode = UML.createConditionalNode();
+ assertValid(conditionalNode);
+ variable3.setScope(conditionalNode);
+ assertSuperset(variable3.getNamespace() == conditionalNode);
+ }
+
+}
diff --git a/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/_Abstract_Compliance_Test_.java b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/_Abstract_Compliance_Test_.java
new file mode 100755
index 00000000..d8c4c86b
--- /dev/null
+++ b/cdo/tests/uml/org.eclipse.uml2.uml.cdo.tests/src/org/eclipse/uml2/uml/cdo/tests/compliance/_Abstract_Compliance_Test_.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2018 CEA, and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ *
+ */
+package org.eclipse.uml2.uml.cdo.tests.compliance;
+
+import static org.junit.Assume.assumeTrue;
+
+import org.eclipse.emf.cdo.CDOObject;
+import org.eclipse.emf.cdo.ecore.impl.CDOEcoreFactoryImpl;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.impl.EcoreFactoryImpl;
+import org.eclipse.uml2.uml.UMLFactory;
+
+/**
+ * @author Eike Stepper
+ */
+public abstract class _Abstract_Compliance_Test_
+ extends junit.framework.TestCase {
+
+ protected static final boolean PLAIN_EMF = Boolean.getBoolean("PLAIN_EMF");
+
+ protected static final EcoreFactory ECORE = PLAIN_EMF
+ ? new EcoreFactoryImpl()
+ : new CDOEcoreFactoryImpl();
+
+ protected static final UMLFactory UML = PLAIN_EMF
+ ? new org.eclipse.uml2.uml.internal.impl.UMLFactoryImpl()
+ : new org.eclipse.uml2.uml.cdo.internal.impl.UMLFactoryImpl();
+
+ public static void assertValid(Object object) {
+ if (!PLAIN_EMF) {
+ assumeTrue("Not a CDOObject: " + object,
+ object instanceof CDOObject);
+ }
+ }
+
+ public static void assertSubset(boolean condition) {
+ assertTrue("Subset constraint violated", condition);
+ }
+
+ public static void assertSuperset(boolean condition) {
+ assertTrue("Superset constraint violated", condition);
+ }
+}
diff --git a/cdo/tests/uml/pom.xml b/cdo/tests/uml/pom.xml
new file mode 100755
index 00000000..e18046c0
--- /dev/null
+++ b/cdo/tests/uml/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <artifactId>org.eclipse.papyrus.cdo-tests</artifactId>
+ <groupId>org.eclipse.papyrus.cdo</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.papyrus.uml.cdo-tests</artifactId>
+ <packaging>pom</packaging>
+</project>

Back to the top